Android

Linux ip Befehl mit Beispielen

Wie verbinde ich zwei lokale Netzwerke? (Routing Teil 01) (Filius)

Wie verbinde ich zwei lokale Netzwerke? (Routing Teil 01) (Filius)

Inhaltsverzeichnis:

Anonim

Der Befehl ip ist ein leistungsstarkes Tool zum Konfigurieren von Netzwerkschnittstellen, die jeder Linux-Systemadministrator kennen sollte. Es kann verwendet werden, um Schnittstellen nach oben oder unten zu bringen, Adressen zuzuweisen und zu entfernen und Routen den ARP-Cache zu verwalten und vieles mehr.

In diesem Tutorial zeigen wir Ihnen ip von praktischen Beispielen und detaillierten Erklärungen der gebräuchlichsten Optionen, wie Sie den Befehl ip .

So verwenden Sie den Befehl ip

Das Dienstprogramm ip ist Teil des iproute2-Pakets, das auf allen modernen Linux-Distributionen installiert ist.

Die Syntax für den Befehl ip lautet wie folgt:

ip OBJECT COMMAND

OBJECT ist der Objekttyp, den Sie verwalten möchten. Die am häufigsten verwendeten Objekte (oder Unterbefehle) sind:

  • link ( l ) - Anzeigen und Ändern von Netzwerkschnittstellen. address ( a ) - Anzeigen und Ändern von IP-Adressen. route ( r ) - Anzeigen und Ändern der Routing-Tabelle. neigh ( n ) - Nachbarobjekte anzeigen und neigh (ARP-Tabelle).

Das Objekt kann vollständig oder abgekürzt (kurz) geschrieben werden. Um eine Liste der Befehle und Argumente für jedes Objekt anzuzeigen, geben Sie ip OBJECT help . jeden Unterbefehl

Bei der Konfiguration von Netzwerkschnittstellen müssen Sie die Befehle als root oder Benutzer mit sudo-Berechtigungen ausführen. Andernfalls gibt der Befehl RTNETLINK answers: Operation not permitted

Die mit dem Befehl ip festgelegten Konfigurationen sind nicht dauerhaft. Nach einem Systemneustart gehen alle Änderungen verloren. Für permanente Einstellungen müssen Sie die distro-spezifischen Konfigurationsdateien bearbeiten oder die Befehle einem Startskript hinzufügen.

Anzeigen und Ändern von IP-Adressen

Wenn Sie mit dem Objekt addr , haben die Befehle die folgende Form:

ip addr ADDRESS dev IFNAME

Die am häufigsten verwendeten BEFEHLE des addr Objekts sind: show , add und del .

Zeigt Informationen zu allen IP-Adressen an

Geben Sie den folgenden Befehl ein, um eine Liste aller Netzwerkschnittstellen und der zugehörigen IP-Adresse anzuzeigen:

ip addr show

Die Ausgabe sieht ungefähr so ​​aus:

1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever 2: eth0: mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 52:54:00:8c:62:44 brd ff:ff:ff:ff:ff:ff inet 192.168.121.241/24 brd 192.168.121.255 scope global dynamic eth0 valid_lft 2900sec preferred_lft 2900sec inet6 fe80::5054:ff:fe8c:6244/64 scope link valid_lft forever preferred_lft forever 1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever 2: eth0: mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 52:54:00:8c:62:44 brd ff:ff:ff:ff:ff:ff inet 192.168.121.241/24 brd 192.168.121.255 scope global dynamic eth0 valid_lft 2900sec preferred_lft 2900sec inet6 fe80::5054:ff:fe8c:6244/64 scope link valid_lft forever preferred_lft forever

1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever 2: eth0: mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 52:54:00:8c:62:44 brd ff:ff:ff:ff:ff:ff inet 192.168.121.241/24 brd 192.168.121.255 scope global dynamic eth0 valid_lft 2900sec preferred_lft 2900sec inet6 fe80::5054:ff:fe8c:6244/64 scope link valid_lft forever preferred_lft forever

Sie erhalten die gleiche Ausgabe, wenn Sie den Befehl show weglassen und ip addr : ip addr .

Anzeigen von Informationen zu einer einzelnen Netzwerkschnittstelle

Um Informationen zu einer bestimmten Netzwerkschnittstelle ip addr show dev , verwenden Sie ip addr show dev gefolgt vom Gerätenamen. Um beispielsweise eth0 abzufragen, geben Sie eth0 :

ip addr show dev eth0

Weisen Sie einer Schnittstelle IP-Adressen zu

Verwenden Sie die folgende Syntax, um einer Schnittstelle eine IP-Adresse zuzuweisen:

ip addr add ADDRESS dev IFNAME

Wobei IFNAME der Schnittstellenname und ADDRESS die IP-Adresse ist, die Sie der Schnittstelle zuweisen möchten.

Um die Adresse 192.168.121.45 mit der Netzmaske 24 zum Gerät eth0 hinzuzufügen, eth0 Sie eth0 :

sudo ip address add 192.168.121.45/24 dev eth0

Bei Erfolg zeigt der Befehl keine Ausgabe an. Wenn die Schnittstelle nicht vorhanden ist, erhalten Sie Cannot find device "eth0" .

Weisen Sie derselben Schnittstelle mehrere IP-Adressen zu

Mit ip können Sie einer Schnittstelle mehrere Adressen zuweisen. Beispielsweise:

sudo ip address add 192.168.121.241/24 dev eth0 sudo ip address add 192.168.121.45/24 dev eth0

Um zu bestätigen, dass die IPs zugewiesen wurden, geben Sie ip -4 addr show dev eth0 oder ip -4 a show dev eth0 :

