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!