Von Jan Husemann auf Dienstag, 22. Oktober 2019
Kategorie: System Integration

IP Linux Kommando

Das ip Kommando aus der Programmsammlung iproute2 dient zur Anpassung der Netzwerkkonfigurationen von Linux Systemen. Es wurde als Ersatz für das bisherige ifconfig aus dem Paket net-tools entwickelt, da dieses veraltet ist und seit mehreren Jahren nicht mehr gewartet wird. Zusätzlich bietet es mehr Möglichkeiten als ifconfig, da es die Funktionen mehrerer Netzwerktools wie zum Beispiel ifconfig, route und arp vereint.

Als Schnittstelle zum Kernel setzt ip auf netlink socket, im Gegensatz zu ifconfig das ioctl benutzt. netlink socket ist flexibler als ioctl und deswegen für diesen Einsatzzweck besser geeignet.

Da ip das veraltete ifconfig ersetzen soll, ist es Bestandteil der meisten aktuellen Linux Distributionen. Andernfalls ist es durch einen Paketmanager oder unter https://kernel.org/pub/linux/utils/net/iproute2 erhältlich. Oft ist ifconfig aus Kompabilitätsgründen parallel zu ip installiert.

Funktion

Der allgemeine Aufruf lautet ip [OPTIONS] OBJECT {COMMAND | help}, dabei können verschiedene Optionen gesetzt werden, wie zum Beispiel -stats um mehr Informationen und Statistiken anzuzeigen oder -4 für IPv4 bzw. -6 für IPv6. COMMAND bezeichnet eine Aktion, die das OBJECT ausführen soll.

Die folgende Auflistung zeigt die wichtigsten Objekte und deren Funktion von ip:

address kann aktuelle IPv4 und IPv6 Adressen und deren Eigenschaften anzeigen, neue hinzufügen und alte entfernen.
Beispielsweise wird die IP Adresse des Interface eth1 durch folgenden Befehl angezeigt:

link kann Einstellungen auf Ethernet-Ebene, zum Beispiel den ARP-Cache oder die MAC Adresse anzeigen und ändern.
Eine neue MAC Adresse wird wie folgt gesetzt:

maddress erzeugt und bearbeitet Multicast Adressen.
Ein Beispiel um eine Multicast Adresse für eth1 zu erzeugen:

monitor überwacht die Netzwerkinterfaces und zeigt Änderungen (zum Beispiel ARP Nachrichten) an.
Beispiel:

neighbour zeigt und ändert ARP und NDP Tabellen.
Zum Anzeigen der ARP und NDP Tabellen reicht der Befehl:

route zeigt, erstellt und ändert IP-Routen.
Der Befehl

tunnel erstellt und bearbeitet Point-to-Point Verbindungen zwischen zwei Knoten. Durch diese Tunnel können verschiedene Pakete geleitet werden. Ein typische Anwendungsfall ist, dass ein Tunnel genutzt wird, um zwei IPv6 Hosts über ein IPv4 Netzwerk zu verbinden (IPv6-over-IPv4).
Folgendes Beispiel erzeugt einen Tunnel mit dem Namen IPv6overIPv4:

Folgende Tabelle stellt äquivalente Befehle von ip und ifconfig gegenüber:

ip ifconfig Beschreibung
ip link show ​ifconfig Netzwerk Interfaces anzeigen
​ip -statistics link show​ifconfigNetzwerk Interfaces mit Statistiken anzeigen
ip link set up/down eth1ifconfig eth1 up/downInterface eth1 aktivieren/deaktivieren
​ip link set dev eth1 address 08:00:27:b3:31:e7ifconfig eth1 hw ether 08:00:27:b3:31:e7MAC Adresse ändern
​ip addr show dev eth1ifconfig eth1IP Adresse vom Interface eth1 anzeigen
​ip addr add 10.0.0.1/24 dev eth1ifconfig eth1 10.0.0.1/24IP Adresse zuweisen
​ip addr del 10.0.0.1/24 dev eth1ifconfig eth1 0IP Adresse löschen
​ip route showroute -nRouting Tabelle anzeigen
​ip route add default via 172.16.32.1route add default gw 172.16.32.2 dev eth1Standard Gateway setzen
​ip route add 172.16.32.0/24 via 192.168.1.1 dev eth1route add -net 172.16.32.0/24 gw 192.168.1.1 dev eth1Statische Route hinzufügen
​ip neighbour showarp -naARP Cache anzeigen

Fazit

ip kann ifconfig komplett ersetzen. Es bietet einen größeren Funktionsumfang und hat eine intuitivere und einheitliche Syntax. Um die Befehle zu verkürzen, können einige Wörter abgekürzt werden. Beispielsweise kann statt neighbour auch neigh oder n verwendet werden.

Kommentare hinterlassen