22.2    Netzwerkkonfiguration mit »iproute2«

Die meisten Administratoren kennen die klassischen Tools zur Netzwerkkonfiguration (ifconfig, arp und route) und nutzen diese regelmäßig. In vielen Fachbüchern und Artikeln werden diese Tools erwähnt und verwendet. Dabei gibt es schon seit langer Zeit ein neues Toolset, das geschaffen wurde, um die altbekannten Tools abzulösen und die neuen Möglichkeiten im Netzwerkbereich bereitzustellen: iproute2.

Allerdings ist iproute2 gar nicht mal so neu. Es wurde im Zuge des Redesigns des Netzwerksubsystems für Kernel 2.2 entwickelt (zur Drucklegung des Buches war der Kernel 4.18 aktuell). Die Kernkomponenten von iproute2 bilden ip für die IP-Konfiguration und tc für traffic control. Erst durch den Einsatz der Tools von iproute2 können alle Netzwerkfähigkeiten von Linux voll genutzt werden.

[+]  Auch wenn Sie kein exotisches Netzwerk betreiben oder nicht unbedingt alle Funktionen ausreizen wollen, sollten Sie dennoch auf ip umsteigen. Insbesondere das Pendant ifconfig legt nämlich in einigen Situationen ein merkwürdiges Verhalten an den Tag und führt zu unerwünschten und nicht reproduzierbaren Ergebnissen.

Das Toolset iproute2 ist schon lange Bestandteil aller Distributionen und wird in der Regel bei der Installation mit installiert. Das Paket nennt sich entweder iproute oder iproute2. In diesem Abschnitt zeigen wir Ihnen, wie Sie die altbekannten Tools mit den equivalenten Tools von iproute2 ablösen können.

22.2.1    Erste Schritte

Zunächst werden wir die aktuelle Konfiguration des Systems auslesen, um die Unterschiede der Tools darzustellen. Die Kommandos, die wir dafür verwenden, werden später im Detail betrachtet. Das Anzeigen der IP-Adressen erfolgt mit ip address show. Die Ausgabe ist dabei ganz anders als bei ifconfig (siehe Listing 22.1).

root@saturn:~# ip address show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default
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
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state \
UP group default qlen 1000
link/ether 08:00:27:ad:18:c3 brd ff:ff:ff:ff:ff:ff
inet 192.168.0.163/24 brd 192.168.0.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::a00:27ff:fead:18c3/64 scope link
valid_lft forever preferred_lft forever

root@saturn:~# ifconfig
eth0 Link encap:Ethernet Hardware Adresse 08:00:27:ad:18:c3
inet Adresse:192.168.0.163 Bcast:192.168.0.255 Maske:255.255.255.0
inet6-Adresse: fe80::a00:27ff:fead:18c3/64 Gültigkeitsbereich:Verbindung
UP BROADCAST RUNNING MULTICAST MTU:1500 Metrik:1
RX packets:24778 errors:0 dropped:166 overruns:0 frame:0
TX packets:7496 errors:0 dropped:0 overruns:0 carrier:0
Kollisionen:0 Sendewarteschlangenlänge:1000
RX bytes:2765211 (2.6 MiB) TX bytes:1270890 (1.2 MiB)

lo Link encap:Lokale Schleife
inet Adresse:127.0.0.1 Maske:255.0.0.0
inet6-Adresse: ::1/128 Gültigkeitsbereich:Maschine
UP LOOPBACK RUNNING MTU:65536 Metrik:1
RX packets:8 errors:0 dropped:0 overruns:0 frame:0
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
Kollisionen:0 Sendewarteschlangenlänge:0
RX bytes:1053 (1.0 KiB) TX bytes:1053 (1.0 KiB)

Listing 22.1    Übersicht über die IP-Adressen mit »ip« und »ifconfig«

Mit ip können Sie auch Routen auslesen und setzen. Daher dient es auch zur Ablösung von route. Routing-Tabellen werden mit ip route angesprochen (siehe Listing 22.2):

root@saturn:~# ip route show
default via 192.168.0.1 dev eth0
192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.163

Listing 22.2    Übersicht über die Routing-Tabellen mit »ip«

