Ip/Befehl: Unterschied zwischen den Versionen

Aus Foxwiki
K Textersetzung - „= Umgebungsvariablen =“ durch „= Umgebung =“
 
(16 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 2: Zeile 2:


== Beschreibung ==
== Beschreibung ==
Das Kommando '''ip''' aus der iproute2 Toolsammlung dient unter Linux zur '''Konfiguration von Netzwerkadressen'''.
Das Kommando ip aus der [[iproute2]] Toolsammlung dient unter Linux zur Konfiguration von Netzwerkadressen
* Es '''ersetzt das ifconfig Kommando''' aus den obsoleten net-tools.
* Es ersetzt das ifconfig Kommando aus den obsoleten [[net-tools]]
* Dieser Artikel zeigt die wichtigsten Parameter des ip Kommandos anhand einiger Beispiele.


== Installation ==
== Installation ==
Zeile 15: Zeile 14:
  $ ip OPTIONEN SCHNITTSTELLE
  $ ip OPTIONEN SCHNITTSTELLE


Da manche der Optionen dem System-Administrator vorbehalten sind, muss man je nach Anwendungsfall den Befehl sudo voranstellen.
Da manche der Optionen dem System-Administrator vorbehalten sind, muss man je nach Anwendungsfall den Befehl sudo voranstellen


Die [https://de.wikipedia.org/wiki/Classless_Inter-Domain_Routing CIDR]-Notation ermöglicht im Gegensatz zur Dezimalpunktschreibweise von IPv4 kürzere Ausdrücke.  
Die [[CIDR]]-Notation ermöglicht im Gegensatz zur Dezimalpunktschreibweise von IPv4 kürzere Ausdrücke.  
* Beispiel: 192.168.0.0/24 entspricht dem bisherigen 192.168.0.0/255.255.255.0.  
* Beispiel: 192.168.0.0/24 entspricht dem bisherigen 192.168.0.0/255.255.255.0.  
* Während man früher wahlweise beide Schreibweisen verwenden konnte, ist nur noch CIDR erlaubt.
* Während man früher wahlweise beide Schreibweisen verwenden konnte, ist nur noch CIDR erlaubt.
Zeile 57: Zeile 56:


=== Optionen ===
=== Optionen ===
'''ip''' kennt sehr viele Optionen
ip kennt sehr viele Optionen
* [https://wiki.ubuntuusers.de/ip/#Beispiele Beispiele])
* [https://wiki.ubuntuusers.de/ip/#Beispiele Beispiele])
* die man bei Bedarf in der [https://wiki.ubuntuusers.de/man/ Manpage] oder in der [https://wiki.ubuntuusers.de/ip/#Links Dokumentation] nachschlagen kann.  
* die man bei Bedarf in der [https://wiki.ubuntuusers.de/man/ Manpage] oder in der [https://wiki.ubuntuusers.de/ip/#Links Dokumentation] nachschlagen kann.  
Zeile 64: Zeile 63:
  $ ip link help
  $ ip link help


; [[iproute2]] vs. [8net-tools]]
; [[iproute2]] vs. [[net-tools]]
Nachfolgend eine praktisch orientierte Übersicht, die alte und neue Befehle gegenüberstellt.
Nachfolgend eine praktisch orientierte Übersicht, die alte und neue Befehle gegenüberstellt.
{| class="wikitable sortable"
{| class="wikitable sortable"
Zeile 129: Zeile 128:


===Alt vs Neu===
===Alt vs Neu===
Veralteter Linux-Befehl und deren Ersetzung:
Veralteter Linux-Befehl und deren Ersetzung


{| class="wikitable"
{| class="wikitable"
|+
|+
|-
|-
! Alter Befehl !! Neuer Befehl
! Neuer Befehl
! Alter Befehl  
|-
|-
| ifconfig -a || ip a
| ip a
| ifconfig -a  
|-
|-
| ifconfig enp6s0 down || ip link set enp6s0 down
| ip link set enp6s0 down
| ifconfig enp6s0 down  
|-
|-
| ifconfig enp6s0 up || ip link set enp6s0 up
| ip link set enp6s0 up
| ifconfig enp6s0 up  
|-
|-
| ifconfig enp6s0 192.168.2.24 || ip addr add 192.168.2.24/24 dev enp6s0
| ip addr add 192.168.2.24/24 dev enp6s0
| ifconfig enp6s0 192.168.2.24  
|-
|-
| ifconfig enp6s0 netmask 255.255.255.0 || ip addr add 192.168.1.1/24 dev enp6s0
| ip addr add 192.168.1.1/24 dev enp6s0
| ifconfig enp6s0 netmask 255.255.255.0
|-
|-
| ifconfig enp6s0 mtu 9000 || ip link set enp6s0 mtu 9000
| ip link set enp6s0 mtu 9000
| ifconfig enp6s0 mtu 9000  
|-
|-
| ifconfig enp6s0:0 192.168.2.25 || ip addr add 192.168.2.25/24 dev enp6s0
| ip addr add 192.168.2.25/24 dev enp6s0
| ifconfig enp6s0:0 192.168.2.25  
|-
|-
| netstat || ss
| ss
| netstat  
|-
|-
| netstat -tulpn || ss -tulpn
| ss -tulpn
| netstat -tulpn  
|-
|-
| netstat -neopa || ss -neopa
| ss -neopa
| netstat -neopa  
|-
|-
| netstat -g || ip maddr
| ip maddr
| netstat -g  
|-
|-
| route || ip r
| ip r
| route
|-
|-
| route add -net 192.168.2.0 netmask 255.255.255.0 dev enp6s0 || ip route add 192.168.2.0/24 dev enp6s0
| ip route add 192.168.2.0/24 dev enp6s0
| route add -net 192.168.2.0 netmask 255.255.255.0 dev enp6s0  
|-
|-
| route add default gw 192.168.2.254 || ip route add default via 192.168.2.254
| ip route add default via 192.168.2.254
| route add default gw 192.168.2.254  
|-
|-
| arp -a || ip neigh
| ip neigh
| arp -a  
|-
|-
| arp -v || ip -s neigh
| ip -s neigh
| arp -v
|-
|-
| arp -s 192.168.2.33 1:2:3:4:5:6 || ip neigh add 192.168.3.33 lladdr 1:2:3:4:5:6 dev enp6s0
| ip neigh add 192.168.3.33 lladdr 1:2:3:4:5:6 dev enp6s0
| arp -s 192.168.2.33 1:2:3:4:5:6  
|-
|-
| arp -i enp6s0 -d 192.168.2.254 || ip neigh del 192.168.2.254 dev wlp7s0
| ip neigh del 192.168.2.254 dev wlp7s0
| arp -i enp6s0 -d 192.168.2.254  
|}
|}


=== Parameter ===
=== Umgebungsvariablen ===
=== Exit-Status ===
== Anwendung ==
=== ip versus ifconfig ===
=== ip versus ifconfig ===
Die Tabelle zeigt wichtige Befehle zur Netzwerkkonfiguration und vergleicht die Syntax der Kommandos ip und ifconfig:
Die Tabelle zeigt wichtige Befehle zur Netzwerkkonfiguration und vergleicht die Syntax der Kommandos ip und ifconfig:
{| class="wikitable"
{| class="wikitable options"
!Zweck
!Aufgabe
!iproute2 Kommando
!iproute2 Kommando
!iproute2 Kommando Kurzversion
!iproute2 Kommando Kurzversion
Zeile 238: Zeile 251:
|}
|}


=== Informationen anzeigen ===
=== Parameter ===
# '''ip a'''
=== Umgebung ===
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
=== Rückgabewert ===
    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: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether d4:3d:7e:cb:10:46 brd ff:ff:ff:ff:ff:ff
    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 ===
== Anwendung ==
# ip a add {ip_addr/mask} dev {interface}
[[Ip/Anwendung]]
To assign 192.168.1.200/255.255.255.0 to eth0, enter:
# ip a add 192.168.1.200/255.255.255.0 dev eth0
OR
# ip a add 192.168.1.200/24 dev eth0
 
=== Broadcast-Adresse ändern ===
# ip addr add brd {ADDDRESS-HERE} dev {interface}
# ip addr add broadcast {ADDDRESS-HERE} dev {interface}
# ip addr add broadcast 172.20.10.255 dev dummy0
 
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 addr add 192.168.1.50/24 brd + dev eth0 label eth0Home
 
Sie können die Loopback-Adresse für das Loopback-Gerät lo wie folgt einstellen:
# ip addr add 127.0.0.1/8 dev lo brd + scope host
 
=== Löschen einer IP-Adresse ===
# ip a del {ipv6_addr_OR_ipv4_addr} dev {interface}
 
To delete 192.168.1.200/24 from eth0, enter:
# ip a del 192.168.1.200/24 dev eth0
 
=== Flush einer IP-Adresse ===
Mit dem folgenden Befehl können Sie alle IP-Adressen aus dem privaten Netzwerk 192.168.2.0/24 löschen:
# ip -s -s a f to 192.168.2.0/24
2: eth0    inet 192.168.2.201/24 scope global secondary eth0
2: eth0    inet 192.168.2.200/24 scope global eth0
 
*** Round 1, deleting 2 addresses ***
*** Flush is complete after 1 round ***
 
Sie können die IP-Adresse auf allen ppp-Schnittstellen (Punkt-zu-Punkt) deaktivieren:
# ip -4 addr flush label "ppp*"
 
Hier ist ein weiteres Beispiel für alle Ethernet-Schnittstellen:
# ip -4 addr flush label "eth*"
 
=== Start/Stopp der Netzwerkkarte ===
# ip link set dev {DEVICE} {up|down}
 
Stoppen der Netzwerkkarte
# ip link set dev eth1 down
 
Starten der Netzwerkkarte
# ip link set dev eth1 up
 
=== Txqueuelen ändern ===
# ip link set txqueuelen {NUMBER} dev {DEVICE}
 
; Beispiel
Standardeinstellung txqueuelen für eth0 von 1000 auf 10000 ändern
# ip link set txqueuelen 10000 dev eth0
# ip a list eth0
 
=== MTU ändern ===
Für Gigabit-Netzwerke können Sie die maximale Größe der Übertragungseinheiten (MTU) festlegen:
# ip link set mtu {NUMBER} dev {DEVICE}
 
Geben Sie Folgendes ein, um die MTU des Geräts eth0 auf 9000 zu ändern:
# ip link set mtu 9000 dev eth0
# 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
 
=== Neighbour cache anzeigen ===
# ip n show
# 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
 
# 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
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
 
=== 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
 
=== ip route add default via IP ===
$ sudo ip route add d via 10.1.102.1
 
=== ip neigh show ===
$ ip neigh show
10.1.102.101 dev eth0 lladdr f0:de:f1:f3:17:88 REACHABLE
10.1.102.1 dev eth0 lladdr 00:0c:42:97:79:63 REACHABLE
 
=== Status aller 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
 
=== Statistik aller Schnittstellen ===
wie ifconfig
$ ip -s link
 
=== Statistik der Schnittstelle eth0 anzeigen ===
$ 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-Adresse der Schnittstelle eth0 anzeigen ===
$ 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 ===
$ ip route show | grep 'default'
default via 192.168.178.1 dev eth0
 
<noinclude>


== Anhang ==
== Anhang ==

Aktuelle Version vom 8. September 2024, 11:29 Uhr

ip - Befehl zur Konfiguration von Netzwerkschnittstellen

Beschreibung

Das Kommando ip aus der iproute2 Toolsammlung dient unter Linux zur Konfiguration von Netzwerkadressen

  • Es ersetzt das ifconfig Kommando aus den obsoleten net-tools

Installation

ip ist im Paket iproute2 enthalten

Syntax

# ip OBJECT COMMAND
# ip [options] OBJECT COMMAND
# ip OBJECT help
$ ip OPTIONEN SCHNITTSTELLE

Da manche der Optionen dem System-Administrator vorbehalten sind, muss man je nach Anwendungsfall den Befehl sudo voranstellen

Die CIDR-Notation ermöglicht im Gegensatz zur Dezimalpunktschreibweise von IPv4 kürzere Ausdrücke.

  • Beispiel: 192.168.0.0/24 entspricht dem bisherigen 192.168.0.0/255.255.255.0.
  • Während man früher wahlweise beide Schreibweisen verwenden konnte, ist nur noch CIDR erlaubt.

Objekte

OBJECTS-Syntax

OBJEKTE können eine der folgenden sein und können in vollständiger oder abgekürzter Form geschrieben sein

Objekt Kurzform Zweck
link l Network device
address a / addr Protocol (IP or IPv6) address on a device
addrlabel addrl Etikettenkonfiguration für die Auswahl der Protokolladresse
neighbour n / neigh ARP or NDISC cache entry
route r Routing-Tabelleneintrag
rule ru Regel in der Routing-Richtliniendatenbank
maddress m / maddr Multicast address
mroute mr Multicast-Routing-Cache-Eintrag
tunnel t Tunnel over IP
xfrm x Framework für das IPSec-Protokoll
Hilfebefehl

Informationen zu Objekten abzurufen

# ip OBJECT help
# ip OBJECT h
# ip a help
# ip r help

Optionen

ip kennt sehr viele Optionen

Zusätzlich gibt es eine komfortable Soforthilfe: man kombiniert die gewünschte Option mit dem Schlüsselwort help.

$ ip link help
iproute2 vs. net-tools

Nachfolgend eine praktisch orientierte Übersicht, die alte und neue Befehle gegenüberstellt.

Alte und neue Befehle
Traditionell Neu Zweck
ifconfig SCHNITTSTELLE ip addr show SCHNITTSTELLE IP-Adresse anzeigen
ifconfig SCHNITTSTELLE hw ether MAC-ADRESSE ip link set dev SCHNITTSTELLE address MAC-ADDRESSE MAC-Adresse ändern
ifconfig SCHNITTSTELLE IP-ADRESSE netmask NETMASK broadcast BROADCAST ip addr change IP-ADRESSE/CIDR broadcast BROADCAST dev SCHNITTSTELLE IP-Adresse setzen
ip addr add IP-ADRESSE/CIDR broadcast BROADCAST dev SCHNITTSTELLE IP-Adresse hinzufügen
ifconfig SCHNITTSTELLE:1 IP-ADRESSE/CIDR ip addr add IP-ADRESSE/CIDR dev SCHNITTSTELLE label SCHNITTSTELLE:1 Alias anlegen
- ip addr del IP-ADRESSE/CIDR dev SCHNITTSTELLE IP-Adresse löschen
ifconfig SCHNITTSTELLE up ip link set SCHNITTSTELLE up Schnittstelle aktivieren
ifconfig SCHNITTSTELLE down ip link set SCHNITTSTELLE down Schnittstelle deaktivieren
route, route -6 ip route, ip -6 route Routen (für IPv6) anzeigen
route add default gw IP-ADRESSE ip route add default via IP-ADRESSE dev SCHNITTSTELLE Gateway setzen
arp -a ip neighbour ARP
netstat ss Sockets anzeigen

Die Optionen für ip kann man auch in Kurzschreibweise als Anfangsbuchstaben der Option angeben.

  • Wenn man z. B. 
  • für alle Netzwerkschnittstellen des Systems die IP-Adressen ausgeben möchte, benötigt man den Befehl ip addr show.
  • Die Kurzform ip a s liefert das gleiche Ergebnis.

Alt vs Neu

Veralteter Linux-Befehl und deren Ersetzung

Neuer Befehl Alter Befehl
ip a ifconfig -a
ip link set enp6s0 down ifconfig enp6s0 down
ip link set enp6s0 up ifconfig enp6s0 up
ip addr add 192.168.2.24/24 dev enp6s0 ifconfig enp6s0 192.168.2.24
ip addr add 192.168.1.1/24 dev enp6s0 ifconfig enp6s0 netmask 255.255.255.0
ip link set enp6s0 mtu 9000 ifconfig enp6s0 mtu 9000
ip addr add 192.168.2.25/24 dev enp6s0 ifconfig enp6s0:0 192.168.2.25
ss netstat
ss -tulpn netstat -tulpn
ss -neopa netstat -neopa
ip maddr netstat -g
ip r route
ip route add 192.168.2.0/24 dev enp6s0 route add -net 192.168.2.0 netmask 255.255.255.0 dev enp6s0
ip route add default via 192.168.2.254 route add default gw 192.168.2.254
ip neigh arp -a
ip -s neigh arp -v
ip neigh add 192.168.3.33 lladdr 1:2:3:4:5:6 dev enp6s0 arp -s 192.168.2.33 1:2:3:4:5:6
ip neigh del 192.168.2.254 dev wlp7s0 arp -i enp6s0 -d 192.168.2.254

ip versus ifconfig

Die Tabelle zeigt wichtige Befehle zur Netzwerkkonfiguration und vergleicht die Syntax der Kommandos ip und ifconfig:

Aufgabe iproute2 Kommando iproute2 Kommando Kurzversion net-tools Kommando
Linkstatus anzeigen ip link show ip l ifconfig
Linkstatus inkl. Statistik

(RX/TX bytes, errors, ...) anzeigen

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

Parameter

Umgebung

Rückgabewert

Anwendung

Ip/Anwendung

Anhang

Siehe auch


Man-Pages

Links

Projekt
Weblinks
  1. https://www.cyberciti.biz/faq/linux-ip-command-examples-usage-syntax/
  2. Start Practising Linux ip command and Avoid the Habit of Using ifconfig (linoxide.com, 02.05.2014)
  3. IProute2 fasst viele Befehle für die Netzkonfiguration zusammen (Linux Magazin 11/2006)

Dokumentation