Ip/Befehl
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
# ip OBJECT COMMAND
# ip [options] OBJECT COMMAND # ip OBJECT help
Grundlegendes zur 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
Anwendungen
Informationen zu Netzwerkschnittstellen 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
Entfernen / Löschen der IP-Adresse von der Schnittstelle
# 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
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
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 |