Portál AbcLinuxu, 18. prosince 2025 07:46
V blogpostu Jak skamarádit openvswitch a systemd jsem uvedl ukázkový příklad konfigurace virtuálního portu switche se zapojeným síťovým rozhraním eth0. Tento zápis rozšiřuje téma o volby nezbytné pro správné nastavení VLAN.
Na síťové rozhraní eth0 je přiveden trunk, ze kterého se na portech bridge využijí pouze vybrané vlan - 5, 19 a 212.
Pro předání volby "trunks" se seznamem vybraných vlan na portu se použije parametr ovs_options
Tímto parametrem lze nastavovat také příslušné tagy u jednotlivých portů. Stejnojmenný interní port bridge main na kterém má viset IP adresa stroje se automaticky přidá ihned po založení bridge. Proto je třeba pro nastavení tagu příslušné vlan, využít parametru ovs_extra, který provede nastavení tagu příslušného portu ihned po jeho zavedení.
root@stroj:~# cat /etc/network/interfaces
allow-ovs main
iface main inet static
address 10.0.0.214
gateway 255.255.255.0
netmask 255.255.255.0
ovs_type OVSBridge
ovs_ports eth0
ovs_extra set port ${IFACE} tag=5
allow-main eth0
iface eth0 inet manual
ovs_bridge main
ovs_type OVSPort
ovs_options trunks=5,19,212
Pozor! Pokud máte nastaveno více bridgů pro různá rozhraní, dávejte zvýšený pozor na správné nastavení závislostí portů a bridgů v konfiguraci. Obzvláště pokud modifikujete stejnou konfiguraci na více strojích.
A nyní již lze přikročit k vlastnímu nahození síťového rozhraní main s IP adresou 10.0.0.214
root@stroj:~# ovs-vsctl show
67279f1f-42c7-4f32-91aa-0946e7e8ee48
ovs_version: "2.3.0"
root@stroj:~# ifup main
root@stroj:~# ovs-vsctl show
67279f1f-42c7-4f32-91aa-0946e7e8ee48
Bridge main
Port main
tag: 5
Interface main
type: internal
Port "eth0"
trunks: [5, 19, 212]
Interface "eth0"
ovs_version: "2.3.0"
Podobným způsobem lze řešit i nastavení dalších voleb. Pro výpis aktuálních parametrů je k dispozici příkaz ovs-vsctl list, kterému se jako parametr předává klíčové slovo bridge, port nebo interface, případně upřesněné jménem toho co nás zajímá. Viz ukázkový výpis interního portu bridge main z výše uvedeného příkladu:
root@stroj:~# ovs-vsctl list port main
_uuid : 7c1bf44b-4e50-4b2b-a66f-18fc5c69e5e4
bond_downdelay : 0
bond_fake_iface : false
bond_mode : []
bond_updelay : 0
external_ids : {}
fake_bridge : false
interfaces : [18c87c4b-38a0-46bf-871a-8e4ead9b946f]
lacp : []
mac : []
name : main
other_config : {}
qos : []
statistics : {}
status : {}
tag : 5
trunks : []
vlan_mode : []
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.