Der ip-Befehl ist das zentrale Werkzeug zur Netzwerkkonfiguration. Mit ihm verwaltest du Schnittstellen, IP-Adressen, Routen und den ARP-Cache.

Syntax

ip [OPTIONEN] OBJEKT { BEFEHL | help }

Das OBJEKT bestimmt, welchen Bereich du konfigurierst:

  • link (oder l) - Netzwerkschnittstellen anzeigen und verwalten
  • address (oder a) - IP-Adressen anzeigen und ändern
  • route (oder r) - Routing-Tabelle anzeigen und bearbeiten
  • neigh (oder n) - ARP-Tabelle (Nachbarobjekte) verwalten

Objekte kannst du ausschreiben oder abkürzen. Für eine Liste aller Befehle zu einem Objekt gibst du ein:

ip OBJEKT help

Hinweis: Änderungen an der Netzwerkkonfiguration erfordern Root-Rechte. Ohne sudo erhältst du die Meldung RTNETLINK answers: Operation not permitted. Alle mit ip gesetzten Konfigurationen sind temporär und gehen nach einem Neustart verloren.

IP-Adressen anzeigen und verwalten

Alle IP-Adressen anzeigen

ip addr show

Oder kürzer:

ip a

Die Ausgabe zeigt alle Schnittstellen mit ihren Adressen:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
    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: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP
    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

Um nur IPv4- oder IPv6-Adressen anzuzeigen:

ip -4 addr
ip -6 addr

Einzelne Schnittstelle abfragen

ip addr show dev eth0

IP-Adresse zuweisen

sudo ip addr add 192.168.121.45/24 dev eth0

Bei Erfolg erscheint keine Ausgabe. Falls die Schnittstelle nicht existiert, erhältst du Cannot find device "eth0".

Mehrere IP-Adressen zuweisen

Eine Schnittstelle kann mehrere IP-Adressen haben:

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

Überprüfe die Zuweisung mit:

ip -4 addr show dev eth0

IP-Adresse entfernen

sudo ip addr del 192.168.121.45/24 dev eth0

Netzwerkschnittstellen verwalten

Schnittstellen anzeigen

ip link show

Die Ausgabe zeigt die Schnittstellen ohne IP-Adressen:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP
    link/ether 52:54:00:8c:62:44 brd ff:ff:ff:ff:ff:ff

Einzelne Schnittstelle abfragen:

ip link show dev eth0

Schnittstelle aktivieren oder deaktivieren

Schnittstelle aktivieren:

sudo ip link set eth0 up

Schnittstelle deaktivieren:

sudo ip link set eth0 down

Routing-Tabelle verwalten

Routen anzeigen

ip route

Oder ausführlicher:

ip route list

Beispielausgabe:

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

Routen für ein bestimmtes Netzwerk anzeigen:

ip route list 172.17.0.0/16

Route hinzufügen

Route über ein Gateway:

sudo ip route add 192.168.121.0/24 via 192.168.121.1

Route über eine Schnittstelle:

sudo ip route add 192.168.121.0/24 dev eth0

Standard-Route (Default Gateway) setzen:

sudo ip route add default via 192.168.121.1 dev eth0

Route löschen

Standard-Route entfernen:

sudo ip route del default

Bestimmte Route löschen:

sudo ip route del 192.168.121.0/24 via 192.168.121.1

Zusammenfassung

Der ip-Befehl vereint die Funktionen von ifconfig, route und arp in einem Werkzeug. Er gehört zum Paket iproute2, das auf den meisten Systemen vorinstalliert ist. Für weitere Optionen: man ip.

Verwandte Artikel