Proxmox VLAN "érdekesség"

Fórumok

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

Szerkesztve: 2021. 03. 05., p – 08:24

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

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:

=======Node2============

auto eno33np0
iface eno33np0 inet manual

auto eno34np1
iface eno34np1 inet manual 

auto bond0
iface bond0 inet manual
# LACP bond
        bond-slaves eno33np0 eno34np1
        bond-miimon 100
        bond-mode 802.3ad
        bond-xmit-hash-policy layer3+4

auto vmbr0
iface vmbr0 inet manual
# vlan-aware main bridge
        bridge-ports bond0
        bridge-stp off
        bridge-fd 0
        bridge-vlan-aware yes
        bridge-vids 2-4094

auto vmbr0.206
iface vmbr0.206 inet static
# ring0 network
        address 192.168.206.102/24

auto vmbr0.207
iface vmbr0.207 inet static
#ring 1 network
        address 192.168.207.102/24

auto vmbr0.221
iface vmbr0.221 inet static
# mgmt network
        address 192.168.221.102/24
        gateway 192.168.221.9

=============================

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.

=======Node2============

auto eno33np0
iface eno33np0 inet manual

auto eno34np1
iface eno34np1 inet manual 

auto bond0
iface bond0 inet manual
# LACP bond
        bond-slaves eno33np0 eno34np1
        bond-miimon 100
        bond-mode 802.3ad
        bond-xmit-hash-policy layer3+4

auto bond0.17
iface bond0.17 inet manual

auto bond0.206
iface bond0.206 inet static
# ring 0 network
        address 192.168.206.102/24

auto bond0.207
iface bond0.206 inet static
# ring 1 network
        address 192.168.207.102/24

auto bond0.221
iface bond0.221 inet manual

auto vmbr17
iface vmbr17 inet manual
# internal network
        bridge-ports bond0.17
        bridge-stp off
        bridge-fd 0

auto vmbr221
iface vmbr221 inet static
# mgmt network
        bridge-ports bond0.221
        bridge-stp off
        bridge-fd 0
        address 192.168.221.102/24
        gateway 192.168.221.9

=============================

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).