Zum Vergleich haben wir die Ausgabe von route in Listing 22.3 dargestellt:

root@saturn:~# route -n
Kernel-IP-Routentabelle
Ziel Router Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 eth0
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0

Listing 22.3    Übersicht über die Routing-Tabellen mit »route«

Auch das Kommando arp hat einen Nachfolger: ip neighbour. Listing 22.4 zeigt die Ausgabe:

root@saturn:~# ip neighbour show
192.168.0.1 dev eth0 lladdr 20:c9:d0:13:0d:72 STALE
192.168.0.105 dev eth0 FAILED
192.168.0.20 dev eth0 lladdr 20:c9:d0:13:0d:72 DELAY

Listing 22.4    Anzeigen der »arp«-Tabelle mit »ip neighbour«

Auch hier unterscheidet sich die Ausgabe zum Vorgänger arp (siehe Listing 22.5):

root@saturn:~# arp -na
? (192.168.0.1) auf 20:c9:d0:13:0d:72 [ether] auf eth0
? (192.168.0.105) auf <unvollständig> auf eth0
? (192.168.0.20) auf 20:c9:d0:13:0d:72 [ether] auf eth0

Listing 22.5    Anzeigen der »arp«-Tabelle mit »arp«

Im Gegensatz zu ifconfig unterscheidet ip generell zwischen Links und Adressen. Dank dieser Neuerung kann der Zustand der Links auch separat angezeigt werden, wie in Listing 22.6 dargestellt:

root@saturn:~# ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 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 pfifo_fast state\
UNKNOWN qlen 1000
link/ether 00:26:18:81:1d:63 brd ff:ff:ff:ff:ff:ff

Listing 22.6    Übersicht über die »link«-Einträge mit »ip«

Die Ausgaben des alten und des neuen Toolsets unterscheiden sich erheblich voneinander. Auch die Darstellungsform ist sehr gewöhnungsbedürftig und stellenweise etwas unübersichtlich. Nichtsdestotrotz lohnt sich der Umstieg, da einige Informationen von den alten Tools nämlich schlichtweg unterschlagen werden. Dies werden wir in den folgenden Abschnitten näher betrachten.

22.2.2    Die Syntax von »ip«

Die Syntax von ip ist im Gegensatz zu den altbekannten Tools deutlich komplexer, dafür aber auch vereinheitlicht. Das Programm ip erwartet als ersten Parameter immer ein Objekt, mit dem definiert wird, welcher Bereich angesprochen wird. Beispielsweise nutzen Sie ip address zum Konfigurieren von IP-Adressen oder ip route, wenn die Routing-Tabelle manipuliert werden soll.

Je nach Objekt können dann unterschiedliche Kommandos ausgeführt werden. Wird kein Kommando angegeben, so wird einfach show oder list ausgeführt. Dabei ist ip äußerst intelligent. Alle Kommandos lassen sich abkürzen, solange eine Anweisung eindeutig von anderen unterscheidbar ist. Daher führen folgende Kommandos alle zum gleichen Ergebnis (die Ausgabe der IP-Adresskonfiguration):

22.2.3    Links ansehen und manipulieren: »ip link«

Informationen über Links können mit ip link show <DEVICE> ausgegeben werden, so wie es in Listing 22.7 dargestellt ist:

root@saturn:~# ip link show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP\
mode DEFAULT group default qlen 1000
link/ether 08:00:27:8a:a8:9f brd ff:ff:ff:ff:ff:ff

Listing 22.7    Informationen der Netzwerkkarte abrufen mit »ip«

In der ersten Zeile gibt ip die Nummer des Interface 2 aus, gefolgt von dem eindeutigen Namen eth0. Danach folgen diverse Flags, die die Fähigkeiten und den Zustand der Schnittstelle beschreiben. Die wichtigsten Flags sind:

