OVS VLAN zur VM Isolation

JustDanMan

New Member
Sep 5, 2014
18
2
3
Hallo zusammen,

ich habe jetzt schon sehr viel Zeit in das Thema OpenVSwitch gesteckt, aber an einem Punkt komme ich derzeit nicht weiter.
Ich möchte die VMs gegeneinander isolieren, damit ARP-Spoofing etc. nicht mehr möglich ist.
Hier die derzeitige Konfiguration:

Code:
auto lo
iface lo inet loopback

iface lo inet6 loopback

auto eth0
allow-vmbr1 eth0
iface eth0 inet static
        address  10.0.1.36
        netmask  255.255.255.255
        gateway  10.0.1.33
        pointopoint 10.0.1.33
        ovs_type OVSPort
        ovs_bridge vmbr1

iface eth1 inet manual

auto vmbr1
iface vmbr1 inet static
        address  192.168.0.20
        netmask  255.255.255.240
        ovs_type OVSBridge
        ovs_ports eth0
(IP-Adressen sind natürlich öffentliche, habe diese jetzt nur ersetzt.)

eth0 bekommt die Haupt-IP des Servers, hierüber soll Management möglich sein.
Da ein zusätzliches Subnet meines Hosters auf die Haupt-IP geroutet wird, habe ich eine Subnet-IP an vmbr1 vergeben. Die VMs geben diese IP als Gateway an und der Host ist dann gleichzeitig der Router.

Sobald ich die VM nun in ein VLAN stecke, ist keine Kommunikation mehr mit dem Host (192.168.0.20) möglich. Ich dachte eigentlich, dass die Bridge bei OVS als VLAN-Trunk agiert und somit aus allen VLANs verfügbar ist. Wenn ich einen OVSIntPort für das entsprechende VLAN anlege und diesem die 192.168.0.20 gebe, ist eine Kommunikation aus dem VLAN möglich, aber ich müsste pro VM quasi zwei IPs (einmal OVSIntPort und einmal VM) verbrauchen.
Gibt es die Möglichkeit, dass die Bridge oder der OVSIntPort als VLAN-Trunk agiert und somit aus allen VLANs ansprechbar ist?

Viele Grüße
Daniel
 
Hallo,

ich verstehe dein Setup nicht ganz, da du von routing und VLAN redest?
VLan routing hab ich bei noch keinen Hoster gesehen.
Kannst du uns den Hoster nennen den du verwendest?
 
Das war ein Missverständnis, sorry. Der Hoster ist Hetzner. Das zusätzliche Subnetz ist auf die Haupt-IP des Servers (10.0.1.36) geroutet. Somit braucht der Host eine IP aus dem zusätzlichen Subnetz (192.168.0.20), welche für das Subnetz als Gateway fungiert. Nach außen sollen die VLANs natürlich nicht sichtbar sein.
Ich habe noch folgendes probiert:
vmbr1 die IP weggenommen und einen OVSIntPort angelegt. Dieser hat die IP und den vlan_mode=trunk bekommen. Leider kein Erfolg. Sobald ich diesem IntPort ein VLAN gebe, funktioniert es für die VM im gleichen VLAN einwandfrei. Es wäre ja aber quatsch für jedes VLAN (jede VM) einen eigenen IntPort anzulegen, da somit pro VM zwei IPs aus dem Subnetz verbraucht werden. Ich bräuchte quasi nur die Möglichkeit, dass dieser OVSIntPort Mitglied aller VLANs ist. Oder eben einen andere Möglichkeit, dass der Host via. 192.168.0.20 aus allen VLANs heraus ansprechbar ist.

EDIT: Noch zum besseren Verständnis, wie oben bereits erwähnt, handelt es sich bei 10.0.1.36 und 192.168.0.20 um öffentliche IPs, habe diese nur ersetzt.
 
Last edited:
Hi,



was sagt denn ein tcpdump am Client bzw. am Host?



Ich würde jetzt fast vermuten, dass vom Client die Pakete im Header mit dem jeweiligen VLAN beim Host ankommen, der Host evt. sogar darauf reagiert weil Trunk (ist btw. default solange kein Tag angegeben wird), allerdings Untagged, was OVS dann deshalb nicht zum Client durchreicht.

Könnte mir vorstellen, dass du im ARP-Table am Host die MAC des Clients siehst, im ARP-Table am Client aber nicht die MAC vom Host (für die jeweilige IP der Gegenstelle natürlich).



Wenn du dann noch die entsprechenden Parameter beim tcpdump dazunimmst, siehst du vermutlich genau das was ich oben geschildert habe.

(ARP Pakete gehen Untagged vom Client raus, OVS knallt das VLAN dazu, Pakete kommen somit Tagged am Host an, gehen Untagged hinaus, und kommen somit nicht am Client an).



Hatte ein mehr oder weniger ähnliches Problem (allerdings mit einem Switch dazwischen), wo die Pakete am zweiten Host untagged ankamen und somit "verworfen" wurden.

Habe dann am Switch gesagt, er möge die Pakete auch ausgehend wieder taggen - nach etwas recherche scheint es mir, als könnte dir das hier evt. helfen:

vlan_mode=native-tagged



Ist aber nur ein Schuß ins Blaue, kann das selbst leider gerade nicht nachstellen.



LG
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!