Lange Zeit war die ifconfig Befehl war die Standardmethode zum Konfigurieren einer Netzwerkschnittstelle. Es hat Linux-Benutzern gute Dienste geleistet, aber das Netzwerk ist komplex, und die Befehle zum Konfigurieren müssen robust sein. Die ip Der Befehl ist der neue Standard-Netzwerkbefehl für moderne Systeme, und in diesem Artikel zeige ich Ihnen, wie Sie ihn verwenden.
Die ip Der Befehl ist funktional auf zwei Schichten des OSI-Netzwerkstapels organisiert:Schicht 2 (Sicherungsschicht) und Schicht 3 (Netzwerk- oder IP-Schicht). Es erledigt die ganze Arbeit in den alten net-tools Paket.
IP installieren
Weitere Linux-Ressourcen
- Spickzettel für Linux-Befehle
- Spickzettel für fortgeschrittene Linux-Befehle
- Kostenloser Online-Kurs:RHEL Technical Overview
- Spickzettel für Linux-Netzwerke
- SELinux-Spickzettel
- Spickzettel für allgemeine Linux-Befehle
- Was sind Linux-Container?
- Unsere neuesten Linux-Artikel
Die ip Der Befehl ist in iproute2util enthalten Paket. Es ist wahrscheinlich bereits in Ihrer Linux-Distribution enthalten. Wenn dies nicht der Fall ist, können Sie es aus dem Software-Repository Ihrer Distribution installieren.
Vergleich von ipconfig und IP-Nutzung
Die ip und ipconfic Befehle können verwendet werden, um eine Netzwerkschnittstelle zu konfigurieren, aber sie machen Dinge anders. Ich werde vergleichen, wie allgemeine Aufgaben mit der alten (ipconfig ) und neu (ip ) Befehle.
Netzwerkschnittstelle und IP-Adresse anzeigen
Wenn Sie die IP-Adresse eines Hosts oder Informationen zur Netzwerkschnittstelle anzeigen möchten, ist die alte ifconfig Befehl ohne Argumente bietet eine gute Zusammenfassung:
$ ifconfig
eth0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether bc:ee:7b:5e:7d:d8 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 41 bytes 5551 (5.4 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 41 bytes 5551 (5.4 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.1.1.6 netmask 255.255.255.224 broadcast 10.1.1.31
inet6 fdb4:f58e:49f:4900:d46d:146b:b16:7212 prefixlen 64 scopeid 0x0<global>
inet6 fe80::8eb3:4bc0:7cbb:59e8 prefixlen 64 scopeid 0x20<link>
ether 08:71:90:81:1e:b5 txqueuelen 1000 (Ethernet)
RX packets 569459 bytes 779147444 (743.0 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 302882 bytes 38131213 (36.3 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Die neue ip Der Befehl liefert ähnliche Ergebnisse, aber der Befehl lautet ip address show , oder einfach ip a kurz:
$ 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: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
link/ether bc:ee:7b:5e:7d:d8 brd ff:ff:ff:ff:ff:ff
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 08:71:90:81:1e:b5 brd ff:ff:ff:ff:ff:ff
inet 10.1.1.6/27 brd 10.1.1.31 scope global dynamic wlan0
valid_lft 83490sec preferred_lft 83490sec
inet6 fdb4:f58e:49f:4900:d46d:146b:b16:7212/64 scope global noprefixroute dynamic
valid_lft 6909sec preferred_lft 3309sec
inet6 fe80::8eb3:4bc0:7cbb:59e8/64 scope link
valid_lft forever preferred_lft forever
IP-Adresse hinzufügen
So fügen Sie einer Schnittstelle mit ifconfig eine IP-Adresse hinzu , lautet der Befehl:
$ ifconfig eth0 add 192.9.203.21
Der Befehl ist ähnlich für ip :
$ ip address add 192.9.203.21 dev eth0
Unterbefehle in ip kann abgekürzt werden, daher ist dieser Befehl genauso gültig:
$ ip addr add 192.9.203.21 dev eth0 Sie können es noch kürzer machen:
$ ip a add 192.9.203.21 dev eth0 IP-Adresse entfernen
Die Umkehrung des Hinzufügens einer IP-Adresse ist das Entfernen einer IP-Adresse.
Mit ifconfig , lautet die Syntax:
$ ifconfig eth0 del 192.9.203.21
Die ip Befehlssyntax lautet:
$ ip a del 192.9.203.21 dev eth0 Multicast aktivieren oder deaktivieren
Aktivieren (oder Deaktivieren) von Multicast auf einer Schnittstelle mit ifconfig passiert beim multicast Argument:
# ifconfig eth0 multicast
Mit ip , verwenden Sie das set Unterbefehl mit dem Gerät (dev ) und einen booleschen Wert oder multicast umschalten Möglichkeit:
# ip link set dev eth0 multicast on Netzwerk aktivieren oder deaktivieren
Jeder Sysadmin kennt den alten „Schalte es aus und dann wieder ein“-Trick, um ein Problem zu beheben. In Bezug auf Netzwerkschnittstellen bedeutet dies, ein Netzwerk hoch- oder herunterzufahren.
Die ifconfig Befehl tut dies mit dem up oder down Schlüsselwörter:
# ifconfig eth0 up Oder Sie könnten einen speziellen Befehl verwenden:
# ifup eth0
Die ip Befehl verwendet den set Unterbefehl, um die Schnittstelle auf ein up zu setzen oder down Zustand:
# ip link set eth0 up Aktivieren oder deaktivieren Sie das Address Resolution Protocol (ARP)
Mit ifconfig , aktivieren Sie ARP, indem Sie es deklarieren:
# ifconfig eth0 arp
Mit ip , die Sie einstellen das arp Eigenschaft als on oder off :
# ip link set dev eth0 arp on Vor- und Nachteile von ip und ipconfig
Die ip Der Befehl ist vielseitiger und technisch effizienter als ifconfig weil es Netlink verwendet Sockets statt ioctl Systemaufrufe.
Die ip Der Befehl kann ausführlicher und komplexer erscheinen als ifconfig , aber das ist ein Grund, warum es vielseitiger ist. Sobald Sie anfangen, es zu verwenden, werden Sie ein Gefühl für seine interne Logik bekommen (zum Beispiel mit set statt einer scheinbar willkürlichen Mischung von Deklarationen oder Einstellungen).
Letztendlich ifconfig veraltet ist (z. B. keine vollständige Unterstützung für Netzwerk-Namespaces) und ip ist für das moderne Netzwerk konzipiert. Probieren Sie es aus, lernen Sie es, verwenden Sie es. Sie werden es nicht bereuen!