Ip/Befehl
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
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)
- 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
Die Programmsammlung ist unter Ubuntu vorinstalliert. Ansonsten braucht man folgendes Paket [1]:
- iproute2
Aufruf
Die allgemeine Syntax lautet:
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.
Übersicht
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
|
|
Alle 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 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
Zeigt nur die Netzwerkkarten an.
* ip -statistics link show
$ ip -statistics 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
Zeigt dir neben den Netzwerkschnittstellen auch die durchgegangen Pakete.
* 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
Zeigt die Netzwerkschnittstellen und ihre IP-Addressen.
* ip addr add IP/NETMASK dev DEVICE
# 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
Fügt eine neue Ip-Addresse zu einer Netzwerkkarte hinzu. IP/NETMASK ist die gewünschte IP-Addresse mit der CIDR-Notation. DEVICE ist der Name der Netzwerkkarte.
- ip addr del IP/NETMASK dev DEVICE
# 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
Löscht eine IP-Addresse von einer Netzwerkkarte.
* ip addr flush dev DEVICE
# 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
Löscht alle IP-Addressen von einer Netzwerkkarte
- 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
Zeigt die Routingtabelle
* ip route add default via IP
# ip route add d via 10.1.102.1 Fügt ein Standardgateway in die Routingtabelle hinzu.
* ip route hinzufügen
# ip route add 10.0.0.0/8 via 10.0.0.200 dev enp0s6 Fügt eine Route zum Netz 10.0.0.0/8 über den Router 10.0.0.200 hinzu. Die angegebene Schnittstelle sollte der internen des Routers 0.200 entsprechen (welche zu einem anderen Netz führ, beispielsweise 10.5.0.200).
* 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