Hi!
3 node-s Proxmox 6.3-4, a VLAN-okkal gyűlt meg a bajom, pontosabban 1 VLAN-al. Lássuk a felállást:
VLAN221 (management):
- node1: 192.168.221.101
- node2: 192.168.221.102
- node3: 192.168.221.103
VLAN206 VLAN207 (ring0, ring1)
- node1: 192.168.206.101 192.168.207.101
- node1: 192.168.206.102 192.168.207.102
- node1: 192.168.206.103 192.168.207.103
VLAN17 belső hálózati címek.
Egy VM-ben lévő debian 2 hálózati interfacet kap, ebből az elsőt szerettem volna a VLAN221-be betenni, de sajnos meg sem mozdul.
Lássunk magának a Node2-nek a konfigját:
=======Node2============
auto eno33np0
iface eno33np0 inet manual
auto eno34np1
iface eno34np1 inet manual
auto bond0
iface bond0 inet manual
bond-slaves eno33np0 eno34np1
bond-miimon 100
bond-mode 802.3ad
bond-xmit-hash-policy layer3+4
auto vmbr0
iface vmbr0 inet manual
bridge-ports bond0
bridge-stp off
bridge-fd 0
bridge-vlan-aware yes
bridge-vids 2-4094
auto vmbr0.17
iface vmbr0.17 inet manual
auto vmbr0.221
iface vmbr0.221 inet manual
auto vlan221
iface vlan221 inet static
address 192.168.221.102/24
gateway 192.168.221.9
vlan-raw-device bond0
=============================
A "Tesztmasina" VM network beállításai:
=================================
Network device (net0) virtio:3E:D1:E1E8:DB:E9,bridge=vmbr0,tag=221
Network device (net1) virtio:......
===================================
Magában a Tesztmasina VM--ben az ens18-as interface minden VLAN nélkül, "sima" hálózati interface-nak van felkonfigolva, az IP-je pedig 192.168.221.33.
Az inteface feljön, de nem pingelhető egyik node, de még az átjáró sem, de ezt a gépet sem lehet pingetni.
Amennyiben a VM "Network device (net0)" résznél átteszem a VLAN-t a "tag=17"-be és a VM-ben belül is ebbe a tartományba helyezem az IP-t (192.168.17.33) akkor viszont minden szépen megy, látja a VLAN17 átjáróját!!
Próbáltam, hogy a VM "Network device (net0)" résznél nem tettem rá VLAN tag-et, de a VM-ben ens18.221-ként húztam fel az interfacet (tehát a VM-en belül tettem rá a VLAN tag-et), de az sem segített.
A tűzfal - ahol csak találtam - ki lett kapcsolva.
Esetleg valakinek valami tippje, hogy a VM-be miért nem sikerül a VLAN221-ből forgalmazni, mit nézek el?
Előre is köszönöm!
Hozzászólások
Tipp: nem zavarja a nevesített "vlan221" -interface? Mert hamár létrehoztad, lehet ezt kéne megadnia MV-nek: "Network device (net0) virtio:3E:D1:E1E8:DB:E9,bridge=vlan221"
Ráadásul ha azt az adott VLAN-on akarod használni, akkor nem jó a config mert nem derül ki belőle a vlan:
auto vlan221
iface vlan221 inet static
address 192.168.221.102/24
gateway 192.168.221.9
vlan-raw-device bond0
Megnéztem a saját configomat ott nevesített VLAN interface így van definiálva:
auto vmbr0
iface vmbr0 inet manual
bridge-ports bond1
bridge-stp off
bridge-fd 0
bridge-vlan-aware yes
bridge-vids 2-4094
auto vmbr10
iface vmbr10 inet manual
bridge-ports vmbr0.10
bridge-stp off
bridge-fd 0
Hát, ez sem egy szép megoldás, eléggé áttétesen (több virtuális csatolón) át jut ki így a VM a fizikai hálózatra. Ha vlan-aware az egyik bridge, akkor minek egy másik bridge egy adott VLAN-ra szűkítve, az első bridge-re épített VLAN interfészre ültetve?
Gondolom mint sok helyen a megoldás alkalmazva van és nem értve.
Adott VMben így nem lehet felüldefiniálni, a VM configban meg nem lehet véletlen elütni.
1, VM kommunikációnak semmi köze a hoston felhúzott plusz interface-hez. Írásod alapján nem érthető mit minek nevezel
2, a hypervisoron elhelyezett vlan221 device rosszul van konfigurálva. VLAN aware bridge-t használsz, a vlan-raw-device <DEVICE> az ilyenkor a bridge. esetedben "vlan-raw-device vmbr0" és hiányzik belőle a vlan megnevezése "vlan-id 221".
3, Network device (net0) virtio:3E:D1:E1E8:DB:E9,bridge=vmbr0,tag=221
Ez jó beállítás, és ha fixálod a host oldali interface-t akkor azt már fogja tudni pingelni (már ha ugyanaz a IP network van rá felhúzva). A probléma nálad a másik oldalon van, remélhetőleg a switchen a team device-t megfelelően konfiguráltad, ugye ilyenkor ez bond remote interfészre kell a filtereket beállítani.
Még egy tanács: ha most kapcsoltad be a vlan-aware bridge módot előtte nem volt, akkor indítsd újra a hypervisort.
(szinte minden itt info fent van a proxmox help doksikban)
Szerintem így sokkal egyszerűbb lenne:
A "Tesztmasina" pedig a vmbr0-ra kapcsolódik, tag=221 megjelöléssel, a másik lába szintén a vmbr0-ra, tag=17 jelöléssel (pl.).
A vmbr0.17 nem is kell a node2 konfigba, ha a node2-nek nincs a VLAN17-ben IP címe.
A vlan221 pedig szintén nem kell, ha a vmbr0 vlan-aware. Nem jó a bond-on direktben, és a bond-ra épített Linux bridge-en keresztül egyaránt VLAN-ozni.
A "vmbrX.nnn" deklarációval meg explicit módon megadjuk a vlan raw device-t és a vlan ID-t is, így nem kell külön kiírni sehová egyiket sem.
A másik lehetőség, hogy a bridge nem vlan-aware, a bond0-ra teszed a VLAN iface-eket és csinálsz annyi vmbr-t a megfelelő vlan if-ekkel, amennnyit szeretnél. Ilyenkor persze sokkal macerásabb új VLAN ID bevezetése, de nem minden egyetlen Linux bridge-n megy át.
Itt a "Tesztmasina" egyik lába a vmbr0-ra kapcsolódik tag nélkül, a másik lába pedig a vmbr17-re kapcsolódik szintén tag nélkül. Itt a ring0 és ring1 forgalom nem megy át semmilyen Linux bridge-en, hanem csak a bond0-ra épített VLAN if-en.
Ezen felül érdekes, hogy az LACP az rendelkezésre állás vagy sávszél. aggregáció miatt került bele. Csak, mert a rendelkezésre állást így nem növeli (hacsak nem valami szuper switch van a túloldalán, ami tud stack-en elosztott LACP-t).
Nagyon szépen köszönöm, ez így már rendben működik.
Az elsőre felvázolt lett végül a "befutó".
A LACP a rendelkezésre állás miatt került be elsősorban, 2db Supermicro SSE-G3648BR-be vannak kötve a masinák, azokon pedig Cumulus fut.
Mégegyszer köszönöm.