Nach den Flags wird die MTU-Größe angezeigt (mtu <SIZE>), die Maximum Transmission Unit. Sie gibt die maximale Paketgröße auf der Sicherungsschicht an. Bei Ethernet sind das 1.500 Byte. Das Loopback-Interface arbeitet hingegen mit 16.436 Byte, weil es als virtuelles Interface nicht den Beschränkungen von Ethernet unterliegt. Andere Größen für die MTU kommen regelmäßig bei Tunneln vor, da die Pakete dort gekapselt werden. Danach folgt die Angabe der Queuing Discipline (qdisc), gefolgt von deren Algorithmus (pfifo_fast) für das Handling der Pakete und der Queue-Länge (qlen 1000). In der zweiten Zeile stehen Informationen über den Linktyp und linkspezifische Informationen. Bei Ethernet sind das die MAC-Adresse und die Ethernet-Broadcast-Adresse.

Auch zusätzliche Paketstatistiken rund um die Verbindungen können mit ip link angezeigt werden. Verwenden Sie dafür die Option -statistics bzw. -s. Die Option kann mehrfach angegeben werden, um den Detailgrad zu erhöhen (siehe Listing 22.8):

root@saturn:~# ip -s -s link show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP\
mode DEFAULT group default qlen 1000
link/ether 08:00:27:ad:18:c3 brd ff:ff:ff:ff:ff:ff
RX: bytes packets errors dropped overrun mcast
92329 1131 0 28 0 167
RX errors: length crc frame fifo missed
0 0 0 0 0
TX: bytes packets errors dropped carrier collsns
7391 57 0 0 0 0
TX errors: aborted fifo window heartbeat transns
0 0 0 0 2

Listing 22.8    Paketstatistiken

Die Parameter von links werden mit ip link set <DEVICE> geändert. Neben der Aktivierung und Deaktivierung von Schnittstellen können Sie auch Flags, MAC-Adressen oder sogar Devicenamen ändern. Die entsprechenden Befehle wollen wir Ihnen kurz vorstellen.

Interface deaktivieren und aktivieren

root@saturn:~# ip link set eth0 down
root@saturn:~# ip link set eth0 up

Listing 22.9    Aktivieren und Deaktivieren einer Netzwerkkarte

Neue MAC-Adresse setzen

root@saturn:~# ip link set eth0 address 00:26:18:81:1d:65

Listing 22.10    Setzen der MAC-Adresse

Interfacenamen ändern

root@saturn:~# ip link set eth1 name extern
root@saturn:~# ip link show extern
6: extern: <BROADCAST,NOARP> mtu 1500 qdisc noqueue state DOWN
link/ether 08:00:27:05:6d:c4 brd ff:ff:ff:ff:ff:ff

Listing 22.11    Ändern des Interfacenamens

Den Namen von Netzwerkkarten zu ändern kann bei Setups mit vielen Netzwerkkarten durchaus Sinn machen, beispielsweise bei Firewalls, um direkt über den Namen anzugeben, welches Interface wohin führt (intern, extern, dmz, management, heartbeat, vpn ...).

[ ! ]  Deaktivieren Sie vor Änderungen das entsprechende Interface

Ändern Sie Namen von Interfaces nur, wenn das Interface deaktiviert ist. Ansonsten kommen die laufenden Dienste durcheinander, die bereits auf dem Interface gebunden sind! In den aktuellen Versionen wird dies aber direkt von ip unterbunden – Sie bekommen eine entsprechende Fehlermeldung, wenn Sie versuchen, Namen von aktiven Interfaces zu ändern:

root@saturn:~# ip link set eth1 name extern
RTNETLINK answers: Device or resource busy

Effektiver, und vor allem auch bootresistent, ändern Sie die Namen von Interfaces durch das Erstellen einer udev-Regel (siehe Abschnitt 3.3.1, »udev-Regeln«).

22.2.4    IP-Adressen ansehen und manipulieren: »ip address«

Die Ausgabe der aktiven IP-Adresskonfiguration erfolgt, wie bereits erörtert wurde, mittels ip address show. Zusätzlich zum Link, auf dem die IP-Adressen konfiguriert sind, werden auch weitere Informationen ausgegeben. Listing 22.12 zeigt eine typische Ausgabe:

root@saturn:~# ip address show dev eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP \
group default qlen 1000
link/ether 08:00:27:8a:a8:9f brd ff:ff:ff:ff:ff:ff
inet 192.168.0.163/24 brd 192.168.0.255 scope global eth0
inet6 fe80::a00:27ff:fe8a:a89f/64 scope link
valid_lft forever preferred_lft forever

