Zum Inhalt springen

Ip/Befehl: Unterschied zwischen den Versionen

Aus Foxwiki
Keine Bearbeitungszusammenfassung
 
(212 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{DISPLAYTITLE:ip}}
'''ip/Befehl''' - Konfiguration von [[Netzwerkschnittstelle]]n


'''topic''' kurze Beschreibung
== Beschreibung ==
== Beschreibung ==
* Konfiguration von [[Netzwerkschnittstelle]]n unter Linux
* ersetzt [[ifconfig]] aus den obsoleten [[net-tools]]
== Installation ==
== Installation ==
== Anwendungen ==
[[ip/Befehl|ip]] ist Teil des Pakets [[iproute2]]
== Syntax ==
=== Optionen ===
=== Parameter ===
=== Umgebungsvariablen ===
=== Exit-Status ===
== Konfiguration ==
=== Dateien ===
== Sicherheit ==
== Dokumentation ==
=== RFC ===
=== Man-Pages ===
=== Info-Pages ===
== Siehe auch ==
== Links ==
=== Projekt-Homepage ===
=== Weblinks ===
=== Einzelnachweise ===
<references />
== Testfragen ==
<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]]
== Aufruf ==
<syntaxhighlight lang="bash" highlight="1" line>
ip OBJECT COMMAND
ip [options] OBJECT COMMAND
ip OBJECT help
ip OPTIONEN SCHNITTSTELLE
</syntaxhighlight>


= TMP =
Da manche der Optionen dem System-Administrator vorbehalten sind, muss man je nach Anwendungsfall den Befehl sudo voranstellen
Der Befehl '''''ip''''' wird verwendet, um einer Netzwerkschnittstelle eine Adresse zuzuweisen und / oder Netzwerkschnittstellenparameter unter Linux-Betriebssystemen zu konfigurieren. Dieser Befehl ersetzt den alten guten und jetzt veralteten Befehl '''''ifconfig''''' auf modernen Linux-Distributionen.


=Syntax=
; [[CIDR]]-Notation
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.


# ip OBJECT COMMAND


# ip [options] OBJECT COMMAND
{{:Ip/Befehl/Objekte}}
# ip OBJECT help


=Grundlegendes zur OBJECTS-Syntax=
=== Soforthilfe ===
[[Objekt]] und Schlüsselwort ''help''
ip link help


OBJEKTE können eine der folgenden sein und können in vollständiger oder abgekürzter Form geschrieben sein:
=== Optionen ===
 
{| class="wikitable sortable options gnu big"
{| class="wikitable"
|+
|-
! 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
! Unix !! GNU !! Parameter !! Beschreibung
|-
|-
| tunnel || t || Tunnel over IP
| || || ||
|-
|-
| xfrm || x || Framework für das IPSec-Protokoll
|}
|}


=== Parameter ===


Um Informationen zu jedem Objekt abzurufen, verwenden Sie den Hilfebefehl wie folgt:
== Umgebung ==
=== Variablen ===


# ip OBJECT help
=== Exit-Status ===
# ip OBJECT h
{| class="wikitable options col1center big"
# ip a help
# ip r help
 
= Anwendung =
 
== 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 auf der Schnittstelle Hinzufügen ==
 
# 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 die IP-Adresse von der Schnittstelle ==
 
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
 
Sample outputs:
 
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*"
 
== Wie ändere ich den Status des Geräts auf UP oder DOWN? ==
 
# ip link set dev {DEVICE} {up|down}
 
Geben Sie Folgendes ein, um den Status des Geräts eth1 zu verringern:
 
# ip link set dev eth1 down
 
Geben Sie Folgendes ein, um den Status des Geräts eth1 zu ermitteln:
 
# ip link set dev eth1 up
 
== Wie ändere ich die Txqueuelen des Geräts? ==
 
# ip link set txqueuelen {NUMBER} dev {DEVICE}
 
Ändern Sie in diesem Beispiel die Standardeinstellung txqueuelen für eth0 von 1000 auf 10000:
 
# ip link set txqueuelen 10000 dev eth0
# ip a list eth0
== Wie ändere ich die MTU des Geräts? ==
 
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
 
Sample outputs:
 
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
 
== Anzeige neighbour/arp cache ==
 
# ip n show
# ip neigh show
 
Beispielausgaben:
 
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
 
1.STALE – Der Nachbar ist gültig, aber wahrscheinlich schon nicht erreichbar.
 
2.DELAY – Ein Paket wurde an den veralteten Nachbarn gesendet und der Kernel wartet auf Bestätigung.
 
3.REACHABLE – Der Nachbar ist gültig und anscheinend erreichbar.
 
== Fügen Sie einen neuen ARP-Eintrag hinzu ==
 
# 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
! Wert !! Beschreibung
|-
|-
| 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
| 0 || Erfolg
|-
|-
| reachable || Der Nachbareintrag ist gültig, bis das Erreichbarkeitszeitlimit abgelaufen ist
| >0  || Fehler
|}
|}


== Löschen Sie einen ARP-Eintrag ==
== Konfiguration ==
 
=== Dateien ===
# ip neigh del {IPAddress} dev {DEVICE}
{| class="wikitable options big"
# 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
 
=Alt vs Neu=
 
Veralteter Linux-Befehl und deren Ersetzung:
 
{| class="wikitable"
|+
|-
! Alter Befehl !! Neuer Befehl
|-
| ifconfig -a || ip a
|-
| ifconfig enp6s0 down || ip link set enp6s0 down
|-
| ifconfig enp6s0 up || ip link set enp6s0 up
|-
| ifconfig enp6s0 192.168.2.24 || ip addr add 192.168.2.24/24 dev enp6s0
|-
| ifconfig enp6s0 netmask 255.255.255.0 || ip addr add 192.168.1.1/24 dev enp6s0
|-
| ifconfig enp6s0 mtu 9000 || ip link set enp6s0 mtu 9000
|-
| ifconfig enp6s0:0 192.168.2.25 || ip addr add 192.168.2.25/24 dev enp6s0
|-
| netstat || ss
|-
| netstat -tulpn || ss -tulpn
|-
| netstat -neopa || ss -neopa
|-
|-
| netstat -g || ip maddr
! Datei !! Beschreibung
|-
|-
| route || ip r
| ||  
|-
|-
| route add -net 192.168.2.0 netmask 255.255.255.0 dev enp6s0 || ip route add 192.168.2.0/24 dev enp6s0
| ||  
|-
| route add default gw 192.168.2.254 || ip route add default via 192.168.2.254
|-
| arp -a || ip neigh
|-
| arp -v || ip -s neigh
|-
| 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 -i enp6s0 -d 192.168.2.254 || ip neigh del 192.168.2.254 dev wlp7s0
|}
|}


=Links=
<noinclude>


== Siehe auch ==
== Anhang ==
# [[ping]]
=== Siehe auch ===
 
<div style="column-count:2">
== Extern ==
<categorytree hideroot=on mode="pages">{{BASEPAGENAME}}</categorytree>
# https://www.cyberciti.biz/faq/linux-ip-command-examples-usage-syntax/
</div>
 
----
 
{{Special:PrefixIndex/{{BASEPAGENAME}}/}}
[[Kategorie:Linux:Netzwerk]]
----
[[Kategorie:Linux:Befehl]]
* [[ping]]
{{DEFAULTSORT:ip}}
* [[Iproute2/net-tools]]
 
 
= TMP =
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 <tt>ifconfig</tt>, <tt>route</tt> und [https://wiki.ubuntuusers.de/netstat/ netstat] (sämtlich im Paket <tt>net-tools</tt>) an. Sie ist vollständig [https://wiki.ubuntuusers.de/IPv6/ IPv6]-kompatibel.
 
Enthalten sind des Weiteren die folgenden Werkzeuge: * <tt>ss</tt> ('''s'''ocket '''s'''tatus, <tt>netstat</tt>-Ersatz)
* <tt>lnstat</tt> (link state, auch <tt>ctstat</tt>)
* <tt>nstat</tt> (network statistics tool)
* <tt>routef</tt> (flush routes)
* <tt>routel</tt> (list routes)
* <tt>rtstat</tt> (route state monitoring)
 
 
 
Nur mit Root-Rechten zugänglich sind: <tt>arpd</tt> (userspace arp daemon), <tt>rtacct</tt> (routing table realms and policy propagation), <tt>rtmon</tt> (routing table monitor) und <tt>tc</tt> ('''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 <tt>iwconfig</tt>.
 
=== Installation ===
 
Die Programmsammlung ist unter Ubuntu vorinstalliert. Ansonsten braucht man folgendes Paket [https://wiki.ubuntuusers.de/ip/#source-1 [1]]:* '''iproute2'''
 
 
 
=== Aufruf ===
 
Die allgemeine Syntax lautet [https://wiki.ubuntuusers.de/ip/#source-1 [1]]:
 
ip OPTIONEN SCHNITTSTELLE
 
Da manche der Optionen dem System-Administrator vorbehalten sind, muss man je nach Anwendungsfall den Befehl <tt>sudo</tt> voranstellen [https://wiki.ubuntuusers.de/ip/#source-2 [2]].
 
Die [https://de.wikipedia.org/wiki/Classless_Inter-Domain_Routing CIDR]-Notation ermöglicht im Gegensatz zur Dezimalpunktschreibweise von IPv4 kürzere Ausdrücke. Beispiel: <tt>192.168.0.0/24</tt> entspricht dem bisherigen <tt>192.168.0.0/255.255.255.0</tt>. Während man früher wahlweise beide Schreibweisen verwenden konnte, ist nur noch CIDR erlaubt.
 
==== Optionen ====
 
'''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 <tt>help</tt>. Beispiel:
 
ip link help
 
Nachfolgend eine praktisch orientierte Übersicht, die alte und neue Befehle gegenüberstellt.
 
 
{| style="border-spacing:0;width:17cm;"
|- style="border:none;padding:0.049cm;"
| colspan="3" | Alte und neue Befehle
|- style="border:none;padding:0.049cm;"
|| Traditionell
|| Neu
|| Zweck
|- style="border:none;padding:0.049cm;"
|| <tt>ifconfig SCHNITTSTELLE</tt>  
|| <tt>ip addr show SCHNITTSTELLE</tt>
|| IP-Adresse anzeigen
|- style="border:none;padding:0.049cm;"
|| <tt>ifconfig SCHNITTSTELLE hw ether MAC-ADRESSE</tt>
|| <tt>ip link set dev SCHNITTSTELLE address MAC-ADDRESSE</tt>
|| MAC-Adresse ändern
|- style="border:none;padding:0.049cm;"
|| <tt>ifconfig SCHNITTSTELLE IP-ADRESSE netmask NETMASK broadcast BROADCAST</tt>  
|| <tt>ip addr change IP-ADRESSE/CIDR broadcast BROADCAST dev SCHNITTSTELLE</tt>  
|| IP-Adresse setzen
|- style="border:none;padding:0.049cm;"
|| <tt>ip addr add IP-ADRESSE/CIDR broadcast BROADCAST dev SCHNITTSTELLE</tt>
|| IP-Adresse hinzufügen
|- style="border:none;padding:0.049cm;"
|| <tt>ifconfig SCHNITTSTELLE:1 IP-ADRESSE/CIDR</tt>
|| <tt>ip addr add IP-ADRESSE/CIDR dev SCHNITTSTELLE label SCHNITTSTELLE:1</tt>
|| Alias anlegen
|- style="border:none;padding:0.049cm;"
|| -  
|| <tt>ip addr del IP-ADRESSE/CIDR dev SCHNITTSTELLE</tt>
|| IP-Adresse löschen
|- style="border:none;padding:0.049cm;"
|| <tt>ifconfig SCHNITTSTELLE up</tt>
|| <tt>ip link set SCHNITTSTELLE up</tt>
|| Schnittstelle aktivieren
|- style="border:none;padding:0.049cm;"
|| <tt>ifconfig SCHNITTSTELLE down</tt>
|| <tt>ip link set SCHNITTSTELLE down</tt>
|| Schnittstelle deaktivieren
|- style="border:none;padding:0.049cm;"
|| <tt>route</tt>, <tt>route -6</tt>
|| <tt>ip route</tt>, <tt>ip -6 route</tt>
|| Routen (für IPv6) anzeigen
|- style="border:none;padding:0.049cm;"
|| <tt>route add default gw IP-ADRESSE</tt>
|| <tt>ip route add default via IP-ADRESSE dev SCHNITTSTELLE</tt>
|| Gateway setzen
|- style="border:none;padding:0.049cm;"
|| <tt>arp -a</tt>
|| <tt>ip neighbour</tt>
|| [https://de.wikipedia.org/wiki/Address_Resolution_Protocol ARP]  
|- style="border:none;padding:0.049cm;"
|| <tt>netstat</tt>
|| <tt>ss</tt>
|| 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 <tt>ip addr show</tt>. Die Kurzform <tt>ip a s</tt> liefert das gleiche Ergebnis.
 
=== Beispiele ===
 
* Status aller Schnittstellen: <br/>ip link <br/>1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN <br/>    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00<br/>2: irda0: <NOARP> mtu 2048 qdisc noop state DOWN qlen 8<br/>    link/irda 00:00:00:00 brd ff:ff:ff:ff<br/>3: wlan0: <BROADCAST,MULTICAST> mtu 1500 qdisc mq state DOWN qlen 1000<br/>    link/ether 00:05:4e:4f:65:e5 brd ff:ff:ff:ff:ff:ff<br/>4: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
* Statistik aller Schnittstellen (wie bei <tt>ifconfig</tt>): <br/>ip -s link
* Statistik der Schnittstelle <tt>eth0</tt> anzeigen: <br/>ip -s link show eth0 <br/>4: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000<br/>    link/ether 00:0d:60:b1:16:7f brd ff:ff:ff:ff:ff:ff<br/>    RX: bytes  packets  errors  dropped overrun mcast  <br/>    2631476274 2634102  0      0      0      0      <br/>    TX: bytes  packets  errors  dropped carrier collsns <br/>    449098710  2363841  0      0      0      0
* IP-Adresse der Schnittstelle <tt>eth0</tt> anzeigen: <br/>ip addr show eth0 <br/>4: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000<br/>    link/ether 00:0d:60:b1:16:7f brd ff:ff:ff:ff:ff:ff<br/>    inet 192.168.178.68/24 brd 192.168.178.255 scope global eth0
* Standard-Gateway der aktiven Schnittstelle (<tt>eth0</tt>) anzeigen: <br/>ip route show | grep 'default' <br/>default via 192.168.178.1 dev eth0


<!--
=== Dokumentation ===
; Man-Page
# [https://manpages.debian.org/stable/procps/pgrep.1.de.html prep(1)]


; Info-Pages
-->


=== Links ===
=== Links ===
==== Projekt ====
==== Weblinks ====
# https://de.wikipedia.org/wiki/Iproute2


* [https://de.wikipedia.org/wiki/Iproute2 Iproute2] - Wikipedia
{{DEFAULTSORT:ip/Befehl}}
* Dokumentation:
{{DISPLAYTITLE:ip/Befehl}}
** [http://www.policyrouting.org/iproute2-toc.html IPROUTE2 Utility Suite Howto]
** [http://linux-ip.net/ Guide to IP Layer Network Administration]
** [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://wiki.ubuntuusers.de/Shell/Befehlsübersicht/ Shell/Befehlsübersicht] Übersicht über verschiedene Shell-Befehle
 
= TMP =
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.
 
== Vergleichstabelle 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
|<code>ip link show</code>
|<code>ip l</code>
|<code>ifconfig</code>
|-
|Linkstatus inkl. Statistik
(RX/TX bytes, errors, ...) anzeigen
|<code>ip -statistics link show</code>
|<code>ip -s l</code>
|<code>ifconfig</code>
|-
|IP Adresse anzeigen
|<code>ip addr show</code>
|<code>ip a</code>
|<code>ifconfig -a</code>
|-
|IP Adresse setzen
|<code>ip addr add IP/NETMASK dev DEVICE</code>
|<code>ip a a IP/NETMASK dev DEVICE</code>
|<code>ifconfig DEVICE IP/NETMASK</code>
|-
|IP Adresse entfernen
|<code>ip addr del IP/NETMASK dev DEVICE</code>
|<code>ip a d IP/NETMASK dev DEVICE</code>
|
|-
|IP Adressen entfernen
|<code>ip addr flush dev DEVICE</code>
|<code>ip a f dev DEVICE</code>
|
|-
|Routingtabelle anzeigen
|<code>ip route show</code>
|<code>ip r</code>
|<code>route -n</code>
|-
|Standardgateway setzen
|<code>ip route add default via IP</code>
|<code>ip r a default via IP</code>
|<code>route add default gw IP DEVICE</code>
|-
|ARP-Cache anzeigen
|<code>ip neigh show</code>
|<code>ip n</code>
|<code>arp -na</code>
|-
|Verbindungen anzeigen
|<code>ss --tcp --all --processes --extended --numeric</code>
|<code>ss -tapen</code>
|<code>netstat -tapen</code>
|}
 
== 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


== Weitere Informationen ==
[[Kategorie:Linux/Netzwerk/Befehl]]
[[Kategorie:Linux/Befehl]]
[[Kategorie:Iproute2/ip]]
[[Kategorie:iproute2]]


* Start Practising Linux ip command and Avoid the Habit of Using ifconfig (linoxide.com, 02.05.2014)
</noinclude>
* IProute2 fasst viele Befehle für die Netzkonfiguration zusammen (Linux Magazin 11/2006)

Aktuelle Version vom 7. September 2025, 07:50 Uhr

ip/Befehl - Konfiguration von Netzwerkschnittstellen

Beschreibung

Installation

ip ist Teil des Pakets iproute2

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

CIDR-Notation

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

Objekt Kurz Beschreibung
link l Netzwerkkarten
address a IP-Adressen
addrlabel addrl Etikettenkonfiguration
neighbour n ARP- und NDISC-Cache
route r Routing-Tabelle
rule ru Regel in der Routing-Richtliniendatenbank
maddress m Multicast-Adressen
mroute mr Multicast-Routing-Cache
tunnel t Tunnel
xfrm x IPSec

Soforthilfe

Objekt und Schlüsselwort help

ip link help

Optionen

Unix GNU Parameter Beschreibung

Parameter

Umgebung

Variablen

Exit-Status

Wert Beschreibung
0 Erfolg
>0 Fehler

Konfiguration

Dateien

Datei Beschreibung


Anhang

Siehe auch




Links

Projekt

Weblinks

  1. https://de.wikipedia.org/wiki/Iproute2