Ip/Befehl: Unterschied zwischen den Versionen

Aus Foxwiki
K Textersetzung - „== Syntax ==“ durch „== Aufruf ==“
 
(66 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{DISPLAYTITLE:ip}}
'''ip''' - Befehl zur Konfiguration von [[Netzwerkschnittstelle]]n
 
'''topic''' kurze Beschreibung


== Beschreibung ==
== Beschreibung ==
Der Befehl '''''ip''''' wird verwendet, um einer Netzwerkschnittstelle eine Adresse zuzuweisen und / oder Netzwerkschnittstellenparameter unter Linux-Betriebssystemen zu konfigurieren.
Das Kommando ip aus der [[iproute2]] Toolsammlung dient unter Linux zur Konfiguration von Netzwerkadressen
* Dieser Befehl ersetzt den alten guten und jetzt veralteten Befehl '''''ifconfig''''' auf modernen Linux-Distributionen.
* Es ersetzt das ifconfig Kommando aus den obsoleten [[net-tools]]
 
Mit der Programmsammlung [https://wiki.linuxfoundation.org/networking/iproute2 iproute2] rund um den zentralen Befehl '''ip''' lassen sich Netzwerkschnittstellen auf der Kommandozeile abfragen oder konfigurieren.
* Damit bietet sich diese Sammlung als vollwertiger Ersatz zu klassischen Befehlen wie ifconfig, route und [https://wiki.ubuntuusers.de/netstat/ netstat] (sämtlich im Paket net-tools) an.
* Sie ist vollständig [https://wiki.ubuntuusers.de/IPv6/ IPv6]-kompatibel.
 
Enthalten sind des Weiteren die folgenden Werkzeuge: * ss ('''s'''ocket '''s'''tatus, netstat-Ersatz)
* lnstat (link state, auch ctstat)
* nstat (network statistics tool)
* routef (flush routes)
* routel (list routes)
* rtstat (route state monitoring)
 
Nur mit Root-Rechten zugänglich sind: arpd (userspace arp daemon), rtacct (routing table realms and policy propagation), rtmon (routing table monitor) und tc ('''t'''raffic '''c'''ontrol).
* Dieser Artikel beschränkt sich auf den Befehl '''ip'''.
* Im WLAN-Bereich ist der Befehl [https://wiki.ubuntuusers.de/iw/ iw] der Ersatz für das bisherige iwconfig.
 
Das Kommando '''ip''' aus der iproute2 Toolsammlung dient unter Linux zur '''Konfiguration von Netzwerkadressen'''.
* Es '''ersetzt das ifconfig Kommando''' aus den obsoleten net-tools.
* Dieser Artikel zeigt die wichtigsten Parameter des ip Kommandos anhand einiger Beispiele.


== Installation ==
== Installation ==
Der Befehl ''ip'' ist im Paket [[iproute2]] enthalten, welches standardmäßig installiert ist
''ip'' ist im Paket [[iproute2]] enthalten
# apt install iproute2
 
== Anwendung ==
=== ip versus ifconfig ===
Die Tabelle zeigt wichtige Befehle zur Netzwerkkonfiguration und vergleicht die Syntax der Kommandos ip und ifconfig:
{| class="wikitable"
!Zweck
!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
|}
 
=== Informationen anzeigen ===
# '''ip a'''
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    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 ===
# ip a add {ip_addr/mask} dev {interface}
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
 
== Beispiele ==
Die folgenden Ausgaben zeigen einige Beispiele von iproute2 Kommandos.
 
=== 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
 
== Beispiele ==
==== 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


== Syntax ==
== Aufruf ==
  # ip OBJECT COMMAND
  # ip OBJECT COMMAND
  # ip [options] OBJECT COMMAND
  # ip [options] OBJECT COMMAND
  # ip OBJECT help
  # ip OBJECT help
  $ 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.


==== OBJECTS-Syntax ====
==== Objekte ====
OBJEKTE können eine der folgenden sein und können in vollständiger oder abgekürzter Form geschrieben sein:
; OBJECTS-Syntax
 
OBJEKTE können eine der folgenden sein und können in vollständiger oder abgekürzter Form geschrieben sein
{| class="wikitable"
{| class="wikitable options"
|+
|-
|-
! Objekt !! Kurzform !! Zweck
! Objekt !! Kurzform !! Zweck
Zeile 422: Zeile 48:
|}
|}


Um Informationen zu jedem Objekt abzurufen, verwenden Sie den Hilfebefehl wie folgt:
; Hilfebefehl
 
Informationen zu Objekten abzurufen
  # ip OBJECT help
  # ip OBJECT help
  # ip OBJECT h
  # ip OBJECT h
Zeile 429: Zeile 55:
  # ip r help
  # ip r help


=== Optionen ===
ip kennt sehr viele Optionen
* [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.


'''ip''' kennt sehr viele Optionen (siehe auch [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.
Zusätzlich gibt es eine komfortable Soforthilfe: man kombiniert die gewünschte Option mit dem Schlüsselwort help.
* Zusätzlich gibt es eine komfortable Soforthilfe: man kombiniert die gewünschte Option mit dem Schlüsselwort help.
  $ ip link help
  $ ip link help


; [[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 493: Zeile 123:


Die Optionen für ip kann man auch in Kurzschreibweise als Anfangsbuchstaben der Option angeben.  
Die Optionen für ip kann man auch in Kurzschreibweise als Anfangsbuchstaben der Option angeben.  
* Wenn man z.B.  
* Wenn man z.&nbsp;B.&nbsp;
* für alle Netzwerkschnittstellen des Systems die IP-Adressen ausgeben möchte, benötigt man den Befehl ip addr show.  
* 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.
* Die Kurzform ip a s liefert das gleiche Ergebnis.


===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  
|-
| ip a
| ifconfig -a
|-
| ip link set enp6s0 down
| ifconfig enp6s0 down
|-
|-
| ifconfig -a || ip a
| ip link set enp6s0 up
| ifconfig enp6s0 up
|-
|-
| ifconfig enp6s0 down || ip link set enp6s0 down
| ip addr add 192.168.2.24/24 dev enp6s0
| ifconfig enp6s0 192.168.2.24
|-
|-
| ifconfig enp6s0 up || ip link set enp6s0 up
| ip addr add 192.168.1.1/24 dev enp6s0
| ifconfig enp6s0 netmask 255.255.255.0
|-
|-
| ifconfig enp6s0 192.168.2.24 || ip addr add 192.168.2.24/24 dev enp6s0
| ip link set enp6s0 mtu 9000
| ifconfig enp6s0 mtu 9000
|-
|-
| ifconfig enp6s0 netmask 255.255.255.0 || ip addr add 192.168.1.1/24 dev enp6s0
| ip addr add 192.168.2.25/24 dev enp6s0
| ifconfig enp6s0:0 192.168.2.25
|-
|-
| ifconfig enp6s0 mtu 9000 || ip link set enp6s0 mtu 9000
| ss
| netstat
|-
|-
| ifconfig enp6s0:0 192.168.2.25 || ip addr add 192.168.2.25/24 dev enp6s0
| ss -tulpn
| netstat -tulpn
|-
|-
| netstat || ss
| 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:
{| class="wikitable options"
!Aufgabe
!iproute2 Kommando
!iproute2 Kommando Kurzversion
!net-tools Kommando
|-
|-
| netstat -tulpn || ss -tulpn
|Linkstatus anzeigen
|ip link show
|ip l
|ifconfig
|-
|-
| netstat -neopa || ss -neopa
|Linkstatus inkl. Statistik
(RX/TX bytes, errors, ...) anzeigen
|ip -statistics link show
|ip -s l
|ifconfig
|-
|-
| netstat -g || ip maddr
|IP Adresse anzeigen
|ip addr show
|ip a
|ifconfig -a
|-
|-
| route || ip r
|IP Adresse setzen
|ip addr add IP/NETMASK dev DEVICE
|ip a a IP/NETMASK dev DEVICE
|ifconfig DEVICE IP/NETMASK
|-
|-
| 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 Adresse entfernen
|ip addr del IP/NETMASK dev DEVICE
|ip a d IP/NETMASK dev DEVICE
|
|-
|-
| route add default gw 192.168.2.254 || ip route add default via 192.168.2.254
|IP Adressen entfernen
|ip addr flush dev DEVICE
|ip a f dev DEVICE
|
|-
|-
| arp -a || ip neigh
|Routingtabelle anzeigen
|ip route show
|ip r
|route -n
|-
|-
| arp -v || ip -s neigh
|Standardgateway setzen
|ip route add default via IP
|ip r a default via IP
|route add default gw IP DEVICE
|-
|-
| 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
|ARP-Cache anzeigen
|ip neigh show
|ip n
|arp -na
|-
|-
| arp -i enp6s0 -d 192.168.2.254 || ip neigh del 192.168.2.254 dev wlp7s0
|Verbindungen anzeigen
|ss --tcp --all --processes --extended --numeric
|ss -tapen
|netstat -tapen
|}
|}


=== Parameter ===
=== Parameter ===
=== Umgebungsvariablen ===
=== Umgebung ===
=== Exit-Status ===
=== Rückgabewert ===


== Konfiguration ==
== Anwendung ==
=== Dateien ===
[[Ip/Anwendung]]
== Sicherheit ==
== Dokumentation ==
=== RFC ===
=== Man-Pages ===
=== Info-Pages ===
== Siehe auch ==
# [[ping]]


== Links ==
== Anhang ==
=== Projekt-Homepage ===
=== Siehe auch ===
=== Weblinks ===
{{Special:PrefixIndex/{{BASEPAGENAME}}}}
----
* [[ping]]
 
===== Man-Page =====
==== Links ====
===== Projekt =====
===== Weblinks =====
# https://www.cyberciti.biz/faq/linux-ip-command-examples-usage-syntax/
# https://www.cyberciti.biz/faq/linux-ip-command-examples-usage-syntax/
# Start Practising Linux ip command and Avoid the Habit of Using ifconfig (linoxide.com, 02.05.2014)
# Start Practising Linux ip command and Avoid the Habit of Using ifconfig (linoxide.com, 02.05.2014)
# IProute2 fasst viele Befehle für die Netzkonfiguration zusammen (Linux Magazin 11/2006)
# IProute2 fasst viele Befehle für die Netzkonfiguration zusammen (Linux Magazin 11/2006)
* [https://de.wikipedia.org/wiki/Iproute2 Iproute2] - Wikipedia
* [https://de.wikipedia.org/wiki/Iproute2 Iproute2] - Wikipedia
* Dokumentation:
 
** [http://www.policyrouting.org/iproute2-toc.html IPROUTE2 Utility Suite Howto]
==== Dokumentation ====
** [http://linux-ip.net/ Guide to IP Layer Network Administration]
* [http://www.policyrouting.org/iproute2-toc.html IPROUTE2 Utility Suite Howto]
** [https://lintut.com/how-to-use-linux-ip-command/ How to use Linux IP Command]
* [http://linux-ip.net/ Guide to IP Layer Network Administration]
** [https://dougvitale.wordpress.com/2011/12/21/deprecated-linux-networking-commands-and-their-replacements/ Deprecated networking commands and their replacements]
* [https://lintut.com/how-to-use-linux-ip-command/ How to use Linux IP Command]
* [https://dougvitale.wordpress.com/2011/12/21/deprecated-linux-networking-commands-and-their-replacements/ Deprecated networking commands and their replacements]
* [https://packages.ubuntu.com/ipset ipset] - administration tool for kernel IP sets
* [https://packages.ubuntu.com/ipset ipset] - administration tool for kernel IP sets
* [https://wiki.ubuntuusers.de/Shell/Befehlsübersicht/ Shell/Befehlsübersicht] Übersicht über verschiedene Shell-Befehle
* [https://wiki.ubuntuusers.de/Shell/Befehlsübersicht/ Shell/Befehlsübersicht] Übersicht über verschiedene Shell-Befehle


=== Einzelnachweise ===
[[Kategorie:Netzwerk/Befehl]]
<references />
[[Kategorie:Linux/Befehl]]
== Testfragen ==
[[Kategorie:iproute2]]
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 1''
<div class="mw-collapsible-content">'''Antwort1'''</div>
</div>
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 2''
<div class="mw-collapsible-content">'''Antwort2'''</div>
</div>
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 3''
<div class="mw-collapsible-content">'''Antwort3'''</div>
</div>
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 4''
<div class="mw-collapsible-content">'''Antwort4'''</div>
</div>
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 5''
<div class="mw-collapsible-content">'''Antwort5'''</div>
</div>


[[Kategorie:Entwurf]]
[[Kategorie:Linux:Netzwerk]]
[[Kategorie:Linux:Befehl]]
{{DEFAULTSORT:ip}}
{{DEFAULTSORT:ip}}
{{DISPLAYTITLE:ip}}
</noinclude>

Aktuelle Version vom 12. November 2024, 18:49 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

Aufruf

# 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-Page

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