Listing 22.12    Anzeige der IP-Konfiguration

An erster Stelle sehen Sie das genutzte Protokoll. In Listing 22.12 sind das inet und inet6 für ipv4 bzw. ipv6. Danach folgen die IP-Adresse in CIDR-Notation und die Broadcast-Adresse. Bei Punkt-zu-Punkt-Verbindungen wird anstelle der Broadcast-Adresse die IP-Adresse der Gegenseite angezeigt. Mit scope wird der Geltungsbereich angezeigt. Mögliche Werte von scope sind:

Listing 22.13 zeigt, wie Sie die laufende IP-Konfiguration mit ifconfig ändern können:

root@saturn:~# ifconfig eth1:0 192.168.250.1 netmask 255.255.255.0 up
root@saturn:~# ip address show dev eth1
3: eth1: <BROADCAST,NOARP> mtu 1500 qdisc noqueue state DOWN
link/ether 08:00:27:05:6d:c4 brd ff:ff:ff:ff:ff:ff
inet 192.168.200.1/24 brd 192.168.200.255 scope global eth1
inet 192.168.250.1/24 brd 192.168.250.255 scope global eth1:0
inet6 fe80::a00:27ff:fe05:6dc4/64 scope link

Listing 22.13    Konfiguration der Netzwerkkarte mit »ifconfig«

Nur mit ifconfig allein können Sie sich nie sicher sein, ob tatsächlich alle IP-Adressen angezeigt werden. Daher haben wir für Sie ein Beispiel für nicht angezeigte IP-Adressen erstellt. Die zweite IP-Adresse, 192.168.201.1, ist per ifconfig nicht zu sehen, wie es in Listing 22.14 dargestellt ist:

root@saturn:~# ifconfig eth1
eth1 Link encap:Ethernet Hardware Adresse 08:00:27:05:6d:c4
inet Adresse:192.168.200.1 Bcast:192.168.200.255 Maske:255.255.255.0
BROADCAST NOARP MTU:1500 Metrik:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:14 errors:0 dropped:0 overruns:0 carrier:0
Kollisionen:0 Sendewarteschlangenlänge:0
RX bytes:0 (0.0 B) TX bytes:980 (980.0 B)
root@saturn:~# ip address show eth1
3: eth1: <BROADCAST,NOARP> mtu 1500 qdisc noqueue state DOWN
link/ether 08:00:27:05:6d:c4 brd ff:ff:ff:ff:ff:ff
inet 192.168.200.1/24 brd 192.168.200.255 scope global eth1
inet 192.168.201.1/24 brd 192.168.201.255 scope global eth1

Listing 22.14    Vergleich der Anzeige von »ifconfig« und »ip«

[ ! ]  IP-Adressen ohne Label können mit »ifconfig« nicht mehr angezeigt werden

Mit ip konfigurierte IP-Adressen benötigen kein Label – da Label optional sind. Das Programm ifconfig zeigt aber nur Interfaces mit gesetztem Label an. Das allein spricht schon für die Nutzung von ip.

Das Hinzufügen oder Löschen von IP-Adressen erfolgt mit ip address add bzw. ip address delete. Selbstverständlich können Sie auch diese Befehle abkürzen, zum Beispiel zum Hinzufügen mit ip a a und zum Löschen mit ip a d. Die IP-Adresse wird immer in CIDR-Notation angegeben. Lässt man das Suffix weg, so erhält man eine Hostadresse (/32-Adresse).

Leider wird die Broadcast-Adresse nicht automatisch gesetzt und muss mit angegeben werden – was durchaus korrekt ist, da Broadcast nicht zwingend für ein Netz vorausgesetzt ist. Die Angabe einer Broadcast-Adresse geschieht mit broadcast ADDRESS. Wahlweise können Sie statt der ausgeschriebenen Adresse auch + oder – angeben, um einfach alle Hostbits auf 1 oder 0 zu setzen, was die Angabe deutlich vereinfacht.

Zusätzlich muss mit dev <DEVICE> immer angegeben werden, auf welcher Schnittstelle die IP-Adresse gelöscht oder hinzugefügt werden soll. Dort verlässt sich ip nicht auf seine Intelligenz, sondern möchte diese Information von Ihnen als Administrator übergeben bekommen. Listing 22.15 zeigt das Hinzufügen und Löschen mittels ip:

