Szerettem volna az alábbi hálózati beállításokat beállítani Ubuntu 18.04 (bionic) rendszeren Open vSwitch híd és portok használatával.
Az uplink az eth0-ra kötött trunk port.
VLAN Tagged Interface IP trunk eth0 100 no vlan100 192.168.100.3 200 yes vlan200 192.168.200.4
Netplan az alapértelmezett eszköz Ubuntu 18.04-en (bionic) a hálózat beállításához.
Azonban a Netplan nem állítja be az Open vSwitch hidakat és portokat, mint ahogyan az ifupdown megteszi.
Alapvetően a következő lehetőségek vannak:
A hagyományos út az ifupdown telepítése az IP beállításokhoz és esetleg a resolvconf telepítése a DNS beállításokhoz.
A csomagok telepítése.
apt-get install ifupdown openvswitch-switch resolvconf
Az /etc/network/interfaces szerkesztése.
auto br0 allow-ovs br0 iface br0 inet manual ovs_type OVSBridge ovs_ports eth0 vlan100 vlan200 dns-nameservers 192.168.100.10 dns-search example.com allow-br0 eth0 iface eth0 inet manual ovs_bridge br0 ovs_type OVSPort ovs_options vlan_mode=native-untagged tag=100 allow-br0 vlan100 iface vlan100 inet static address 192.168.100.3 netmask 255.255.255.0 gateway 192.168.100.1 ovs_type OVSIntPort ovs_bridge br0 ovs_options tag=100 allow-br0 vlan200 iface vlan200 inet static address 192.168.200.4 netmask 255.255.255.0 ovs_type OVSIntPort ovs_bridge br0 ovs_options tag=200
Megjegyzés: Ahogy a README.Debian for openvswitch-switch említi, és az Ubuntu bug #1448254 leírja (javasolt kerülőmegoldás) az auto br0 ne kerüljön beállításra az /etc/network/interfaces állományban, habár nálam működött bionic rendszeren.
A Netplan nem kezeli az Open vSwitch-et.
Az IP beállítások előtt be kell állítani az Open vSwitch-et.
Nagyon könnyű kezelni Ansible-el a Netplan-t, mert a hálózati beállítások inventory group és host változókban, YAML formátumban tárolhatók el.
Az Open vSwitch telepítése.
apt-get install openvswitch-switch
Az Open vSwitch beállítása.
ovs-vsctl add-br br0 ovs-vsctl add-port br0 eth0 ovs-vsctl set port eth0 tag=100 vlan_mode=native-untagged ovs-vsctl add-port br0 vlan100 tag=100 -- set interface vlan100 type=internal ovs-vsctl add-port br0 vlan200 tag=200 -- set interface vlan200 type=internal
A Netplan beállítások létrehozása.
network: version: 2 renderer: networkd ethernets: vlan100: dhcp4: no addresses: - 192.168.100.3/24 gateway4: 192.168.100.1 nameservers: search: [example.com] addresses: [192.168.100.10] vlan200: dhcp4: no addresses: - 192.168.200.4/24
A beállítások alkalmazása.
sudo netplan generate sudo netplan apply
A systemd-networkd nem kezeli az Open vSwitch-et.
Az IP beállítások előtt be kell állítani az Open vSwitch-et.
Az Open vSwitch-et a Netplan részben leírtaknak megfelelően kell telepíteni és beállítani.
/etc/systemd/network/10-eth0.network:
[Match] Name=eth0
/etc/systemd/network/10-vlan100.network:
[Match] Name=vlan1 [Network] Address=192.168.100.3/24 Gateway=192.168.100.1 DNS=192.168.100.10
/etc/systemd/network/10-vlan200.network:
[Match] Name=vlan11 [Network] Address=192.168.200.4/24
A systemd-networkd újraindítása.
sudo systemctl restart systemd-networkd