Я должен преобразовать нашу установку ifupdown, которая использует apt-get vlan and bridge-utils
к Netplan, но не могли получить то же использование установки Netplan. Вот ток /etc/network/interfaces
конфигурация, которая должна быть преобразована:
# The loopback network interface
auto lo
iface lo inet loopback
# Mainframe network interface
auto standard
iface standard inet static
address 172.16.0.6
netmask 255.255.254.0
network 172.16.0.0
broadcast 172.16.1.255
dns-nameservers 10.0.0.244
dns-search example.com
bridge_ports eno1
post-up route add default gw 172.16.0.1
pre-down route del default
# Printers network interface
auto vlan5
iface vlan5 inet manual
address 0.0.0.0
vlan-raw-device eno1
auto printers
iface printers inet manual
address 0.0.0.0
bridge_ports vlan5
# Game network interface
auto vlan4
iface vlan4 inet manual
address 0.0.0.0
vlan-raw-device eno1
auto gaming
iface gaming inet manual
address 0.0.0.0
bridge_ports vlan4
В Ubuntu 18.04 в настоящее время существует ошибка с созданием анонимного (без дюйм/с) мосты в Netplan. Необходимо создать /etc/systemd/network/br{#}.network
файл для каждого моста, например:
[Match]
Name=gaming
[Network]
LinkLocalAddressing=no
IPv6AcceptRA=no
Затем, создают netplan файл, например, /etc/netplan/50-cloud-init.yaml
, содержа следующее:
network:
version: 2
renderer: networkd
ethernets:
eno1:
dhcp4: no
dhcp6: no
bridges:
# standard network
standard:
addresses:
- 172.16.0.6/23
gateway4: 172.16.0.1
routes:
- to: 0.0.0.0/0
via: 172.16.0.1
nameservers:
search: [ example.com ]
addresses:
- 10.0.0.244
interfaces: [ eno1 ]
# gaming network
gaming:
interfaces: [ vlan4 ]
# printers network
printers:
interfaces: [ vlan5 ]
vlans:
vlan4:
id: 4
link: eno1
vlan5:
id: 5
link: eno1
Наконец работает netplan apply
.
Я полагаю, что эта конфигурация соответствует намерению /etc/network/interfaces
файл. Это не соответствует названиям интерфейсов VLAN как показано в снимке экрана; неясно, почему Ваши VLAN называют 'vlan2' и 'vlan3' в снимке экрана, но 'vlan4' и 'vlan5' в e/n/i.
network:
version: 2
renderer: networkd
ethernets:
eno1:
dhcp4: no
bridges:
# standard network
standard:
interfaces: [eno1]
addresses: [172.16.0.6/23]
gateway4: 172.16.0.1
nameservers:
search: [example.com]
addresses: [10.0.0.244]
printers:
interfaces: [vlan5]
gaming:
interfaces: [vlan4]
vlans:
vlan5:
id: 5
link: eno1
vlan4:
id: 4
link: eno1
необходимо перепроверить то, что идентификаторы VLAN находятся в существующих интерфейсах с ip -d link show vlan2 | grep 'vlan protocol'
(и то же для vlan3) и корректируются id
значения выше для соответствия тому, что требуется для каждого интерфейса.