2: eth0: mtu 1500 qdisc fq_codel state UP group default qlen 1000 inet 192.168.121.241/24 brd 192.168.121.255 scope global dynamic eth0 valid_lft 3515sec preferred_lft 3515sec inet 192.168.121.45/24 scope global secondary eth0 valid_lft forever preferred_lft forever

2: eth0: mtu 1500 qdisc fq_codel state UP group default qlen 1000 inet 192.168.121.241/24 brd 192.168.121.255 scope global dynamic eth0 valid_lft 3515sec preferred_lft 3515sec inet 192.168.121.45/24 scope global secondary eth0 valid_lft forever preferred_lft forever

Entfernen / Löschen einer IP-Adresse von der Schnittstelle

Die Syntax zum Entfernen einer IP-Adresse von einer Schnittstelle lautet wie folgt:

ip addr dev ADDRESS dev IFNAME

IFNAME ist der Name der Schnittstelle und ADDRESS ist die IP-Adresse, die Sie von der Schnittstelle entfernen möchten.

Um die Adresse 192.168.121.45/24 vom Gerät eth0 zu entfernen, geben Sie Folgendes ein:

sudo ip address del 192.168.121.45/24 dev eth0

Anzeigen und Ändern von Netzwerkschnittstellen

Verwenden Sie das link Objekt, um den Status der Netzwerkschnittstellen zu verwalten und anzuzeigen.

Die am häufigsten verwendeten Befehle beim Arbeiten mit den link sind: show , set , add und del .

Informationen zu Netzwerkschnittstellen anzeigen

Geben Sie den folgenden Befehl ein, um eine Liste aller Netzwerkschnittstellen anzuzeigen:

ip link show

1: lo: mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000 link/ether 52:54:00:8c:62:44 brd ff:ff:ff:ff:ff:ff 1: lo: mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000 link/ether 52:54:00:8c:62:44 brd ff:ff:ff:ff:ff:ff

1: lo: mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000 link/ether 52:54:00:8c:62:44 brd ff:ff:ff:ff:ff:ff

Im Gegensatz zu ip addr show gibt ip link show keine Informationen zu den mit dem Gerät ip link show IP-Adressen aus.

Um Informationen zu einer bestimmten Netzwerkschnittstelle abzurufen, verwenden Sie ip link show dev gefolgt vom Gerätenamen. Um beispielsweise eth0 abzufragen, eth0 Sie eth0 :

ip link show dev eth0

2: eth0: mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000 link/ether 52:54:00:8c:62:44 brd ff:ff:ff:ff:ff:ff

2: eth0: mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000 link/ether 52:54:00:8c:62:44 brd ff:ff:ff:ff:ff:ff

Ändern Sie den Status der Schnittstelle UP / DOWN

Um die Schnittstellen zu aktivieren oder zu deaktivieren, verwenden Sie das ip link set dev gefolgt vom Gerätenamen und dem gewünschten Status:

ip link set dev {DEVICE} up

Um beispielsweise die Schnittstelle eth0 online zu eth0 , geben Sie eth0 :

ip link set eth0 up

Und wenn offline zu bringen

ip link set eth0 down

Routing-Tabelle anzeigen und ändern

Verwenden Sie das route Objekt, um die Kernel-Routing-Tabelle zuzuweisen, zu entfernen und anzuzeigen. Die am häufigsten verwendeten Befehle beim Arbeiten mit Routenobjekten sind: list , add und del .

Routing-Tabelle anzeigen

Verwenden Sie einen der folgenden Befehle, um eine Liste der Kernel-Routeneinträge abzurufen:

ip route ip route list ip route list SELECTOR

Bei Verwendung ohne SELECTOR der Befehl alle SELECTOR im Kernel auf:

ip route list

default via 192.168.121.1 dev eth0 proto dhcp src 192.168.121.241 metric 100 192.168.121.0/24 dev eth0 proto kernel scope link src 192.168.121.241 192.168.121.1 dev eth0 proto dhcp scope link src 192.168.121.241 metric 100

Um nur das Routing für ein bestimmtes Netzwerk anzuzeigen, z. B. 172.17.0.0/16 , 172.17.0.0/16 Sie 172.17.0.0/16 :

ip r list 172.17.0.0/16

172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown

Neue Route hinzufügen

Verwenden Sie den Befehl route add gefolgt von einem Netzwerk- oder Gerätenamen, um der Routingtabelle einen neuen Eintrag route add .

Fügen Sie über das Gateway unter 192.168.121.1 eine Route zu 192.168.121.0/24 hinzu

ip route add 192.168.121.0/24 via 192.168.121.1

Fügen Sie eine Route zu 192.168.121.0/24 hinzu, die auf Gerät eth0 erreicht werden kann.

ip route add 192.168.121.0/24 dev eth0

Verwenden Sie das Schlüsselwort default um eine Standardroute hinzuzufügen. Der folgende Befehl fügt eine Standardroute über das lokale Gateway 192.168.121.1 , die auf dem Gerät eth0 erreicht werden eth0 .

ip route add default via 192.168.121.1 dev eth0

Eine Route löschen

Um einen Eintrag aus der Routing-Tabelle zu löschen, verwenden Sie den Befehl route add . Die Syntax zum Löschen einer Route ist dieselbe wie beim Hinzufügen.

Der folgende Befehl löscht die Standardroute:

ip route del default

Löschen Sie eine Route für 192.168.121.0/24 über das Gateway unter 192.168.121.1

ip route add 192.168.121.0/24 via 192.168.121.1

Fazit

Inzwischen sollten Sie ein gutes Verständnis für die Verwendung des Linux-Befehls ip . Weitere Informationen zu den anderen ip Optionen finden Sie auf der Manpage zum Befehl ip oder geben Sie man ip in Ihr Terminal ein.

ip terminal