Ip/Befehl: Unterschied zwischen den Versionen
Zeile 96: | Zeile 96: | ||
= TMP = | = TMP = | ||
=Alt vs Neu= | =Alt vs Neu= |
Version vom 2. September 2022, 00:08 Uhr
topic kurze Beschreibung
Beschreibung
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.
Installation
Der Befehl ip ist im Paket iproute2 enthalten, welches standardmäßig installiert ist
# apt install iproute2
Anwendungen
Syntax
# ip OBJECT COMMAND
# ip [options] OBJECT COMMAND # ip OBJECT help
Optionen
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 |
Um Informationen zu jedem Objekt abzurufen, verwenden Sie den Hilfebefehl wie folgt:
# ip OBJECT help # ip OBJECT h # ip a help # ip r help
Parameter
Umgebungsvariablen
Exit-Status
Konfiguration
Dateien
Sicherheit
Dokumentation
RFC
Man-Pages
Info-Pages
Siehe auch
Links
Projekt-Homepage
Weblinks
Einzelnachweise
Testfragen
Testfrage 1
Testfrage 2
Testfrage 3
Testfrage 4
Testfrage 5
TMP
Alt vs Neu
Veralteter Linux-Befehl und deren Ersetzung:
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 |
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
Siehe auch
Extern
TMP
Mit der Programmsammlung 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 netstat (sämtlich im Paket net-tools) an. Sie ist vollständig IPv6-kompatibel.
Enthalten sind des Weiteren die folgenden Werkzeuge: * ss (socket status, 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 (traffic control). Dieser Artikel beschränkt sich auf den Befehl ip. Im WLAN-Bereich ist der Befehl iw der Ersatz für das bisherige iwconfig.
Aufruf
Die allgemeine Syntax lautet [1]:
ip OPTIONEN SCHNITTSTELLE
Da manche der Optionen dem System-Administrator vorbehalten sind, muss man je nach Anwendungsfall den Befehl sudo voranstellen [2].
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.
Optionen
ip kennt sehr viele Optionen (siehe auch Beispiele), die man bei Bedarf in der Manpage oder in der Dokumentation nachschlagen kann. Zusätzlich gibt es eine komfortable Soforthilfe: man kombiniert die gewünschte Option mit dem Schlüsselwort help. Beispiel:
ip link help
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.
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 bei 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
Links
- Iproute2 - Wikipedia
- Dokumentation:
- ipset - administration tool for kernel IP sets
- 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:
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
|
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
- 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)