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(oderl) - Netzwerkschnittstellen anzeigen und verwaltenaddress(odera) - IP-Adressen anzeigen und ändernroute(oderr) - Routing-Tabelle anzeigen und bearbeitenneigh(odern) - 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.