Ubuntu Linux, Bonding und VLANS – Kann ich alle Schnittstellen so konfigurieren, dass sie markiert werden? IE: BOND0-Schnittstelle ohne IP-Adresse aufrufen

Ubuntu Linux, Bonding und VLANS – Kann ich alle Schnittstellen so konfigurieren, dass sie markiert werden? IE: BOND0-Schnittstelle ohne IP-Adresse aufrufen

Ich habe einen Server mit mehreren Adaptern in einem Verbund, bond0.

Ich bin mir (selbst nach ausführlicher Recherche) nicht sicher, wie ich das Bond0-Gerät ohne IP-Adresse zum Laufen bringe. Ich möchte, dass die VLANs Bond0 verwenden, aber keine ungetaggte Schnittstelle auf dem Server haben.

auto eth0
iface eth0 inet manual
        bond-master bond0
auto eth1
iface eth1 inet manual
        bond-master bond0
auto bond0
iface bond0 inet static
        address 192.168.1.100
        netmask 255.255.255.0
        network 192.168.1.0
        bond-slaves none
        bond-miimon 100
        bond-mode 802.3ad
auto vlan50
iface vlan50 inet static
        address 192.168.248.241
        netmask 255.255.255.0
        network 192.168.248.0
        vlan-raw-device bond0

Die obige Konfiguration funktioniert, und zwar einwandfrei, außer dass bond0 eine Adresse hat, die sich nicht auf einem getaggten VLAN befindet.

Der Switch ist korrekt eingerichtet. Das VLAN funktioniert einwandfrei. Der Server ist Mitglied mehrerer VLANs. Die obige Konfiguration ist vereinfacht, da der Rest der Konfiguration nichts mit meinem Problem zu tun hat.

Ja, ich könnte einfach eine Dummy-Adresse in die Bond0-Schnittstelle einfügen, aber das erscheint mir nicht so sauber.

Ich habe Folgendes versucht:

https://wiki.debian.org/NetworkConfiguration#Bringing_up_an_interface_without_an_IP_address

Dies funktionierte jedoch nicht und ließ Bond0 unkonfiguriert, sodass keine Netzwerkkonnektivität bestand.

Betriebssystem: Ubuntu 14.04.2 LTS

Antwort1

Ich würde annehmen, dass so etwas funktionieren sollte:

auto lo
iface lo inet loopback

auto bond0
iface bond0 inet static
   pre-up ifconfig     bond0 up
   pre-up ifenslave    bond0 eth0 || /bin/true
   pre-up ifenslave    bond0 eth1 || /bin/true

   down   ifenslave -d bond0 eth0 || /bin/true
   down   ifenslave -d bond0 eth1 || /bin/true

auto bond0.50
iface bond0.50 inet static
   address 192.168.248.241
   netmask 255.255.255.0
   network 192.168.248.0

Antwort2

Ich kenne die Details der Netzwerkkonfigurationsdateien der letzten Debian-Versionen nicht, aber Sie sollten Ihr Ziel erreichen, wenn Sie die folgenden Schritte ausführen:

  1. Entfernen Sie die IP-Adresse der Basisschnittstelle (bond0) mit dem Befehl "ip addr flush dev bond0"oder"ifconfig bond0 ip 0.0.0.0"
  2. Fügen Sie mit dem Befehl eine iptables-Regel ein, die den gesamten Datenverkehr von der ungetaggten Schnittstelle (bond0) löscht"iptables -I INPUT 1 -i bond0 -j DROP"

Wie dem auch sei, es ist wahrscheinlich einfacher, den Switch so zu konfigurieren, dass der gesamte nicht markierte Datenverkehr von/zu den für die Bündelung verwendeten Netzwerkports gelöscht wird.

verwandte Informationen