Ich habe die Schnittstelle eth0 auf meinem Computer definiert und den damit verbundenen Alias eth0: 1
# ifconfig
eth0 Link encap:Ethernet HWaddr X:5D:X:3F:X:89
inet addr:X.X.0.156 Bcast:0.0.0.0 Mask:X.X.X.X
inet6 addr: X::9a5d:X:fe3f:X/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:677 errors:0 dropped:0 overruns:0 frame:0
TX packets:180 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:56767 (55.4 KiB) TX bytes:16019 (15.6 KiB)
Interrupt:175
eth0:1 Link encap:Ethernet HWaddr X:5D:X:3F:X:89
inet addr:X.X.0.181 Bcast:0.0.0.0 Mask:X.X.X.X
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:175
aber wenn ich mit dem folgenden Befehl nur einen Alias deaktivieren möchte, wird auch eth0 gelöscht.
/sbin/ifdown eth0:1
Warum passiert das?
Wenn es hingegen versucht, einen Alias mit einem Befehl zu deaktivieren, funktioniert es und entfernt sich selbst:
ifconfig eth0:1 down
Aber wenn ich den Alias wieder wiederherstelle, ist meine Situation wie folgt
# /sbin/ifup eth0:1
ifup: interface eth0:1 already configured
# /sbin/ifdown eth0:1
# /sbin/ifup eth0:1
# ifconfig
eth0 Link encap:Ethernet HWaddr X:5D:X:3F:X:89
inet6 addr: X::9a5d:X:fe3f:X/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1321 errors:0 dropped:0 overruns:0 frame:0
TX packets:235 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:111766 (109.1 KiB) TX bytes:20421 (19.9 KiB)
Interrupt:175
eth0:1 Link encap:Ethernet HWaddr X:5D:X:3F:X:89
inet addr:X.X.0.181 Bcast:0.0.0.0 Mask:X.X.X.X
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:175
Eth0 verliert seine IP-Adresse und Einstellungen. Was kann dazu führen, dass ich den Alias nicht einzeln löschen und festlegen kann?
In der Datei /etc/network/interfaces sind eth0 und eth0:1 definiert
# cat /etc/network/interfaces
auto eth0
iface eth0 inet static
address X.X.0.156
netmask X.X.X.X
gateway X.X.0.1
auto eth0:1
iface eth0:1 inet static
address X.X.0.181
netmask X.X.X.X
Antwort1
Angenommen, Ihre Subnetzmasken sind gleich:
Zumindest Linux-Kernel 4.19 hat einen Fehler in Bezug auf Ihre Beobachtung. Wenn Sie einer Schnittstelle zwei IP-Adressen im selben Subnetz hinzufügen und die erste löschen, werden beide gelöscht:
ifconfig eth0 1.1.1.1/24
ifconfig eth0:2 1.1.1.2/24
ifconfig eth0 0
Bedenken Sie jedoch, dass es sich immer noch um eine Fehlkonfiguration handelt, wenn zwei IP-Adressen desselben Subnetzes auf einer Schnittstelle vorhanden sind. Es werden zwar beide IP-Adressen abgehört, aber die Antwort-IP-Adresse ist nicht angegeben. Verwenden Sie diese Konfiguration nur vorübergehend. Der Linux-Kernel 5.10 löscht in dieser Situation die korrekte IP-Adresse.