root@saturn:~# ip address add 192.168.99.14/24 broadcast + dev eth1
root@saturn:~# ip address delete 10.10.10.1/24 dev eth1

Listing 22.15    Hinzufügen und Löschen einer IP-Adresse mit »ip«

Zum bequemen Löschen aller IPv4-Adressen eines Interface können Sie den Befehl flush nutzen. Listing 22.16 zeigt, wie Sie alle IPv4-Adressen vom Interface eth1 entfernen können:

root@saturn:~# ip -4 address flush label eth1

Listing 22.16    Löschen aller IPv4-Adressen mit »flush«

Oft werden mehrere Adressen auf ein Interface gebunden, um zum Beispiel einem Server pro Dienst eine IP-Adresse zu spendieren. In diesem Fall gibt es einige Besonderheiten, die Sie beachten müssen.

Wenn mehrere IP-Adressen aus dem gleichen Netz (das heißt mit dem gleichen Netzwerkpräfix) auf ein Interface gebunden werden, so ist die erste IP-Adresse eine primäre und die folgenden Adressen sind die sekundären. In Listing 22.17 werden mehrere IP-Adressen aus dem Subnetz 192.168.200.0/24 dem Interface eth1 zugeordnet, und anschließend wird die Konfiguration mittels ip angezeigt:

root@saturn:~# ip a a 192.168.200.1/24 brd + dev eth1
root@saturn:~# ip a a 192.168.200.2/24 brd + dev eth1
root@saturn:~# ip a a 192.168.200.3/24 brd + dev eth1
root@saturn:~# ip a s eth1
3: eth1: <BROADCAST,NOARP> mtu 1500 qdisc noqueue state DOWN
link/ether 08:00:27:05:6d:c4 brd ff:ff:ff:ff:ff:ff
inet 192.168.200.1/24 brd 192.168.200.255 scope global eth1
inet 192.168.200.2/24 brd 192.168.200.255 scope global secondary eth1
inet 192.168.200.3/24 brd 192.168.200.255 scope global secondary eth1

Listing 22.17    Mehrere IP-Adressen aus einem Subnetz

In diesem Beispiel ist 192.168.200.1 die primäre IP-Adresse. Im Normalfall wird nur diese IP-Adresse für ausgehende Pakete des Netzes 192.168.200.0/24 verwendet. Selbstverständlich werden Antworten auf sekundäre Adressen auch von diesen beantwortet (ansonsten wären inkonsistente Sessions die Folge).

Jede neue IP-Adresse aus einem neuen Netzbereich wird wieder zu einer primären Adresse. Um dies zu verdeutlichen, haben wir in Listing 22.18 zwei weitere IP-Adressen dem Interface eth1 hinzugefügt – diesmal aus dem Subnetz 192.168.250.0/24:

root@saturn:~# ip a a 192.168.250.1/24 brd + dev eth1
root@saturn:~# ip a a 192.168.250.2/24 brd + dev eth1
root@saturn:~# ip a s eth1
3: eth1: <BROADCAST,NOARP> mtu 1500 qdisc noqueue state DOWN
link/ether 08:00:27:05:6d:c4 brd ff:ff:ff:ff:ff:ff
inet 192.168.200.1/24 brd 192.168.200.255 scope global eth1
inet 192.168.250.1/24 brd 192.168.250.255 scope global eth1
inet 192.168.200.2/24 brd 192.168.200.255 scope global secondary eth1
inet 192.168.200.3/24 brd 192.168.200.255 scope global secondary eth1
inet 192.168.250.2/24 brd 192.168.250.255 scope global secondary eth1

Listing 22.18    Zusätzliche primäre IP-Adressen hinzufügen

Dank der Intelligenz von ip wurden diese Aufgaben korrekt umgesetzt. Nun kommen wir zu den angesprochenen Besonderheiten. Wird eine primäre Adresse gelöscht, so werden auch alle dazugehörigen sekundären Adressen gelöscht (siehe Listing 22.19):

