web-dev-qa-db-de.com

Mehrere IP-Adressen mit verbundenen Schnittstellen

Ich habe einen Server mit zwei Ethernet-Ports und habe sie mit der folgenden Konfiguration in /etc/network/interfaces verbunden:

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
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.0.300
gateway 192.168.0.1
netmask 255.255.255.0
dns-nameservers 8.8.8.8 8.8.4.4
bond-mode balance-rr
bond-miimon 100
bond-slaves eth0 eth1

Derzeit werden alle Verbindungen über bond0 geleitet. Ich benötige eine andere Schnittstelle wie bond1, die mit einer separaten IP-Adresse wie 192.168.0.301 arbeiten kann.

Ich weiß, dass ich, um dies nur mit der Schnittstelle eth0 zu erreichen, Folgendes anhängen muss:

auto eth0:0
iface eth0:0 inet static
(and so on)

aber wie gehe ich mit einer Netzwerkbindung vor? Etwas in der Art von bond0:0 und bond0:1 vielleicht? Oder bond0 und bond1, aber insgesamt 4 Netzwerkschnittstellen erstellen, z. B .: eth0:0eth1:0 und eth0:1 und eth1:1 und diese als die jeweiligen Slaves für die beiden separaten Bindungen verwenden? Ein bisschen verwirrend, aber jede Hilfe wäre dankbar!

6
Michael Morrow

Da ich dieses Problem selbst hatte und es nirgendwo Informationen dazu gibt, ist hier die "richtige" Lösung für die Datei/etc/network/interfaces:

auto bond0
iface bond0 inet static
    address 192.168.0.5
    netmask 255.255.255.0
    gateway 192.168.0.1
    bond-mode 802.3ad
    bond-miimon 100
    bond-updelay 200
    bond-downdelay 200
    bond-lacp-rate 1
    bond-slaves eth0 eth1

auto bond0:1
iface bond0:1 inet static
    address 192.168.10.160
    netmask 255.255.255.0

Es funktioniert fast genauso wie bei regulären Schnittstellen wie eth0, aber Sie dürfen die Bond-Konfiguration nicht wiederholen - das sollte nur in der bond0-Konfiguration sein. Sie können dann so viele zusätzliche IP-Adressen wie nötig hinzufügen, wie beispielsweise bond0: 2, bond0: 3 usw.

Wenn Sie auch IPv6-Adressen hinzufügen möchten, ist dies wieder ein bisschen anders, da Sie dies hinzufügen müssen (als Beispiel):

iface bond0 inet6 static
    address 2eee:354:3a3::745
    netmask 64
    gateway 2eee:354:3a3::1

IPv6 benötigt kein bond0: 1 oder ähnliche Workarounds - verwenden Sie einfach bond0 für jede Adresse. Es verwendet die Bindungseinstellungen von der IPv4-Adresse wie eine zweite IPv4-Adresse. Und Sie müssen den Gateway-Teil nicht für zusätzliche IPv6-Adressen wiederholen, sondern verwenden address und netmask für die zweite IPv6-Adresse.

Nachdem Sie die Interface-Datei geändert haben, sollten Sie die folgenden Befehle ausführen, um das Netzwerk neu zu starten und diese Änderungen zu laden:

ip address flush eth0
ip address flush eth1
systemctl restart networking

Dadurch werden alle IP-Adressen von eth0 und eth1 entfernt und das Netzwerk mit der neuen Konfiguration neu gestartet. Stellen Sie sicher, dass Sie lokal am Computer angemeldet sind, da Sie das Netzwerk vor dem Neustart vollständig deaktivieren müssen, damit alle Verbindungen verloren gehen.

2
iquito

Ich verwende ein Setup, das Sie wollen, aber auf CentOS. Ich glaube, Sie können herausfinden, wie man es in Ubuntu Config übersetzt, wenn ich Ihnen nur zeige, wie es in CentOS funktioniert. Mein Setup sieht so aus:

ifcfg-eth4

DEVICE=eth4
BOOTPROTO=none
HWADDR=00:0F:FE:E4:A4:CF
ONBOOT=yes
HOTPLUG=no
SLAVE=yes
MASTER=bond2

ifcfg-bond2

DEVICE=bond2
BOOTPROTO=none
IPADDR=192.168.20.1
NETMASK=255.255.0.0
ONBOOT=yes
TYPE=bonding
MASTER=yes
BONDING_OPTS="miimon=100 mode=1" 

ifcfg-Bindung2: 1

DEVICE=bond2:1
BOOTPROTO=none
IPADDR=192.168.41.1
NETMASK=255.255.0.0
ONBOOT=yes
TYPE=bonding
MASTER=yes
BONDING_OPTS="miimon=100 mode=1" 

Also würde ich es in deinem Fall so versuchen:

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
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.0.300
gateway 192.168.0.1
netmask 255.255.255.0
dns-nameservers 8.8.8.8 8.8.4.4
bond-mode balance-rr
bond-miimon 100
bond-slaves eth0 eth1

auto bond0:1
iface bond0 inet static
address 192.168.1.300
gateway 192.168.1.1
netmask 255.255.255.0
dns-nameservers 8.8.8.8 8.8.4.4
bond-mode balance-rr
bond-miimon 100
bond-slaves eth0 eth1

Versuch es.

0
nobody