Wie füge ich eine Loopback-Schnittstelle hinzu?

24

Ich möchte zwei weitere Loopback-Schnittstellen hinzufügen.

Ich habe den folgenden Befehl verwendet:

ifconfig lo: 127.0.0.2 netmask 255.0.0.0 up

und tippe ein ifconfig, ich kann sehen, dass die Loopback-Adresse hinzugefügt wurde.

Aber wenn ich eine weitere Schnittstelle hinzufügen möchte ... (zum Beispiel 127.0.0.3 ), wurde die vorherige Schnittstelle ( 127.0.0.2 ) überschrieben.

Auch wenn ich reinschaue /etc/network/interfacessehe ich keinen Eintrag.

Wie kann ich mehrere Loopback-Schnittstellen dauerhaft hinzufügen?

Leviathan
quelle

Antworten:

30

Es kommt darauf an, was Sie wollen looder lo:welches ein Schnittstellen-Alias ​​ist.

ifconfig lo:0 127.0.0.2 netmask 255.0.0.0 up
ifconfig lo:1 127.0.0.3 netmask 255.0.0.0 up
ifconfig lo:2 127.0.0.4 netmask 255.0.0.0 up

funktioniert. Wenn Sie mehr IPs loverwenden möchten

route add -host 127.0.0.3 dev lo
route add -host 127.0.0.4 dev lo
route add -host 127.0.0.5 dev lo

funktioniert auch. Wenn Sie es entfernen möchten, verwenden Sie:

route del -host 127.0.0.3
route del -host 127.0.0.4
route del -host 127.0.0.5

Siehe auch IP-Aliasing Linux Networking-HOWTO


quelle
Funktioniert. Vielen Dank! Aber was ist der Unterschied zwischen lound lo:und wie kann man eine Schnittstelle entfernen lo:?
Leviathan
1
noch nie gesehen lo:. Entfernen Sie mitifconfig lo: down
Was ist der Unterschied zwischen ifconfig lo: und route add -host ? Tun sie dasselbe?
Hengxin
1
lo: <foo> ist eine neue Schnittstelle, die lo als Basis verwendet. Sie wird als Alias ​​bezeichnet und kann wie eine normale Schnittstelle betrieben werden: Einrichten, Herunterfahren usw. Es wird eine Trennung zwischen dem Hinzufügen von mehr IPS zu einer Schnittstelle erstellt oder erstellen Sie eine neue Schnittstelle. Dies ist nützlich, wenn Sie nicht möchten, dass Aktionen, die auf eine IP angewendet werden, auch auf die übrigen IPs in einer Benutzeroberfläche angewendet werden
Bruno Pereira,
Verwendete route add -host [dest] dev lo und es verursachte ein wirklich unerwartetes Verhalten. Es funktioniert nicht von alleine, ohne das Interface Alias ​​zu erstellen. Route add funktioniert nicht - nicht sicher, was es tut. Leiten Sie die Pakete dann an das Standard-Gateway weiter, oder was passiert? Holen Sie sich Ping-Timeouts mit Route hinzufügen. Scheint gefährlich zu sein.
John Doe
7

Wenn Sie weiterhin "ifconfig lo ..." verwenden, erstellen Sie keine neue Schnittstelle, sondern überschreiben die vorherige. Sie könnten versuchen, Ihre Interface-Datei zu bearbeiten:

sudo vim /etc/network/interfaces

Meins sieht so aus:

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

Sie können also versuchen, es zu ändern, um neue Schnittstellen zu erstellen:

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
auto lo2
iface lo2 inet loopback
auto lo3

Starten Sie dann das Netzwerk oder das gesamte System neu und versuchen Sie, mit den neuen Schnittstellen mit "sudo ifconfig lo2 / lo3 etc ..." zu interagieren.

animaletdesequia
quelle
Sieht gut aus, danke! Ich würde das gerne unterstützen, aber ich habe zu wenig Ansehen.
Leviathan
Was sind die ips für die neu erstellten lo2 und lo3? By the way, was tun die Zahlen ( interfaces(5), ifup(8), und ifdown(8)) bedeuten? Vielen Dank.
Hengxin
Diese Zahlen beziehen sich auf die Manpages, wissen aber nicht genau, wie sie funktionieren. Die Zeilen werden trotzdem kommentiert. Über die IP müssen Sie sie mit ifconfig oder mit der Adresse 127.0.0.2 usw. unter jeder Schnittstelle einstellen.
animaletdesequia
Wenn Sie neugierig sind, was die Zahlen bedeuten, laufen Sie man man; Die Zahlen geben an, in welchem ​​Abschnitt des Handbuchs sich die einzelnen Manpages befinden. Abschnitt 5 befasst sich beispielsweise mit Dateiformaten und Konventionen, und Abschnitt 8 befasst sich mit Systemverwaltungsbefehlen (die normalerweise nur von root ausgeführt werden sollen).
Parthian Shot
4
Ich denke nicht, dass das tatsächlich funktioniert. Sie können nur ein "lo" -Gerät pro Namespace gemäß driver / net / loopback.c haben. Das "Dummy" -Gerät kann alles, was Sie brauchen, tun. "Sudo ip link add name loop1 type dummy"
mcr
3

Um mehrere Loopback-Schnittstellen dauerhaft hinzuzufügen, muss eine zusätzliche Prüfung auf Dummy-Treiber durchgeführt werden.

Der Dummy-Treiber wird zum
Erstellen mehrerer Loopback-Geräte verwendet, anstatt mehrere Aliase für ein Gerät mit einer unterschiedlichen IP-Adresse zu erstellen.

Diese Zeilen fügen einen weiteren Loopback mit dem Namen hinzu loop1, loop2, loop3:

sudo ip link add name loop1 type dummy
sudo ip link add name loop2 type dummy
sudo ip link add name loop3 type dummy

Bitte überprüfen Sie, ob das dummyKernelmodul geladen ist, bevor Sie den obigen Befehl ausführen:

sudo lsmod | grep dummy
Adam Ł.
quelle
Hallo und willkommen bei Ask Ubuntu! Können Sie bitte Ihre Antwort bearbeiten , um weitere Informationen darüber zu erhalten, wie dieser Befehl das OP-Problem löst? Bitte sehen wie man Antwort für zusätzliche Tipps.
Kaz Wolfe
Dies fügt eine Dummy-Schnittstelle hinzu, die ähnlich funktioniert, aber keine Flags lohat
sjas
Kaz Wolfe - bearbeiten - lösen. Fürs Erste ist es die gute Lösung, ein unabhängiges Gerät zu haben.
Adam £.