Zum Inhalt springen

Ip/Befehl/Anwendung: Unterschied zwischen den Versionen

Aus Foxwiki
K Textersetzung - „z.B.“ durch „z. .B. “
 
(174 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
=== Anwendung ===
'''Ip/Befehl/Anwendung'''
=== Beschreibung ===
=== Hilfe ===
<syntaxhighlight lang="bash" highlight="1" line copy>
ip help
</syntaxhighlight>


=== ip versus ifconfig ===
== Link ==
Die Tabelle zeigt wichtige Befehle zur Netzwerkkonfiguration und vergleicht die Syntax der Kommandos ip und ifconfig:
=== Status ===
{| class="wikitable options"
; Alle Schnittstellen
!Zweck
<syntaxhighlight lang="bash" highlight="1" line copy>
!iproute2 Kommando
ip link  
!iproute2 Kommando Kurzversion
</syntaxhighlight>
!net-tools Kommando
<syntaxhighlight lang="bash" highlight="" line>
|-
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
|Linkstatus anzeigen
  link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
|ip link show
2: irda0: <NOARP> mtu 2048 qdisc noop state DOWN qlen 8
|ip l
  link/irda 00:00:00:00 brd ff:ff:ff:ff
|ifconfig
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
|Linkstatus inkl. Statistik
4: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
(RX/TX bytes, errors, ...) anzeigen
</syntaxhighlight>
|ip -statistics link show
|ip -s l
|ifconfig
|-
|IP Adresse anzeigen
|ip addr show
|ip a
|ifconfig -a
|-
|IP Adresse setzen
|ip addr add IP/NETMASK dev DEVICE
|ip a a IP/NETMASK dev DEVICE
|ifconfig DEVICE IP/NETMASK
|-
|IP Adresse entfernen
|ip addr del IP/NETMASK dev DEVICE
|ip a d IP/NETMASK dev DEVICE
|
|-
|IP Adressen entfernen
|ip addr flush dev DEVICE
|ip a f dev DEVICE
|
|-
|Routingtabelle anzeigen
|ip route show
|ip r
|route -n
|-
|Standardgateway setzen
|ip route add default via IP
|ip r a default via IP
|route add default gw IP DEVICE
|-
|ARP-Cache anzeigen
|ip neigh show
|ip n
|arp -na
|-
|Verbindungen anzeigen
|ss --tcp --all --processes --extended --numeric
|ss -tapen
|netstat -tapen
|}


=== Informationen anzeigen ===
==== ip link show ====
# '''ip a'''
<syntaxhighlight lang="bash" highlight="1" copy>
  1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
ip link show
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
</syntaxhighlight>
    inet 127.0.0.1/8 scope host lo
<syntaxhighlight lang="bash" highlight="" line>
        valid_lft forever preferred_lft forever
  1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
    inet6 ::1/128 scope host
  link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        valid_lft forever preferred_lft forever
  2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
  2: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
  link/ether 08:00:27:66:72:e1 brd ff:ff:ff:ff:ff:ff
    link/ether d4:3d:7e:cb:10:46 brd ff:ff:ff:ff:ff:ff
</syntaxhighlight>
    inet 192.168.1.115/24 brd 192.168.1.255 scope global dynamic noprefixroute enp2s0
        valid_lft 3561sec preferred_lft 3561sec
    inet6 2001::7213:7947:5dc7:71d0/64 scope global dynamic noprefixroute
        valid_lft 86107sec preferred_lft 14107sec
    inet6 fe80::9d6c:75be:55cb:d0fc/64 scope link noprefixroute
        valid_lft forever preferred_lft forever


=== IP-Adresse setzen ===
=== Statistik ===
# ip a add {ip_addr/mask} dev {interface}
; Alle Schnittstellen
To assign 192.168.1.200/255.255.255.0 to eth0, enter:
<syntaxhighlight lang="bash" highlight="1" copy>
# ip a add 192.168.1.200/255.255.255.0 dev eth0
ip -s link
OR
</syntaxhighlight>
# ip a add 192.168.1.200/24 dev eth0


=== Broadcast-Adresse ändern ===
; Statistik der Schnittstelle ''eth0''
  # ip addr add brd {ADDDRESS-HERE} dev {interface}
<syntaxhighlight lang="bash" highlight="1" copy>
  # ip addr add broadcast {ADDDRESS-HERE} dev {interface}
ip -s link show eth0
  # ip addr add broadcast 172.20.10.255 dev dummy0
</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>


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:
==== ip -statistics link show ====
# ip addr add 192.168.1.50/24 brd + dev eth0 label eth0Home
<syntaxhighlight lang="bash" highlight="1" copy>
ip -statistics link show
</syntaxhighlight>


Sie können die Loopback-Adresse für das Loopback-Gerät lo wie folgt einstellen:
<syntaxhighlight lang="bash" highlight="" line>
  # ip addr add 127.0.0.1/8 dev lo brd + scope host
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
</syntaxhighlight>


=== Löschen einer IP-Adresse ===
=== Start/Stopp ===
# ip a del {ipv6_addr_OR_ipv4_addr} dev {interface}
; Start/Stopp der Netzwerkkarte
<syntaxhighlight lang="bash" highlight="">
ip link set dev {DEVICE} {up|down}
</syntaxhighlight>


To delete 192.168.1.200/24 from eth0, enter:
; Stoppen der Netzwerkkarte
# ip a del 192.168.1.200/24 dev eth0
<syntaxhighlight lang="bash" highlight="1" copy>
sudo ip link set dev eth1 down
</syntaxhighlight>


=== Flush einer IP-Adresse ===
; Starten der Netzwerkkarte
Mit dem folgenden Befehl können Sie alle IP-Adressen aus dem privaten Netzwerk 192.168.2.0/24 löschen:
<syntaxhighlight lang="bash" highlight="1" copy>
# ip -s -s a f to 192.168.2.0/24
sudo ip link set dev eth1 up
2: eth0    inet 192.168.2.201/24 scope global secondary eth0
</syntaxhighlight>
2: eth0    inet 192.168.2.200/24 scope global eth0


*** Round 1, deleting 2 addresses ***
=== Einstellungen ===
*** Flush is complete after 1 round ***
==== [[Txqueuelen]] ändern ====
<syntaxhighlight lang="bash" highlight="">
ip link set txqueuelen {NUMBER} dev {DEVICE}
</syntaxhighlight>


Sie können die IP-Adresse auf allen ppp-Schnittstellen (Punkt-zu-Punkt) deaktivieren:
; Beispiel
# ip -4 addr flush label "ppp*"
Standardeinstellung txqueuelen für eth0 von 1000 auf 10000 ändern
<syntaxhighlight lang="bash" highlight="1" line copy>
sudo ip link set txqueuelen 10000 dev eth0
</syntaxhighlight>
<syntaxhighlight lang="bash" highlight="1" line copy>
sudo ip a list eth0
</syntaxhighlight>
 
==== MTU ändern ====
Für Gigabit-Netzwerke können Sie die maximale Größe der Übertragungseinheiten (MTU) festlegen:
<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:
<syntaxhighlight lang="bash" highlight="1" line copy>
sudo ip link set mtu 9000 dev eth0
</syntaxhighlight>


Hier ist ein weiteres Beispiel für alle Ethernet-Schnittstellen:
<syntaxhighlight lang="bash" highlight="1" line copy>
# ip -4 addr flush label "eth*"
sudo ip a list eth0
</syntaxhighlight>


=== Start/Stopp der Netzwerkkarte ===
<syntaxhighlight lang="bash" highlight="" line>
# ip link set dev {DEVICE} {up|down}
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
</syntaxhighlight>


Stoppen der Netzwerkkarte
== Address ==
  # ip link set dev eth1 down
=== IP-Adresse einer Schnittstelle ===
; IP-Adresse der Schnittstelle eth0
<syntaxhighlight lang="bash" highlight="1" line copy>
ip addr 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
inet 192.168.178.68/24 brd 192.168.178.255 scope global eth0
</syntaxhighlight>


Starten der Netzwerkkarte
=== ip addr show ===
  # ip link set dev eth1 up
<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
  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
</syntaxhighlight>


=== Txqueuelen ändern ===
=== ip addr add IP/NETMASK dev DEVICE ===
# ip link set txqueuelen {NUMBER} dev {DEVICE}
<syntaxhighlight lang="bash" highlight="1" line copy>
sudo ip addr add 10.1.102.60/24 dev eth0
</syntaxhighlight>
<syntaxhighlight lang="bash" highlight="1" line copy>
ip a
</syntaxhighlight>


; Beispiel
<syntaxhighlight lang="bash" highlight="" line>
Standardeinstellung txqueuelen für eth0 von 1000 auf 10000 ändern
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
# ip link set txqueuelen 10000 dev eth0
  link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
# ip a list eth0
  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
</syntaxhighlight>


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


Geben Sie Folgendes ein, um die MTU des Geräts eth0 auf 9000 zu ändern:
=== ip addr flush dev DEVICE ===
# ip link set mtu 9000 dev eth0
<syntaxhighlight lang="bash" highlight="1" line copy>
# ip a list eth0
sudo ip addr flush dev eth0
  2: eth0: mtu 9000 qdisc pfifo_fast state UP qlen 1000
</syntaxhighlight>
    link/ether 00:08:9b:c4:30:30 brd ff:ff:ff:ff:ff:ff
<syntaxhighlight lang="bash" highlight="1" line copy>
    inet 192.168.1.10/24 brd 192.168.1.255 scope global eth1
ip a
    inet6 fe80::208:9bff:fec4:3030/64 scope link
</syntaxhighlight>
        valid_lft forever preferred_lft forever
<syntaxhighlight lang="bash" highlight="" line>
  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
</syntaxhighlight>


== Neighbour ==
=== Neighbour cache anzeigen ===
=== Neighbour cache anzeigen ===
# ip n show
<syntaxhighlight lang="bash" highlight="1" copy>
# ip neigh show
ip neigh show
</syntaxhighlight>
<syntaxhighlight lang="bash" highlight="" line>
  74.xx.yy.zz dev eth1 lladdr 00:30:48:yy:zz:ww REACHABLE
  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
  10.10.29.66 dev eth0 lladdr 00:30:48:c6:0a:d8 REACHABLE
Zeile 158: Zeile 237:
  10.10.29.65 dev eth0 lladdr 00:1a:30:38:a8:00 REACHABLE
  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
  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.
{| class="wikitable options big"
# 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.
! 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 ===
=== Statische Neighbour-Einträge ===
# ip neigh add {IP-HERE} lladdr {MAC/LLADDRESS} dev {DEVICE} nud {STATE}
<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:
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
<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"
{| class="wikitable options big"
|+
|+
|-
|-
Zeile 176: Zeile 267:
| permanent || Der Nachbareintrag ist für immer gültig und kann nur administrativ entfernt werden
| permanent || Der Nachbareintrag ist für immer gültig und kann nur administrativ entfernt werden
|-
|-
| noarp || Der Nachbareintrag ist gültig.
| noarp || Der Nachbareintrag ist gültig
* Es werden keine Versuche unternommen, diesen Eintrag zu validieren.
* Es werden keine Versuche unternommen, diesen Eintrag zu validieren
* Er kann jedoch nach Ablauf seiner Lebensdauer entfernt werden
* Er kann jedoch nach Ablauf seiner Lebensdauer entfernt werden
|-
|-
| stale || Der Nachbareintrag ist gültig, aber verdächtig.
| 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
* Diese Option zum IP-Nachbarn ändert den Nachbarstatus nicht, wenn er gültig war und die Adresse durch diesen Befehl nicht geändert wird
|-
|-
Zeile 186: Zeile 277:
|}
|}


=== Löschen Sie einen ARP-Eintrag ===
=== Löschen eines ARP-Eintrags ===
# ip neigh del {IPAddress} dev {DEVICE}
<syntaxhighlight lang="bash" highlight="0">
# ip neigh del 192.168.1.5 dev eth1
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
Ä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
<syntaxhighlight lang="bash" highlight="1" line copy>
sudo ip neigh chg 192.168.1.100 dev eth1 nud reachable
</syntaxhighlight>


=== Flush ARP entry ===
==== Flush ARP entry ====
# ip -s -s n f {IPAddress}
<syntaxhighlight lang="bash" highlight="1" line>
ip -s -s n f {IPAddress}
</syntaxhighlight>


flush neighbour/arp table:
flush neighbour/arp table:
# ip -s -s n f 192.168.1.5
<syntaxhighlight lang="bash" highlight="1" line copy>
sudo ip -s -s n f 192.168.1.5
</syntaxhighlight>
 
oder
oder
# ip -s -s n flush 192.168.1.5


=== ip help ===
<syntaxhighlight lang="bash" highlight="1" line copy>
$ ip help
sudo ip -s -s n flush 192.168.1.5
Usage: ip [ OPTIONS ] OBJECT { COMMAND | help }
</syntaxhighlight>
        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 ===
=== Lebensdauer ===
$ ip link show
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.
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
; Warum so kurz?
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
Die kurze Lebensdauer unter Linux sorgt dafür, dass bei Änderungen im Netzwerk (z.&nbsp;.B.&nbsp; wenn ein anderer Server dieselbe IP übernimmt, sogenannter Failover) die MAC-Adresse schnell aktualisiert wird und die Kommunikation nicht lange unterbrochen ist.
    link/ether 08:00:27:66:72:e1 brd ff:ff:ff:ff:ff:ff


=== ip -statistics link show ===
==== Standard-Lebensdauer (Timeout) ====
$ ip link show
* '''Standardwert:''' Die meisten Linux-Systeme entfernen ungenutzte ARP-Einträge nach relativ kurzer Zeit aus dem Cache, oft nach '''60 Sekunden'''.
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
* '''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.
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
* '''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.
    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 ===
==== Wert überprüfen und ändern ====
$ ip addr show
Sie können die aktuelle Zeitspanne, bis ein Eintrag als "stale" (veraltet) gilt, im Proc-Dateisystem überprüfen.
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
* '''Wert anzeigen (in Sekunden):'''<br/>cat /proc/sys/net/ipv4/neigh/default/gc_stale_time<br/>''Typische Ausgabe: ''<tt>60</tt>
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
* '''Wert temporär ändern (z.&nbsp;.B.&nbsp; auf 120 Sekunden):'''<br/>echo 120 > /proc/sys/net/ipv4/neigh/default/gc_stale_time
    inet 127.0.0.1/8 scope host lo
* '''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
        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 ===
==== Statische ARP-Einträge ====
$ sudo ip addr add 10.1.102.60/24 dev eth0
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.
$ 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 ===
=== 4. ARP-Cache anzeigen/löschen ===
$ 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 ===
* '''Anzeigen:''' <tt>ip neighbor show</tt> oder <tt>arp -an</tt>
$ sudo ip addr flush dev eth0
* '''Löschen (Flush):''' <tt>ip -s -s neigh flush all</tt> (nützlich bei IP-Umzügen)
$ 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


== Route ==
=== ip route show ===
=== ip route show ===
$ ip route show
<syntaxhighlight lang="bash" highlight="1" line copy>
  default via 10.1.102.1 dev eth0 metric 100
ip route show
  10.1.102.0/24 dev eth0 proto kernel scope link src 10.1.102.59
</syntaxhighlight>
<syntaxhighlight lang="bash" highlight="" line>
  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
</syntaxhighlight>
 
=== Standard-Gateway ===
; 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 route add default via IP ===
; Standard-Gateway hinzufügen
$ sudo ip route add d via 10.1.102.1
IPv4
<syntaxhighlight lang="bash" highlight="1" line copy>
sudo ip route add default via 10.1.102.1 dev eth0
</syntaxhighlight>


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


=== Status aller Schnittstellen ===
<noinclude>
$ 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


=== Statistik aller Schnittstellen ===
== Anhang ==
wie ifconfig
=== Siehe auch ===
$ ip -s link
<div style="column-count:2">
<categorytree hideroot=on mode="pages">iproute2/ip</categorytree>
</div>
----
{{Special:PrefixIndex/{{BASEPAGENAME}}/}}


=== Statistik der Schnittstelle eth0 anzeigen ===
=== Dokumentation ===
$ ip -s link show eth0
<!--
4: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
; Man-Page
link/ether 00:0d:60:b1:16:7f brd ff:ff:ff:ff:ff:ff
# [https://manpages.debian.org/stable/procps/pgrep.1.de.html prep(1)]
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 der Schnittstelle eth0 anzeigen ===
; Info-Pages
$ 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 der aktiven Schnittstelle (eth0) anzeigen ===
=== Links ===
$ ip route show | grep 'default'
==== Projekt ====
default via 192.168.178.1 dev eth0
==== Weblinks ====
# https://www.cyberciti.biz/faq/linux-ip-command-examples-usage-syntax/


[[Kategorie:iproute2/ip]]


[[Kategorie:iproute2]]
</noinclude>

Aktuelle Version vom 23. Juni 2026, 22:42 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/