3 Minuten Lesezeit (697 Worte)

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 showifconfigNetzwerk 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.

Junior Consultant bei ORDIX.

 

Kommentare

Derzeit gibt es keine Kommentare. Schreibe den ersten Kommentar!
Freitag, 26. April 2024

Sicherheitscode (Captcha)

×
Informiert bleiben!

Bei Updates im Blog, informieren wir per E-Mail.

Weitere Artikel in der Kategorie