Zum Inhalt springen

Ip/Befehl/Anwendung: Unterschied zwischen den Versionen

Aus Foxwiki
 
(161 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
{{DISPLAYTITLE:ip/Befehl/Anwendung}}
'''Ip/Befehl/Anwendung'''
=== Beschreibung ===
=== Hilfe ===
<syntaxhighlight lang="bash" highlight="1" line copy>
ip help
</syntaxhighlight>


=== Informationen anzeigen ===
== Link ==
# '''ip a'''
=== Status ===
  1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
; Alle Schnittstellen
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
<syntaxhighlight lang="bash" highlight="1" line copy>
    inet 127.0.0.1/8 scope host lo
ip link
        valid_lft forever preferred_lft forever
</syntaxhighlight>
    inet6 ::1/128 scope host
<syntaxhighlight lang="bash" highlight="" line>
        valid_lft forever preferred_lft forever
  1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
  2: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    link/ether d4:3d:7e:cb:10:46 brd ff:ff:ff:ff:ff:ff
2: irda0: <NOARP> mtu 2048 qdisc noop state DOWN qlen 8
    inet 192.168.1.115/24 brd 192.168.1.255 scope global dynamic noprefixroute enp2s0
    link/irda 00:00:00:00 brd ff:ff:ff:ff
        valid_lft 3561sec preferred_lft 3561sec
  3: wlan0: <BROADCAST,MULTICAST> mtu 1500 qdisc mq state DOWN qlen 1000
    inet6 2001::7213:7947:5dc7:71d0/64 scope global dynamic noprefixroute
    link/ether 00:05:4e:4f:65:e5 brd ff:ff:ff:ff:ff:ff
        valid_lft 86107sec preferred_lft 14107sec
4: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    inet6 fe80::9d6c:75be:55cb:d0fc/64 scope link noprefixroute
</syntaxhighlight>
        valid_lft forever preferred_lft forever


=== IP-Adresse setzen ===
==== ip link show ====
# ip a add {ip_addr/mask} dev {interface}
<syntaxhighlight lang="bash" highlight="1" copy>
To assign 192.168.1.200/255.255.255.0 to eth0, enter:
ip link show
  # ip a add 192.168.1.200/255.255.255.0 dev eth0
</syntaxhighlight>
OR
<syntaxhighlight lang="bash" highlight="" line>
# ip a add 192.168.1.200/24 dev eth0
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 pfifo_fast state UP qlen 1000
    link/ether 08:00:27:66:72:e1 brd ff:ff:ff:ff:ff:ff
</syntaxhighlight>


=== Broadcast-Adresse ändern ===
=== Statistik ===
# ip addr add brd {ADDDRESS-HERE} dev {interface}
; Alle Schnittstellen
# ip addr add broadcast {ADDDRESS-HERE} dev {interface}
<syntaxhighlight lang="bash" highlight="1" copy>
# ip addr add broadcast 172.20.10.255 dev dummy0
ip -s link
</syntaxhighlight>


Fügen Sie der Schnittstelle eth0 die Adresse 192.168.1.50 mit der Netzmaske 255.255.255.0 (/ 24) mit Standardübertragung und der Bezeichnung „eth0Home“ hinzu:
; Statistik der Schnittstelle ''eth0''
  # ip addr add 192.168.1.50/24 brd + dev eth0 label eth0Home
<syntaxhighlight lang="bash" highlight="1" copy>
ip -s link show eth0
</syntaxhighlight>
<syntaxhighlight lang="bash" highlight="" line>
4: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
  link/ether 00:0d:60:b1:16:7f brd ff:ff:ff:ff:ff:ff
RX: bytes  packets  errors  dropped overrun mcast
2631476274 2634102  0      0      0      0     
TX: bytes  packets  errors  dropped carrier collsns
449098710  2363841  0      0      0      0
</syntaxhighlight>


Sie können die Loopback-Adresse für das Loopback-Gerät lo wie folgt einstellen:
==== ip -statistics link show ====
# ip addr add 127.0.0.1/8 dev lo brd + scope host
<syntaxhighlight lang="bash" highlight="1" copy>
ip -statistics link show
</syntaxhighlight>


=== Löschen einer IP-Adresse ===
<syntaxhighlight lang="bash" highlight="" line>
  # ip a del {ipv6_addr_OR_ipv4_addr} dev {interface}
  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
To delete 192.168.1.200/24 from eth0, enter:
    RX: bytes  packets  errors dropped overrun mcast
  # ip a del 192.168.1.200/24 dev eth0
    2073916    4895    0      0      0      0
 
    TX: bytes  packets  errors  dropped carrier collsns
=== Flush einer IP-Adresse ===
    2073916    4895    0      0      0       0
Mit dem folgenden Befehl können Sie alle IP-Adressen aus dem privaten Netzwerk 192.168.2.0/24 löschen:
  2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
# ip -s -s a f to 192.168.2.0/24
    link/ether 08:00:27:66:72:e1 brd ff:ff:ff:ff:ff:ff
  2: eth0   inet 192.168.2.201/24 scope global secondary eth0
    RX: bytes  packets errors  dropped overrun mcast
  2: eth0    inet 192.168.2.200/24 scope global eth0
    1716782262 1369751  0      0      0      0
 
    TX: bytes packets  errors  dropped carrier collsns
  *** Round 1, deleting 2 addresses ***
    308636400 1172428  0      0      0      0
  *** Flush is complete after 1 round ***
</syntaxhighlight>


Sie können die IP-Adresse auf allen ppp-Schnittstellen (Punkt-zu-Punkt) deaktivieren:
=== Start/Stopp ===
# ip -4 addr flush label "ppp*"
; Start/Stopp der Netzwerkkarte
<syntaxhighlight lang="bash" highlight="">
ip link set dev {DEVICE} {up|down}
</syntaxhighlight>


Hier ist ein weiteres Beispiel für alle Ethernet-Schnittstellen:
; Stoppen der Netzwerkkarte
# ip -4 addr flush label "eth*"
<syntaxhighlight lang="bash" highlight="1" copy>
sudo ip link set dev eth1 down
</syntaxhighlight>


=== Start/Stopp der Netzwerkkarte ===
; Starten der Netzwerkkarte
# ip link set dev {DEVICE} {up|down}
<syntaxhighlight lang="bash" highlight="1" copy>
sudo ip link set dev eth1 up
</syntaxhighlight>


Stoppen der Netzwerkkarte
=== Einstellungen ===
# ip link set dev eth1 down
==== [[Txqueuelen]] ändern ====
 
<syntaxhighlight lang="bash" highlight="">
Starten der Netzwerkkarte
ip link set txqueuelen {NUMBER} dev {DEVICE}
# ip link set dev eth1 up
</syntaxhighlight>
 
=== Txqueuelen ändern ===
# ip link set txqueuelen {NUMBER} dev {DEVICE}


; Beispiel
; Beispiel
Standardeinstellung txqueuelen für eth0 von 1000 auf 10000 ändern
Standardeinstellung txqueuelen für eth0 von 1000 auf 10000 ändern
# ip link set txqueuelen 10000 dev eth0
<syntaxhighlight lang="bash" highlight="1" line copy>
# ip a list eth0
sudo ip link set txqueuelen 10000 dev eth0
</syntaxhighlight>
<syntaxhighlight lang="bash" highlight="1" line copy>
sudo ip a list eth0
</syntaxhighlight>


=== MTU ändern ===
==== MTU ändern ====
Für Gigabit-Netzwerke können Sie die maximale Größe der Übertragungseinheiten (MTU) festlegen:
Für Gigabit-Netzwerke können Sie die maximale Größe der Übertragungseinheiten (MTU) festlegen:
# ip link set mtu {NUMBER} dev {DEVICE}
<syntaxhighlight lang="bash" highlight="1" line>
sudo ip link set mtu {NUMBER} dev {DEVICE}
</syntaxhighlight>


Geben Sie Folgendes ein, um die MTU des Geräts eth0 auf 9000 zu ändern:
Geben Sie Folgendes ein, um die MTU des Geräts eth0 auf 9000 zu ändern:
# ip link set mtu 9000 dev eth0
<syntaxhighlight lang="bash" highlight="1" line copy>
# ip a list eth0
sudo ip link set mtu 9000 dev eth0
</syntaxhighlight>
 
<syntaxhighlight lang="bash" highlight="1" line copy>
sudo ip a list eth0
</syntaxhighlight>
 
<syntaxhighlight lang="bash" highlight="" line>
  2: eth0:  mtu 9000 qdisc pfifo_fast state UP qlen 1000
  2: eth0:  mtu 9000 qdisc pfifo_fast state UP qlen 1000
     link/ether 00:08:9b:c4:30:30 brd ff:ff:ff:ff:ff:ff
     link/ether 00:08:9b:c4:30:30 brd ff:ff:ff:ff:ff:ff
Zeile 86: Zeile 125:
     inet6 fe80::208:9bff:fec4:3030/64 scope link
     inet6 fe80::208:9bff:fec4:3030/64 scope link
         valid_lft forever preferred_lft forever
         valid_lft forever preferred_lft forever
</syntaxhighlight>


=== Neighbour cache anzeigen ===
== Address ==
# ip n show
=== IP-Adresse einer Schnittstelle ===
# ip neigh show
; IP-Adresse der Schnittstelle eth0
74.xx.yy.zz dev eth1 lladdr 00:30:48:yy:zz:ww REACHABLE
<syntaxhighlight lang="bash" highlight="1" line copy>
10.10.29.66 dev eth0 lladdr 00:30:48:c6:0a:d8 REACHABLE
ip addr show eth0
74.ww.yyy.xxx dev eth1 lladdr 00:1a:30:yy:zz:ww REACHABLE
</syntaxhighlight>
10.10.29.68 dev eth0 lladdr 00:30:48:33:bc:32 REACHABLE
<syntaxhighlight lang="bash" highlight="" line >
74.fff.uu.cc dev eth1 lladdr 00:30:48:yy:zz:ww STALE
  4: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
74.rr.ww.fff dev eth1 lladdr 00:30:48:yy:zz:ww DELAY
link/ether 00:0d:60:b1:16:7f brd ff:ff:ff:ff:ff:ff
10.10.29.65 dev eth0 lladdr 00:1a:30:38:a8:00 REACHABLE
  inet 192.168.178.68/24 brd 192.168.178.255 scope global eth0
10.10.29.74 dev eth0 lladdr 00:30:48:8e:31:ac REACHABLE
</syntaxhighlight>
 
# STALE – Der Nachbar ist gültig, aber wahrscheinlich schon nicht erreichbar.
# DELAY – Ein Paket wurde an den veralteten Nachbarn gesendet und der Kernel wartet auf Bestätigung.
# REACHABLE – Der Nachbar ist gültig und anscheinend erreichbar.
 
=== Statische Neighbour-Einträge ===
# ip neigh add {IP-HERE} lladdr {MAC/LLADDRESS} dev {DEVICE} nud {STATE}
 
Fügen Sie einen permanenten ARP-Eintrag für den Nachbarn 192.168.1.5 auf dem Gerät eth0 hinzu:
# ip neigh add 192.168.1.5 lladdr 00:1a:30:38:a8:00 dev eth0 nud perm
 
{| class="wikitable"
|+
|-
! neighbour state (nud) !! Bedeutung
|-
| permanent || Der Nachbareintrag ist für immer gültig und kann nur administrativ entfernt werden
|-
| noarp || Der Nachbareintrag ist gültig.
* Es werden keine Versuche unternommen, diesen Eintrag zu validieren.
* Er kann jedoch nach Ablauf seiner Lebensdauer entfernt werden
|-
| stale || Der Nachbareintrag ist gültig, aber verdächtig.
* Diese Option zum IP-Nachbarn ändert den Nachbarstatus nicht, wenn er gültig war und die Adresse durch diesen Befehl nicht geändert wird
|-
| reachable || Der Nachbareintrag ist gültig, bis das Erreichbarkeitszeitlimit abgelaufen ist
|}
 
=== Löschen Sie einen ARP-Eintrag ===
# ip neigh del {IPAddress} dev {DEVICE}
# ip neigh del 192.168.1.5 dev eth1
 
Änderungen sind Status für den Nachbarn 192.168.1.100 auf dem Gerät eth1 erreichbar
# ip neigh chg 192.168.1.100 dev eth1 nud reachable
 
=== Flush ARP entry ===
# ip -s -s n f {IPAddress}
 
flush neighbour/arp table:
# ip -s -s n f 192.168.1.5
oder
# ip -s -s n flush 192.168.1.5
 
=== ip help ===
$ ip help
Usage: ip [ OPTIONS ] OBJECT { COMMAND | help }
        ip [ -force ] -batch filename
where  OBJECT := { link | addr | addrlabel | route | rule | neigh | ntable |
                    tunnel | tuntap | maddr | mroute | mrule | monitor | xfrm |
                    netns }
        OPTIONS := { -V[ersion] | -s[tatistics] | -d[etails] | -r[esolve] |
                    -f[amily] { inet | inet6 | ipx | dnet | link } |
                    -l[oops] { maximum-addr-flush-attempts } |
                    -o[neline] | -t[imestamp] | -b[atch] [filename] |
                    -rc[vbuf] [size]}
 
=== ip link show ===
$ ip link show
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 pfifo_fast state UP qlen 1000
    link/ether 08:00:27:66:72:e1 brd ff:ff:ff:ff:ff:ff
 
=== ip -statistics link show ===
  $ ip link show
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
    RX: bytes  packets  errors  dropped overrun mcast
    2073916    4895    0      0      0      0
    TX: bytes  packets  errors  dropped carrier collsns
    2073916    4895    0      0      0      0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 08:00:27:66:72:e1 brd ff:ff:ff:ff:ff:ff
    RX: bytes  packets  errors  dropped overrun mcast
    1716782262 1369751  0      0      0      0
    TX: bytes  packets  errors  dropped carrier collsns
    308636400  1172428  0      0      0      0


=== ip addr show ===
=== ip addr show ===
$ ip addr show
<syntaxhighlight lang="bash" highlight="1" line copy>
ip addr show
</syntaxhighlight>
<syntaxhighlight lang="bash" highlight="" line>
  1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
  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
     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
Zeile 190: Zeile 156:
     inet6 fe80::a00:27ff:fe66:72e1/64 scope link
     inet6 fe80::a00:27ff:fe66:72e1/64 scope link
         valid_lft forever preferred_lft forever
         valid_lft forever preferred_lft forever
</syntaxhighlight>


=== ip addr add IP/NETMASK dev DEVICE ===
=== ip addr add IP/NETMASK dev DEVICE ===
$ sudo ip addr add 10.1.102.60/24 dev eth0
<syntaxhighlight lang="bash" highlight="1" line copy>
$ ip a
sudo ip addr add 10.1.102.60/24 dev eth0
</syntaxhighlight>
<syntaxhighlight lang="bash" highlight="1" line copy>
ip a
</syntaxhighlight>
 
<syntaxhighlight lang="bash" highlight="" line>
  1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
  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
     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
Zeile 208: Zeile 181:
     inet6 fe80::a00:27ff:fe66:72e1/64 scope link
     inet6 fe80::a00:27ff:fe66:72e1/64 scope link
         valid_lft forever preferred_lft forever
         valid_lft forever preferred_lft forever
</syntaxhighlight>


=== ip addr del IP/NETMASK dev DEVICE ===
=== ip addr del IP/NETMASK dev DEVICE ===
$ sudo ip addr del 10.1.102.60/24 dev eth0
<syntaxhighlight lang="bash" highlight="1" line copy>
$ ip a
sudo ip addr del 10.1.102.60/24 dev eth0
</syntaxhighlight>
<syntaxhighlight lang="bash" highlight="1" line copy>
ip a
</syntaxhighlight>
<syntaxhighlight lang="bash" highlight="" line>
  1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
  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
     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
Zeile 224: Zeile 203:
     inet6 fe80::a00:27ff:fe15:175e/64 scope link
     inet6 fe80::a00:27ff:fe15:175e/64 scope link
         valid_lft forever preferred_lft forever
         valid_lft forever preferred_lft forever
</syntaxhighlight>


=== ip addr flush dev DEVICE ===
=== ip addr flush dev DEVICE ===
$ sudo ip addr flush dev eth0
<syntaxhighlight lang="bash" highlight="1" line copy>
$ ip a
sudo ip addr flush dev eth0
</syntaxhighlight>
<syntaxhighlight lang="bash" highlight="1" line copy>
ip a
</syntaxhighlight>
<syntaxhighlight lang="bash" highlight="" line>
  1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
  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
     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
Zeile 236: Zeile 221:
  2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
  2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
     link/ether 08:00:27:15:17:5e brd ff:ff:ff:ff:ff:ff
     link/ether 08:00:27:15:17:5e brd ff:ff:ff:ff:ff:ff
</syntaxhighlight>
== Neighbour ==
=== Neighbour cache anzeigen ===
<syntaxhighlight lang="bash" highlight="1" copy>
ip neigh show
</syntaxhighlight>
<syntaxhighlight lang="bash" highlight="" line>
74.xx.yy.zz dev eth1 lladdr 00:30:48:yy:zz:ww REACHABLE
10.10.29.66 dev eth0 lladdr 00:30:48:c6:0a:d8 REACHABLE
74.ww.yyy.xxx dev eth1 lladdr 00:1a:30:yy:zz:ww REACHABLE
10.10.29.68 dev eth0 lladdr 00:30:48:33:bc:32 REACHABLE
74.fff.uu.cc dev eth1 lladdr 00:30:48:yy:zz:ww STALE
74.rr.ww.fff dev eth1 lladdr 00:30:48:yy:zz:ww DELAY
10.10.29.65 dev eth0 lladdr 00:1a:30:38:a8:00 REACHABLE
10.10.29.74 dev eth0 lladdr 00:30:48:8e:31:ac REACHABLE
</syntaxhighlight>
{| class="wikitable options big"
|-
! Status !! Beschreibung
|-
| STALE || Der Nachbar ist gültig, aber wahrscheinlich schon nicht erreichbar
|-
| DELAY|| Ein Paket wurde an den veralteten Nachbarn gesendet und der Kernel wartet auf Bestätigung
|-
| REACHABLE || Der Nachbar ist gültig und anscheinend erreichbar
|}
=== Statische Neighbour-Einträge ===
<syntaxhighlight lang="bash" highlight="">
ip neigh add {IP-HERE} lladdr {MAC/LLADDRESS} dev {DEVICE} nud {STATE}
</syntaxhighlight>
Fügen Sie einen permanenten ARP-Eintrag für den Nachbarn 192.168.1.5 auf dem Gerät eth0 hinzu:
<syntaxhighlight lang="bash" highlight="1" line copy>
sudo ip neigh add 192.168.1.5 lladdr 00:1a:30:38:a8:00 dev eth0 nud perm
</syntaxhighlight>
{| class="wikitable options big"
|+
|-
! neighbour state (nud) !! Bedeutung
|-
| permanent || Der Nachbareintrag ist für immer gültig und kann nur administrativ entfernt werden
|-
| noarp || Der Nachbareintrag ist gültig
* Es werden keine Versuche unternommen, diesen Eintrag zu validieren
* Er kann jedoch nach Ablauf seiner Lebensdauer entfernt werden
|-
| stale || Der Nachbareintrag ist gültig, aber verdächtig
* Diese Option zum IP-Nachbarn ändert den Nachbarstatus nicht, wenn er gültig war und die Adresse durch diesen Befehl nicht geändert wird
|-
| reachable || Der Nachbareintrag ist gültig, bis das Erreichbarkeitszeitlimit abgelaufen ist
|}


=== Löschen eines ARP-Eintrags ===
<syntaxhighlight lang="bash" highlight="0">
sudo ip neigh del {IPAddress} dev {DEVICE}
</syntaxhighlight>
<syntaxhighlight lang="bash" highlight="1" line copy>
sudo ip neigh del 192.168.1.5 dev eth1
</syntaxhighlight>
Änderungen sind Status für den Nachbarn 192.168.1.100 auf dem Gerät eth1 erreichbar
<syntaxhighlight lang="bash" highlight="1" line copy>
sudo ip neigh chg 192.168.1.100 dev eth1 nud reachable
</syntaxhighlight>
==== Flush ARP entry ====
<syntaxhighlight lang="bash" highlight="1" line>
ip -s -s n f {IPAddress}
</syntaxhighlight>
flush neighbour/arp table:
<syntaxhighlight lang="bash" highlight="1" line copy>
sudo ip -s -s n f 192.168.1.5
</syntaxhighlight>
oder
<syntaxhighlight lang="bash" highlight="1" line copy>
sudo ip -s -s n flush 192.168.1.5
</syntaxhighlight>
=== Lebensdauer ===
Die Lebensdauer (der sogenannte '''Timeout''' oder '''Age''') von ARP-Einträgen im Linux-Kernel ist dynamisch und hängt von der Aktivität der Verbindung ab, beträgt standardmäßig jedoch oft nur wenige Minuten.
; Warum so kurz?
Die kurze Lebensdauer unter Linux sorgt dafür, dass bei Änderungen im Netzwerk (z.B. wenn ein anderer Server dieselbe IP übernimmt, sogenannter Failover) die MAC-Adresse schnell aktualisiert wird und die Kommunikation nicht lange unterbrochen ist.
==== Standard-Lebensdauer (Timeout) ====
* '''Standardwert:''' Die meisten Linux-Systeme entfernen ungenutzte ARP-Einträge nach relativ kurzer Zeit aus dem Cache, oft nach '''60 Sekunden'''.
* '''Dynamisches Verhalten:''' Wenn ein ARP-Eintrag aktiv genutzt wird (Daten werden an diese IP gesendet), wird der Timer für diesen Eintrag in der Regel zurückgesetzt.
* '''Stale Time:''' Ein Eintrag gilt oft nach einer gewissen Zeit als "veraltet" (stale) und wird dann vom System überprüft, bevor er endgültig gelöscht wird.
==== Wert überprüfen und ändern ====
Sie können die aktuelle Zeitspanne, bis ein Eintrag als "stale" (veraltet) gilt, im Proc-Dateisystem überprüfen.
* '''Wert anzeigen (in Sekunden):'''<br/>cat /proc/sys/net/ipv4/neigh/default/gc_stale_time<br/>''Typische Ausgabe: ''<tt>60</tt>
* '''Wert temporär ändern (z.B. auf 120 Sekunden):'''<br/>echo 120 > /proc/sys/net/ipv4/neigh/default/gc_stale_time
* '''Wert permanent ändern:''' Bearbeiten Sie die Datei <tt>/etc/sysctl.conf</tt> und fügen Sie folgende Zeile hinzu:<br/>net.ipv4.neigh.default.gc_stale_time = 120
==== Statische ARP-Einträge ====
Wenn Sie einen ARP-Eintrag manuell mit <tt>arp -s</tt> oder <tt>ip neigh add</tt> erstellen, hat dieser '''keine Lebensdauer''' (er läuft nicht ab). Er bleibt bestehen, bis er manuell gelöscht wird oder der Rechner neu startet.
=== 4. ARP-Cache anzeigen/löschen ===
* '''Anzeigen:''' <tt>ip neighbor show</tt> oder <tt>arp -an</tt>
* '''Löschen (Flush):''' <tt>ip -s -s neigh flush all</tt> (nützlich bei IP-Umzügen)
== Route ==
=== ip route show ===
=== ip route show ===
$ ip route show
<syntaxhighlight lang="bash" highlight="1" line copy>
ip route show
</syntaxhighlight>
<syntaxhighlight lang="bash" highlight="" line>
  default via 10.1.102.1 dev eth0  metric 100
  default via 10.1.102.1 dev eth0  metric 100
  10.1.102.0/24 dev eth0  proto kernel  scope link  src 10.1.102.59
  10.1.102.0/24 dev eth0  proto kernel  scope link  src 10.1.102.59
</syntaxhighlight>


=== ip route add default via IP ===
=== Standard-Gateway ===
  $ sudo ip route add d via 10.1.102.1
; Standard-Gateway anzeigen
<syntaxhighlight lang="bash" highlight="1" copy>
ip route show | grep default
</syntaxhighlight>
<syntaxhighlight lang="bash" highlight="" >
  default via 192.168.178.1 dev eth0
</syntaxhighlight>


=== ip neigh show ===
; Standard-Gateway hinzufügen
$ ip neigh show
IPv4
10.1.102.101 dev eth0 lladdr f0:de:f1:f3:17:88 REACHABLE
<syntaxhighlight lang="bash" highlight="1" line copy>
10.1.102.1 dev eth0 lladdr 00:0c:42:97:79:63 REACHABLE
sudo ip route add default via 10.1.102.1 dev eth0
</syntaxhighlight>


=== Status aller Schnittstellen ===
IPv6
$ ip link
<syntaxhighlight lang="bash" highlight="1" line copy>
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
sudo ip route add default via fe80::1 dev eth0
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
</syntaxhighlight>
2: irda0: <NOARP> mtu 2048 qdisc noop state DOWN qlen 8
 
link/irda 00:00:00:00 brd ff:ff:ff:ff
<noinclude>
3: wlan0: <BROADCAST,MULTICAST> mtu 1500 qdisc mq state DOWN qlen 1000
 
link/ether 00:05:4e:4f:65:e5 brd ff:ff:ff:ff:ff:ff
== Anhang ==
4: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
=== Siehe auch ===
<div style="column-count:2">
<categorytree hideroot=on mode="pages">iproute2/ip</categorytree>
</div>
----
{{Special:PrefixIndex/{{BASEPAGENAME}}/}}
 
=== Dokumentation ===
<!--
; Man-Page
# [https://manpages.debian.org/stable/procps/pgrep.1.de.html prep(1)]


=== Statistik aller Schnittstellen ===
; Info-Pages
$ ip -s link
-->
wie ifconfig


=== Statistik der Schnittstelle eth0 anzeigen ===
=== Links ===
$ ip -s link show eth0
==== Projekt ====
4: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
==== Weblinks ====
link/ether 00:0d:60:b1:16:7f brd ff:ff:ff:ff:ff:ff
# https://www.cyberciti.biz/faq/linux-ip-command-examples-usage-syntax/
RX: bytes  packets  errors  dropped overrun mcast
2631476274 2634102  0      0      0      0     
TX: bytes  packets  errors  dropped carrier collsns
449098710  2363841  0      0      0      0


=== IP-Adresse einer Schnittstell ===
[[Kategorie:iproute2/ip]]
; IP-Adresse der Schnittstelle eth0
$ ip addr show eth0
4: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0d:60:b1:16:7f brd ff:ff:ff:ff:ff:ff
inet 192.168.178.68/24 brd 192.168.178.255 scope global eth0


=== Standard-Gateway ===
</noinclude>
; Standard-Gateway der aktiven Schnittstelle
$ ip route show | grep 'default'
default via 192.168.178.1 dev eth0
{{SORTIERUNG:ip/Befehl/Anwendung}}
[[Kategorie:iproute2]]

Aktuelle Version vom 14. Mai 2026, 09:37 Uhr

Ip/Befehl/Anwendung

Beschreibung

Hilfe

ip help

Status

Alle Schnittstellen
ip link
 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: irda0: <NOARP> mtu 2048 qdisc noop state DOWN qlen 8
    link/irda 00:00:00:00 brd ff:ff:ff:ff
 3: wlan0: <BROADCAST,MULTICAST> mtu 1500 qdisc mq state DOWN qlen 1000
    link/ether 00:05:4e:4f:65:e5 brd ff:ff:ff:ff:ff:ff
 4: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
ip link show
 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 pfifo_fast state UP qlen 1000
    link/ether 08:00:27:66:72:e1 brd ff:ff:ff:ff:ff:ff

Statistik

Alle Schnittstellen
ip -s link
Statistik der Schnittstelle eth0
ip -s link show eth0
 4: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
 link/ether 00:0d:60:b1:16:7f brd ff:ff:ff:ff:ff:ff
 RX: bytes  packets  errors  dropped overrun mcast
 2631476274 2634102  0       0       0       0      
 TX: bytes  packets  errors  dropped carrier collsns 
 449098710  2363841  0       0       0       0
ip -statistics link show
 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
     RX: bytes  packets  errors  dropped overrun mcast
     2073916    4895     0       0       0       0
     TX: bytes  packets  errors  dropped carrier collsns
     2073916    4895     0       0       0       0
 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
     link/ether 08:00:27:66:72:e1 brd ff:ff:ff:ff:ff:ff
     RX: bytes  packets  errors  dropped overrun mcast
     1716782262 1369751  0       0       0       0
     TX: bytes  packets  errors  dropped carrier collsns
     308636400  1172428  0       0       0       0

Start/Stopp

Start/Stopp der Netzwerkkarte
ip link set dev {DEVICE} {up|down}
Stoppen der Netzwerkkarte
sudo ip link set dev eth1 down
Starten der Netzwerkkarte
sudo ip link set dev eth1 up

Einstellungen

Txqueuelen ändern

ip link set txqueuelen {NUMBER} dev {DEVICE}
Beispiel

Standardeinstellung txqueuelen für eth0 von 1000 auf 10000 ändern

sudo ip link set txqueuelen 10000 dev eth0
sudo ip a list eth0

MTU ändern

Für Gigabit-Netzwerke können Sie die maximale Größe der Übertragungseinheiten (MTU) festlegen:

sudo ip link set mtu {NUMBER} dev {DEVICE}

Geben Sie Folgendes ein, um die MTU des Geräts eth0 auf 9000 zu ändern:

sudo ip link set mtu 9000 dev eth0
sudo ip a list eth0
 2: eth0:  mtu 9000 qdisc pfifo_fast state UP qlen 1000
     link/ether 00:08:9b:c4:30:30 brd ff:ff:ff:ff:ff:ff
     inet 192.168.1.10/24 brd 192.168.1.255 scope global eth1
     inet6 fe80::208:9bff:fec4:3030/64 scope link
        valid_lft forever preferred_lft forever

Address

IP-Adresse einer Schnittstelle

IP-Adresse der Schnittstelle eth0
ip addr show eth0
 4: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
 link/ether 00:0d:60:b1:16:7f brd ff:ff:ff:ff:ff:ff
 inet 192.168.178.68/24 brd 192.168.178.255 scope global eth0

ip addr show

ip addr show
 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
     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 qlen 1000
     link/ether 08:00:27:66:72:e1 brd ff:ff:ff:ff:ff:ff
     inet 10.1.102.59/24 brd 10.1.102.255 scope global eth0
        valid_lft forever preferred_lft forever
     inet6 fe80::a00:27ff:fe66:72e1/64 scope link
        valid_lft forever preferred_lft forever

ip addr add IP/NETMASK dev DEVICE

sudo ip addr add 10.1.102.60/24 dev eth0
ip a
 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
     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 qlen 1000
     link/ether 08:00:27:66:72:e1 brd ff:ff:ff:ff:ff:ff
     inet 10.1.102.59/24 brd 10.1.102.255 scope global eth0
        valid_lft forever preferred_lft forever
     inet 10.1.102.60/24 scope global secondary eth0
        valid_lft forever preferred_lft forever
     inet6 fe80::a00:27ff:fe66:72e1/64 scope link
        valid_lft forever preferred_lft forever

ip addr del IP/NETMASK dev DEVICE

sudo ip addr del 10.1.102.60/24 dev eth0
ip a
 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
     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 qlen 1000
     link/ether 08:00:27:15:17:5e brd ff:ff:ff:ff:ff:ff
     inet 10.1.102.54/24 brd 10.1.102.255 scope global eth0
        valid_lft forever preferred_lft forever
     inet6 fe80::a00:27ff:fe15:175e/64 scope link
        valid_lft forever preferred_lft forever

ip addr flush dev DEVICE

sudo ip addr flush dev eth0
ip a
 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
     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 qlen 1000
     link/ether 08:00:27:15:17:5e brd ff:ff:ff:ff:ff:ff

Neighbour

Neighbour cache anzeigen

ip neigh show
 74.xx.yy.zz dev eth1 lladdr 00:30:48:yy:zz:ww REACHABLE
 10.10.29.66 dev eth0 lladdr 00:30:48:c6:0a:d8 REACHABLE
 74.ww.yyy.xxx dev eth1 lladdr 00:1a:30:yy:zz:ww REACHABLE
 10.10.29.68 dev eth0 lladdr 00:30:48:33:bc:32 REACHABLE
 74.fff.uu.cc dev eth1 lladdr 00:30:48:yy:zz:ww STALE
 74.rr.ww.fff dev eth1 lladdr 00:30:48:yy:zz:ww DELAY
 10.10.29.65 dev eth0 lladdr 00:1a:30:38:a8:00 REACHABLE
 10.10.29.74 dev eth0 lladdr 00:30:48:8e:31:ac REACHABLE
Status Beschreibung
STALE Der Nachbar ist gültig, aber wahrscheinlich schon nicht erreichbar
DELAY Ein Paket wurde an den veralteten Nachbarn gesendet und der Kernel wartet auf Bestätigung
REACHABLE Der Nachbar ist gültig und anscheinend erreichbar

Statische Neighbour-Einträge

ip neigh add {IP-HERE} lladdr {MAC/LLADDRESS} dev {DEVICE} nud {STATE}

Fügen Sie einen permanenten ARP-Eintrag für den Nachbarn 192.168.1.5 auf dem Gerät eth0 hinzu:

sudo ip neigh add 192.168.1.5 lladdr 00:1a:30:38:a8:00 dev eth0 nud perm
neighbour state (nud) Bedeutung
permanent Der Nachbareintrag ist für immer gültig und kann nur administrativ entfernt werden
noarp Der Nachbareintrag ist gültig
  • Es werden keine Versuche unternommen, diesen Eintrag zu validieren
  • Er kann jedoch nach Ablauf seiner Lebensdauer entfernt werden
stale Der Nachbareintrag ist gültig, aber verdächtig
  • Diese Option zum IP-Nachbarn ändert den Nachbarstatus nicht, wenn er gültig war und die Adresse durch diesen Befehl nicht geändert wird
reachable Der Nachbareintrag ist gültig, bis das Erreichbarkeitszeitlimit abgelaufen ist

Löschen eines ARP-Eintrags

sudo ip neigh del {IPAddress} dev {DEVICE}
sudo ip neigh del 192.168.1.5 dev eth1

Änderungen sind Status für den Nachbarn 192.168.1.100 auf dem Gerät eth1 erreichbar

sudo ip neigh chg 192.168.1.100 dev eth1 nud reachable

Flush ARP entry

ip -s -s n f {IPAddress}

flush neighbour/arp table:

sudo ip -s -s n f 192.168.1.5

oder

sudo ip -s -s n flush 192.168.1.5

Lebensdauer

Die Lebensdauer (der sogenannte Timeout oder Age) von ARP-Einträgen im Linux-Kernel ist dynamisch und hängt von der Aktivität der Verbindung ab, beträgt standardmäßig jedoch oft nur wenige Minuten.

Warum so kurz?

Die kurze Lebensdauer unter Linux sorgt dafür, dass bei Änderungen im Netzwerk (z.B. wenn ein anderer Server dieselbe IP übernimmt, sogenannter Failover) die MAC-Adresse schnell aktualisiert wird und die Kommunikation nicht lange unterbrochen ist.

Standard-Lebensdauer (Timeout)

  • Standardwert: Die meisten Linux-Systeme entfernen ungenutzte ARP-Einträge nach relativ kurzer Zeit aus dem Cache, oft nach 60 Sekunden.
  • Dynamisches Verhalten: Wenn ein ARP-Eintrag aktiv genutzt wird (Daten werden an diese IP gesendet), wird der Timer für diesen Eintrag in der Regel zurückgesetzt.
  • Stale Time: Ein Eintrag gilt oft nach einer gewissen Zeit als "veraltet" (stale) und wird dann vom System überprüft, bevor er endgültig gelöscht wird.

Wert überprüfen und ändern

Sie können die aktuelle Zeitspanne, bis ein Eintrag als "stale" (veraltet) gilt, im Proc-Dateisystem überprüfen.

  • Wert anzeigen (in Sekunden):
    cat /proc/sys/net/ipv4/neigh/default/gc_stale_time
    Typische Ausgabe: 60
  • Wert temporär ändern (z.B. auf 120 Sekunden):
    echo 120 > /proc/sys/net/ipv4/neigh/default/gc_stale_time
  • Wert permanent ändern: Bearbeiten Sie die Datei /etc/sysctl.conf und fügen Sie folgende Zeile hinzu:
    net.ipv4.neigh.default.gc_stale_time = 120

Statische ARP-Einträge

Wenn Sie einen ARP-Eintrag manuell mit arp -s oder ip neigh add erstellen, hat dieser keine Lebensdauer (er läuft nicht ab). Er bleibt bestehen, bis er manuell gelöscht wird oder der Rechner neu startet.

4. ARP-Cache anzeigen/löschen

  • Anzeigen: ip neighbor show oder arp -an
  • Löschen (Flush): ip -s -s neigh flush all (nützlich bei IP-Umzügen)

Route

ip route show

ip route show
 default via 10.1.102.1 dev eth0  metric 100
 10.1.102.0/24 dev eth0  proto kernel  scope link  src 10.1.102.59

Standard-Gateway

Standard-Gateway anzeigen
ip route show | grep default
 default via 192.168.178.1 dev eth0
Standard-Gateway hinzufügen

IPv4

sudo ip route add default via 10.1.102.1 dev eth0

IPv6

sudo ip route add default via fe80::1 dev eth0


Anhang

Siehe auch



Dokumentation

Projekt

  1. https://www.cyberciti.biz/faq/linux-ip-command-examples-usage-syntax/