Wie aktualisiere ich meine Datei / etc / network / interfaces, damit die Box NUR eine selbst zugewiesene IPv6-Adresse enthält?

8

Ich entschuldige mich für diese offensichtliche Neulingsfrage, aber ich möchte dies "auf die richtige Weise" tun und nicht nur herumspielen, bis es zu funktionieren scheint, und die Dokumentation, die ich habe, scheint diesen Fall nicht anzusprechen.

Derzeit enthält eine Debian Linux-Box, mit der ich arbeite, die folgende Datei / etc / network / interfaces:

auto lo
iface lo inet loopback
auto bond0
iface bond0 inet dhcp
pre-up modprobe bonding mode=active-backup miimon=100 primary=eth0
pre-up ip link set bond0 up
pre-up /sbin/ifenslave bond0 eth0
pre-up /sbin/ifenslave bond0 eth1

Das Obige funktioniert einwandfrei und macht meistens das, was ich will - beim Booten wird die Box hochgefahren und die beiden Ethernet-Buchsen werden für Failover / Redundanz verwendet (dh die Box verwendet die erste Buchse für die Kommunikation, wenn sie funktioniert, andernfalls verwendet sie die zweite Buchse).

Für meine Zwecke möchte ich jedoch kein IPv4 oder DHCP verwenden. Ich möchte, dass die Box mit Bond0 NUR die selbst zugewiesene IPv6-Adresse der Box (dh fe80 :: was auch immer: es: ist) und keine anderen IP-Adressen (naja ... Loopback ist in Ordnung) erstellt. Wie kann man das richtig spezifizieren? Sollte ich "iface bond0 inet dhcp" in "iface bond0 inet6" ändern? Diese Linie komplett entfernen? Etwas anderes? Idealerweise möchte ich in der Lage sein, genau dieselbe Datei für mehrere Boxen zu verwenden, ohne sie übrigens für jede zu ändern.

Jeremy Friesner
quelle

Antworten:

5

Ich habe keine Erfahrung mit Ihrem speziellen Bonding-Gerät, aber ich habe den folgenden Test in einer VM auf Debian Lenny mit einer einzelnen Netzwerkkarte ( eth0) ausprobiert . In /etc/network/interfaces:

auto eth0
iface eth0 inet manual
    up /sbin/ifconfig eth0 0.0.0.0

Nach dem Aufrufen eth0bekomme ich Folgendes /sbin/ifconfig eth0:

eth0       Link encap:Ethernet  HWaddr 08:00:27:15:8e:d7
           inet6 addr: fe80::a00:27ff:fe15:8ed7/64 Scope:Link
           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
           ...

Ich habe also eine IPv6-Link-lokale Adresse (abgeleitet von der MAC-Adresse) und keine IPv4-Adresse. Ich ping6kann über die Link-Local-Adresse einen anderen Computer in meinem lokalen Netzwerk erreichen und umgekehrt, sodass die Schnittstelle anscheinend funktioniert.

Um es zusammenzufassen: Versuchen Sie, die ifaceZeile für Ihre bond0Schnittstelle auf Folgendes einzustellen:

iface bond0 inet manual

und fügen Sie diese Zeile am Ende der Konfigurationszeilengruppe hinzu:

up /sbin/ifconfig bond0 0.0.0.0

Ich habe keine Ahnung, ob dies "der richtige Weg" ist, aber es funktioniert für meinen vereinfachten Fall.

Steven Montag
quelle
Danke, das scheint den Trick getan zu haben (ich habe natürlich eth0 durch bond0 ersetzt). :) Es scheint, dass die Zeile "up / sbin / ifconfig bond0 0.0.0.0" nicht erforderlich ist (ich scheine das gewünschte Ergebnis ohne sie zu erhalten). Gibt es einen subtilen Grund dafür? Was bedeutet es überhaupt, eine Schnittstelle auf eine ungültige Adresse 0.0.0.0 zu bringen?
Jeremy Friesner
Ich bin froh, dass das für dich funktioniert hat. Sie haben diese up ... 0.0.0.0Zeile wahrscheinlich nicht benötigt, da Ihre Konfigurationszeilengruppe für bond0bereits nicht leer war. In meinem Test musste ich etwas nach der ifaceZeile setzen, da es sonst ifup eth0stillschweigend nicht zur Sprache kommen würde eth0. Das Festlegen der IPv4-Adresse auf 0.0.0.0 entspricht im Wesentlichen dem Entfernen der Adresse, was in diesem Fall der gewünschte Effekt ist.
Steven Montag,
4

Sie möchten Ihre Bond-Konfiguration wirklich nicht von Hand durchführen. Verwenden Sie stattdessen die verfügbaren Bonding-spezifischen Konfigurationsparameter:

iface bond0 inet6 manual
    slaves eth0 eth1
    bond_mode active_backup
    bond_miimon 100
    bond_primary eth0

Das manualin der ifaceZeile bedeutet, dass keine explizite Konfiguration der IP / IPv6-Attribute der Schnittstelle konfiguriert wird.

womble
quelle