root@saturn:~# ip a d 192.168.200.1/24 dev eth1
root@saturn:~# ip a s eth1
3: eth1: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN
link/ether 08:00:27:05:6d:c4 brd ff:ff:ff:ff:ff:ff
inet 192.168.250.1/24 brd 192.168.250.255 scope global eth1
inet 192.168.250.2/24 brd 192.168.250.255 scope global secondary eth1

Listing 22.19    Löschen aller sekundären IP-Adressen

Achten Sie daher beim Entfernen von IP-Adressen sorgfältig darauf, nicht mehr zu entfernen, als Sie eigentlich wollen.

22.2.5    Manipulation von ARP-Einträgen: »ip neighbour«

Mit ip neighbour show (kurz ip n s) lässt sich die ARP-Tabelle so anzeigen, wie es in Listing 22.20 dargestellt ist:

root@saturn:~# ip n s
192.168.0.1 dev eth0 lladdr 20:c9:d0:13:0d:72 REACHABLE
192.168.0.20 dev eth0 lladdr 10:dd:b1:e4:04:f4 DELAY
192.168.0.11 dev eth0 FAILED
192.168.0.38 dev eth0 INCOMPLETE

Listing 22.20    Auflisten der ARP-Tabelle mit »ip«

Wie Sie in Listing 22.20 sehen, zeigt die Ausgabe, welche IP-Adresse über welches Device unter welcher MAC-Adresse erreichbar ist. Die letzte Spalte enthält den Zustand, die sogenannte NUD (Neighbour Unreachability Detection). Mögliche Werte sind dabei:

Um Einträge zu entfernen, verwenden Sie den Befehl ip neighbour delete. Dieser Befehl erwartet sowohl die IP-Adresse als auch das Device als Parameter:

root@saturn:~# ip neighbour delete 192.168.2.1 dev eth0

Listing 22.21    ARP-Einträge löschen

Zum Hinzufügen und Ändern von ARP-Einträgen können Sie ip neighbour add, change und replace verwenden. Teilweise lässt sich auch die NUD manipulieren.

So können Sie zum Beispiel die MAC-Adresse eines Routers aus Sicherheitsgründen festlegen (siehe Listing 22.22):

root@saturn:~# ip neighbour change 192.168.0.1 dev eth0 lladdr \
20:c9:d0:13:0d:72 nud permanent
root@saturn:~# ip neighbour show
192.168.2.1 dev eth0 lladdr 20:c9:d0:13:0d:72 PERMANENT

Listing 22.22    Manipulation der »NUD«

Über den Befehl aus Listing 22.22 wird die MAC-Adresse des Systems mit der IP-Adresse 192.168.0.1 dauerhaft gesetzt. Permanente Einträge können durch das Setzen auf reachable oder stale wieder geändert werden. Anschließend unterliegen diese Einträge wieder dem normalen Timeout.

[+]  Groß- und Kleinschreibung beachten!

Beim Anzeigen der ARP-Tabelle wird die NUD häufig in Großbuchstaben ausgegeben. Beim Anpassen erwartet das Kommando die NUD aber in Kleinbuchstaben!

Auch für ARP-Einträge können Sie Statistiken mit dem Schalter -s abrufen. Die Ausgabe wird dann deutlich umfangreicher:

daniel@saturn:~$ ip -s nei
192.168.0.1 dev eth0 lladdr 20:c9:d0:13:0d:72 ref 1 used 18/18/13 probes 1 REACHABLE
192.168.0.20 dev eth0 lladdr 10:dd:b1:e4:04:f4 ref 1 used 51/0/50 probes 0 REACHABLE
192.168.0.105 dev eth0 lladdr 08:00:27:eb:fb:b3 used 145/145/122 probes 4 STALE
192.168.0.21 dev eth0 used 37/37/34 probes 6 FAILED

Listing 22.23    Statistik zu den Nachbarn

Wie Sie Listing 22.23 entnehmen können, sind nun auch zusätzliche Informationen enthalten, zum Beispiel werden nun Zahlwerte im Format <VALUE>/<VALUE>/<VALUE> zu den Einträgen ausgegeben. Dabei bedeuten die Werte zuletzt benutzte, zuletzt bestätigte und zuletzt aktualisierte ARP-Anfragen.