GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Warum Sie ifconfig für ip löschen müssen

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!


Linux
  1. Passwort-Hashing und warum wir es brauchen

  2. Reservierter Speicherplatz für Root auf einem Dateisystem – Warum?

  3. Benötigen Sie eine Shell für SCP?

  4. Benötigen Sie das „eingebaute“ Eingebaute?

  5. Warum gibt es keine DirectX-API für Linux?

3 Linux-Terminals, die Sie ausprobieren müssen

24 Linux-Desktops, die Sie ausprobieren müssen

Linux ifconfig Befehls-Tutorial für Anfänger (7 Beispiele)

11 Gründe, warum Sie zu Linux wechseln sollten

Benötigen Sie Java? So können Sie es Java unter Linux installieren

Warum müssen wir zum Herunterfahren und Neustarten im Terminal root sein?