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:
$ ip address show dev eth1 1: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 08:00:27:66:72:e1 inet 10.1.102.59/24 brd 10.1.102.255 scope global eth1 valid_lft forever preferred_lft forever
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:
$ ip link set dev eth1 address aa:bb:cc:dd:ee:ff
maddress erzeugt und bearbeitet Multicast Adressen.
Ein Beispiel um eine Multicast Adresse für eth1 zu erzeugen:
$ ip maddress add 33:33:00:00:00:01 dev eth1
monitor überwacht die Netzwerkinterfaces und zeigt Änderungen (zum Beispiel ARP Nachrichten) an.
Beispiel:
$ ip monitor 192.168.2.2 dev eth1 lladdr 12:7e:ef:76:10:38 PROBE 192.168.2.2 dev eth1 lladdr 12:7e:ef:76:10:38 REACHABLE
neighbour zeigt und ändert ARP und NDP Tabellen.
Zum Anzeigen der ARP und NDP Tabellen reicht der Befehl:
$ ip neighbour show 192.168.2.1 dev eth1 lladdr 11:4b:ea:84:17:33 REACHABLE 192.168.2.2 dev eth1 lladdr 7a:ff:dd:dc:5e:01 REACHABLE 192.168.2.3 dev eth1 lladdr 34:92:9d:42:a3:88 STALE dd00::2edf:4fcf:deac:2e2a dev eth1 lladdr 7d:ff:5d:ab:2e:6a router STALE de80::2edf:4fcf:deac:2e2a dev eth1 lladdr 7d:ff:5d:ab:2e:6a router STALE
route zeigt, erstellt und ändert IP-Routen.
Der Befehl
$ ip route add default via 192.168.2.1 routet alle Pakete über das Gateway 192.168.2.1. Die Routing Tabelle kann angezeigt werden mit: $ ip route show default via 192.168.2.1 dev eth1 proto dhcp metric 100 192.168.2.0/24 dev eth1 proto kernel scope link src 192.168.2.39 metric 100
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:
$ ip tunnel add IPv6overIPv4 mode sit remote 192.168.1.42
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 | ifconfig | Netzwerk Interfaces mit Statistiken anzeigen |
ip link set up/down eth1 | ifconfig eth1 up/down | Interface eth1 aktivieren/deaktivieren |
ip link set dev eth1 address 08:00:27:b3:31:e7 | ifconfig eth1 hw ether 08:00:27:b3:31:e7 | MAC Adresse ändern |
ip addr show dev eth1 | ifconfig eth1 | IP Adresse vom Interface eth1 anzeigen |
ip addr add 10.0.0.1/24 dev eth1 | ifconfig eth1 10.0.0.1/24 | IP Adresse zuweisen |
ip addr del 10.0.0.1/24 dev eth1 | ifconfig eth1 0 | IP Adresse löschen |
ip route show | route -n | Routing Tabelle anzeigen |
ip route add default via 172.16.32.1 | route add default gw 172.16.32.2 dev eth1 | Standard Gateway setzen |
ip route add 172.16.32.0/24 via 192.168.1.1 dev eth1 | route add -net 172.16.32.0/24 gw 192.168.1.1 dev eth1 | Statische Route hinzufügen |
ip neighbour show | arp -na | ARP 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.
Consultant bei ORDIX.
Bei Updates im Blog, informieren wir per E-Mail.
Kommentare