Vlan für VM's

Discussion in 'Proxmox VE (Deutsch)' started by Krumbelfix, Nov 25, 2018.

  1. Krumbelfix

    Krumbelfix New Member

    Joined:
    Nov 25, 2018
    Messages:
    5
    Likes Received:
    0
    Hallo,
    ich habe die letzten Wochen vergeblich versucht auf einem bestehenden proxmox 5-2.1 Host ein Vlan für die VM's einzurichten.
    Der Host soll dabei keine Adresse aus dem Subnetz (10.13.1.0/24) erhalten.
    Das Setup ist dabei wie folgt:

    Router: EdgeRouter Pro
    Switch: Dell Powerconnect 6248
    Server: Powerconnect R210II mit 2 NICs

    Der Server hat die folgende Netzwerkconfiguration:


    auto lo
    iface lo inet loopback

    iface eno1 inet manual
    iface eno2 inet manual

    auto vmbr0
    iface vmbr0 inet static
    address 10.10.11.10
    netmask 255.255.255.0
    gateway 10.10.11.1
    bridge_ports eno1
    bridge_stp off
    bridge_fd 0

    auto vmbr1
    iface vmbr1 inet static
    address 0.0.0.0
    netmask 255.255.255.0
    bridge_ports eno2
    bridge_stp on
    bridge_fd 0

    eno2 ist am Switch an Port3 angeschlossen.
    Port3 vom Switch ist als "untagged" konfiguriert
    Port46 vom Switch ist ebenfalls als "untagged" konfiguriert

    Der Switchport46 führt zum Routerport7 welcher als TaggedVlan13 konfiguriert ist.

    Wenn ich eine VM erstelle und das VM-NIC auf vmbr1 ins TaggedVlan13 konfiguriere erhalte ich keinen Netzwerkzugriff.


    Der Router hat die Schnittstelle ETH7.13 mit der IP 10.13.1.1/24
    Die VM's sind aber nicht erreichbar - auch wenn ich sie manuell ins gleiche Subnetz schiebe.


    Ich fürchte, dass ich irgendwo einen Denkfehler habe, komme aber nicht drauf, wo.
    Über hilfe würde ich mich sehr freuen
     

    Attached Files:

  2. Stoiko Ivanov

    Stoiko Ivanov Proxmox Staff Member
    Staff Member

    Joined:
    May 2, 2018
    Messages:
    386
    Likes Received:
    32
    Wenn der host keine ip in dem netz haben soll, dann lass die Zeilen address und netmask weg.

    Wenn ich das richtig verstehe schickt der Switch (port 46 untagged), die pakete ohne vlan (13) header an den router, welcher sie aber mit tag erwarten wuerde? - das kann nicht funktionieren. Schon mal versucht den Switchport 46, auf tagged vlan 13 zu stellen?
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  3. Ingo S

    Ingo S Member

    Joined:
    Oct 16, 2016
    Messages:
    39
    Likes Received:
    0
    So würde ich das machen:

    Den Switchport 3 und 46 jeweils auf tagged VLAN 13 konfigurieren, in der VM-config bei der Konfiguration des Netzwerkadapters als VLAN die ID 13 eintragen.

    Wenn du einen Tagged VLAN Adapter für die VM konfigurierst musst du am Switchport einen tagged Port konfigurieren. Genauso in Richtung Router. Alle Schnittstellen die per Kabel miteinander verbunden werden, müssen jeweils gleich sein, entweder untagged Port auf untagged Port, oder tagged auf tagged Port. Bei Schnittstellen die am Gleichen Switch sind übernimmt der Switch das hinzufügen oder entfernen von tags.
     
  4. Krumbelfix

    Krumbelfix New Member

    Joined:
    Nov 25, 2018
    Messages:
    5
    Likes Received:
    0
    ich habe die entsprechenden Zeilen weggelassen. Die Konfig sieht nun so aus:
    auto vmbr1
    iface vmbr1 inet static
    bridge_ports eno2
    bridge_stp on
    bridge_fd 0

    root@node1:~#systemctl status networking
    ● networking.service - Raise network interfaces
    Loaded: loaded (/lib/systemd/system/networking.service; enabled; vendor preset: enabled)
    Active: failed (Result: exit-code) since Tue 2018-11-27 20:57:51 CET; 30s ago
    [...]
    Nov 27 20:57:51 node1 ifup[15889]: ifup: missing required variable: address
    Nov 27 20:57:51 node1 ifup[15889]: ifup: missing required configuration variables for interface vmbr1/inet
    Nov 27 20:57:51 node1 ifup[15889]: ifup: failed to bring up vmbr1
    [...]

    upload_2018-11-27_21-1-30.png

    Das "T" im Feld der entsprechenden Ports steht für Tagged.
    Der Swich ist auf beiden Ports (3 und 46) auf "Admit Tagged Only" bei dem Frame Type eingestellt.
    Die Option "Port VLAN Mode" ist auf "General" gestellt.


    Danke für die Klarstellung. Ich ging bisher davon aus, dass es möglich ist die beiden modi zu mischen, da sie ja bereits "tagged" sind.


    Edit:
    Ich habe die bridge wie folgt konfiguriert:

    auto vmbr1
    iface vmbr1 inet static
    address 0.0.0.0
    netmask 255.255.255.0
    bridge_ports eno2
    bridge_stp off
    bridge_fd 0


    wenn ich nun das Gateway pinge geht das.
    Allerdings wird der ping über das andere interface geroutet. sprich: das VLAN wird nicht genutzt.
    Wenn ich bsp. eine Datei auf dem Router liegt via scp kopiere nimmt er das andere interface.
    Das zeigt der Router mir klar im Webinterface an.
    root@node1:~# scp test.img ubnt@10.13.1.1:/home/ubnt
    ubnt@10.13.1.1's password:
    test.img 8% 45MB 15.8MB/s 00:31 ETA^

    upload_2018-11-27_22-15-20.png
     
    #4 Krumbelfix, Nov 27, 2018
    Last edited: Nov 27, 2018
  5. Ingo S

    Ingo S Member

    Joined:
    Oct 16, 2016
    Messages:
    39
    Likes Received:
    0
    Wenn du keine IP Adresse für das interface festlegen willst, darfst du nicht die option "inet static" verwenden, sondern musst "inet manual" angeben. Dann kommt das Interface zwar up, aber der IP Stack muss dann manuell konfiguriert werden. Das würde dann so aussehen:

    Code:
    iface eno1 inet manual
    #Client Access (active)
    
    auto vmbr1
    iface vmbr1 inet static
            bridge_ports eno1
            bridge_stp off
            bridge_fd 0
            bridge_vlan_aware yes
    #Client Access (Trunk)
    
    Weder die Hardware Interfaces noch die Bridge haben eine Adresse.
    Eine an diese Bridge gebundene VM kann den Router dann erreichen, sofern das Netz VM Intern dann korrekt konfiguriert ist, also das gleiche Subnetz nutzt, oder halt über einen geeigneten Gateway gehen kann.
     
  6. Krumbelfix

    Krumbelfix New Member

    Joined:
    Nov 25, 2018
    Messages:
    5
    Likes Received:
    0

    Servus,
    die Netzwerkkonfig lässt sich wie folgt korrekt übernehmen:

    Code:
    auto vmbr1
    iface vmbr1 inet manual
            bridge_ports eno2
            bridge_stp off
            bridge_fd 0
            bridge_vlan_aware yes
    
    
    allerdings funktioniert es dann immer noch nicht.
    Ich kann mir das folgende Verhalten nur mit einem Fehler in der Router; bzw Switchkonfiguration erklären:

     
  7. Ingo S

    Ingo S Member

    Joined:
    Oct 16, 2016
    Messages:
    39
    Likes Received:
    0
    Dann ist vermutlich das andere Interface auch mit dem Router "verbunden".

    Router und VM müssen im selben Subnetz sein. Sind sie das nicht sendet er den Traffic über das Gateway. So wie es jetzt aussieht hast du einen Fehler in der Routing Tabelle.
    was sagen denn "traceroute 10.13.1.1" und "route" ?

    in der Routing Tabelle müsste ein solcher Eintrag zu finden sein:
    Code:
    Ziel                Router          Genmask           Flags Metric Ref    Use  Iface
    default             {Adr. des GW}   0.0.0.0           UG    0      0      0    eth0
    10.13.1.0           *               255.255.255.0     U     0      0      0    eth0
    
    Die untere Zeile ist der Eintrag für das 10.13.1er Netz in dem deine VM und dein Router über das VLAN 13 kommunizieren sollen. Ohne diesen Eintrag weiß deine VM nicht, das dieses Netz direkt über eine Hardware Schnittstelle zu erreichen ist und sendet den Traffic stattdessen zum Router/GW.
     
  8. Krumbelfix

    Krumbelfix New Member

    Joined:
    Nov 25, 2018
    Messages:
    5
    Likes Received:
    0
    Hallo,
    meine Traceroute sieht wie folgt aus:
    Code:
    root@node1:~# traceroute 10.13.1.1
    traceroute to 10.13.1.1 (10.13.1.1), 30 hops max, 60 byte packets
     1  10.10.15.4 (10.10.15.4)  3062.758 ms !H  3062.740 ms !H  3062.735 ms !H
    
    meine Routingtablle ist folgende:

    Code:
    default via 10.10.11.1 dev vmbr0 onlink
    10.10.11.0/24 dev vmbr0 proto kernel scope link src 10.10.11.10
    10.10.15.0/28 dev bond0 proto kernel scope link src 10.10.15.4
    10.13.1.0/24 dev vmbr1 scope link
    
    um die Routingtabelle so zu haben habe ich meine Netzwerconfig wie folgt verändert:
    Code:
    auto vmbr1
    iface vmbr1 inet manual
            bridge_ports eno2
            bridge_stp off
            bridge_fd 0
            bridge_vlan_aware yes
            up ip route add 10.13.1.0/24 dev vmbr1
    
     
  9. Ingo S

    Ingo S Member

    Joined:
    Oct 16, 2016
    Messages:
    39
    Likes Received:
    0
    Da stimmt irgendwas ganz und gar nicht.
    Normalerweise, wenn ein Netzwerkgerät up geht und eine IP hat, wird für dieses Netz eine Route angelegt, so das der Eintrag in deiner Netzwerkkonfig normalerweilse obsolet sein sollte, weil genau ein solcher Eintrag gesetzt wird.
    Außerdem sagt dein Traceroute nach 10.13.1.1 mit dem "!H" -> keine Route zum Host. Da ist was ganz arg schief.

    Moooooooment. Jetzt hab ichs verstanden...
    Du willst vom PVE-Host zum Router über das 13er VLAN? Du hast doch gar keine IP am Host im 13er VLAN, wie willst du da den Router erreichen, wenn du nicht über das Gateway gehst? Dein Proxmox Hostsystem ist gezwungen über den Gateway 10.10.11.1 zu gehen. Durch dein manuelles Setzen einer Route für das 13er Netz via vmbr1 erzwingst du sämtlichen Traffic für das Netz 10.13.1.0/24 über vmbr1 und damit ins Nirvana weil vmbr1 diesen Traffic gar nicht in das Netz senden kann weil es dort keine IP Adresse besitzt.

    Wenn du jetzt eine VM startest die eine Netzwerkkarte bekommt, die auf vmbr1 mapped, dann kannst du der VM eine Adresse im 13er Netz geben und diese VM kann den Router direkt erreichen. Dein PVE-Host aber nicht, weil dein PVE-Host keine Adresse in dem Netz hat und keine gültige Route für dieses Netz zum Gateway führt.

    Du musst dir überlegen was du willst: Am Anfang schriebst du, dein PVE Host soll auf vmbr1 keine Adresse haben. Ich nahm an, das ist Absicht weil die nicht gebraucht wird, weil lediglich etwaige VMs über vmbr1 im VLAN 13 kommunizieren sollen. Später versuchst du aber vom PVEHost aus deinen Router im 13er Netz zu erreichen. Das KANN nicht funktionieren.

    Also, was genau hast du jetzt denn vor?
     
  10. Krumbelfix

    Krumbelfix New Member

    Joined:
    Nov 25, 2018
    Messages:
    5
    Likes Received:
    0
    da habe ich wohl etwas missverstanden was die Konfiguration angeht.
    Der Host selber benötigt keine Adresse und soll auch im 10.13.1.x netz nicht erreichbar sein.
    Dafür habe ich ein anderes Netz (10.10.11.x)
     
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice