Zum Inhalt springen

Ip/Befehl: Unterschied zwischen den Versionen

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


== Beschreibung ==
== Beschreibung ==
Der Befehl '''''ip''''' wird verwendet, um einer Netzwerkschnittstelle eine Adresse zuzuweisen und / oder Netzwerkschnittstellenparameter unter Linux-Betriebssystemen zu konfigurieren.
* Konfiguration von [[Netzwerkschnittstelle]]n unter Linux
* Dieser Befehl ersetzt den alten guten und jetzt veralteten Befehl '''''ifconfig''''' auf modernen Linux-Distributionen.
* ersetzt [[ifconfig]] 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/Befehl|ip]] ist Teil des Pakets [[iproute2]]
# apt install iproute2


== Syntax ==
== Aufruf ==
=== Optionen ===
<syntaxhighlight lang="bash" highlight="1" line>
=== Parameter ===
ip OBJECT COMMAND
=== Umgebungsvariablen ===
ip [options] OBJECT COMMAND
=== Exit-Status ===
ip OBJECT help
== Anwendung ==
ip OPTIONEN SCHNITTSTELLE
=== Fehlerbehebung ===
</syntaxhighlight>
== Konfiguration ==
=== Dateien ===
<noinclude>
== Anhang ==
=== Siehe auch ===
{{Special:PrefixIndex/{{BASEPAGENAME}}}}
==== Sicherheit ====
===== Man-Pages =====
==== Links ====
===== Projekt =====
===== Weblinks =====


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.


= TMP =
== Beispiele ==
Die folgenden Ausgaben zeigen einige Beispiele von iproute2 Kommandos.


=== ip help ===
{{:Ip/Befehl/Objekte}}
$ 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 ===
=== Soforthilfe ===
  $ ip link show
[[Objekt]] und Schlüsselwort ''help''
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
  ip link help
    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 ===
=== Optionen ===
$ ip link show
{| class="wikitable sortable options gnu big"
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 ==
# 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 [https://de.wikipedia.org/wiki/Classless_Inter-Domain_Routing 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.
 
==== OBJECTS-Syntax ====
OBJEKTE können eine der folgenden sein und können in vollständiger oder abgekürzter Form geschrieben sein:
 
{| class="wikitable"
|+
|-
! Objekt !! Kurzform !! Zweck
|-
|-
| link || l || Network device
! Unix !! GNU !! Parameter !! Beschreibung
|-
|-
| 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
|}
|}


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


# ip OBJECT help
== Umgebung ==
# ip OBJECT h
=== Variablen ===
# ip a help
# ip r help


 
=== Exit-Status ===
'''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.
{| class="wikitable options col1center big"
* Zusätzlich gibt es eine komfortable Soforthilfe: man kombiniert die gewünschte Option mit dem Schlüsselwort help.
$ ip link help
 
Nachfolgend eine praktisch orientierte Übersicht, die alte und neue Befehle gegenüberstellt.
{| class="wikitable sortable"
|-
|-
| colspan="3" | Alte und neue Befehle
! Wert !! Beschreibung
|-
|-
|| Traditionell
| 0 || Erfolg
|| Neu
|| Zweck
|-
|-
|| ifconfig SCHNITTSTELLE
| >0  || Fehler
|| ip addr show SCHNITTSTELLE
|}
|| IP-Adresse anzeigen
 
|-
== Konfiguration ==
|| ifconfig SCHNITTSTELLE hw ether MAC-ADRESSE
=== Dateien ===
|| ip link set dev SCHNITTSTELLE address MAC-ADDRESSE
{| class="wikitable options big"
|| 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
! Datei !! Beschreibung
|| 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
|| [https://de.wikipedia.org/wiki/Address_Resolution_Protocol ARP]
|-
|| netstat
|| ss
|| Sockets anzeigen
|-
|-
| ||
|}
|}


Die Optionen für ip kann man auch in Kurzschreibweise als Anfangsbuchstaben der Option angeben.
<noinclude>
* 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.
* Die Kurzform ip a s liefert das gleiche Ergebnis.


===Alt vs Neu===
== Anhang ==
Veralteter Linux-Befehl und deren Ersetzung:
=== Siehe auch ===
 
<div style="column-count:2">
{| class="wikitable"
<categorytree hideroot=on mode="pages">{{BASEPAGENAME}}</categorytree>
|+
</div>
|-
----
! Alter Befehl !! Neuer Befehl
{{Special:PrefixIndex/{{BASEPAGENAME}}/}}
|-
----
| ifconfig -a || ip a
* [[ping]]
|-
* [[Iproute2/net-tools]]
| 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
|-
| 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
|}


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


== Dokumentation ==
; Info-Pages  
=== Man-Pages ===
-->
=== Info-Pages ===
== Siehe auch ==
# [[ping]]


== Links ==
=== Links ===
=== Projekt ===
==== Projekt ====
=== Weblinks ===
==== Weblinks ====
# https://www.cyberciti.biz/faq/linux-ip-command-examples-usage-syntax/
# https://de.wikipedia.org/wiki/Iproute2
# 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)
* [https://de.wikipedia.org/wiki/Iproute2 Iproute2] - Wikipedia
* Dokumentation:
** [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


{{DEFAULTSORT:ip/Befehl}}
{{DISPLAYTITLE:ip/Befehl}}


[[Kategorie:Netzwerk/Befehl]]
[[Kategorie:Linux/Netzwerk/Befehl]]
[[Kategorie:Linux/Netzwerk]]
[[Kategorie:Linux/Befehl]]
[[Kategorie:Linux/Befehl]]
[[Kategorie:Iproute2/ip]]
[[Kategorie:iproute2]]
[[Kategorie:iproute2]]
{{DEFAULTSORT:ip}}
 
</noinclude>
</noinclude>

Aktuelle Version vom 7. September 2025, 06: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