GNU/Linux >> Znalost Linux >  >> Linux

Proč potřebujete vypustit ifconfig pro ip

Po dlouhou dobu, ifconfig příkaz byl výchozí metodou pro konfiguraci síťového rozhraní. Uživatelům Linuxu posloužil dobře, ale síťování je složité a příkazy k jeho konfiguraci musí být robustní. ip command je nový výchozí síťový příkaz pro moderní systémy a v tomto článku vám ukážu, jak jej používat.

ip příkaz je funkčně organizován na dvou vrstvách síťového zásobníku OSI:Layer 2 (vrstva datového spojení) a Layer 3 (síťová nebo IP vrstva). Dělá veškerou práci ve starých net-tools balíček.

Instalace IP

Další zdroje pro Linux

  • Cheat pro příkazy Linuxu
  • Cheat sheet pro pokročilé příkazy systému Linux
  • Bezplatný online kurz:Technický přehled RHEL
  • Síťový cheat pro Linux
  • Cheat sheet SELinux
  • Cheat pro běžné příkazy pro Linux
  • Co jsou kontejnery systému Linux?
  • Naše nejnovější články o Linuxu

ip příkaz je součástí iproute2util balík. Pravděpodobně je již součástí vaší distribuce Linuxu. Pokud tomu tak není, můžete jej nainstalovat ze softwarového úložiště vašeho distribuce.

Porovnání ipconfig a využití ip

ip a ipconfic příkazy lze použít ke konfiguraci síťového rozhraní, ale dělají věci jinak. Porovnám, jak provádět běžné úkoly se starým (ipconfig ) a nový (ip ) příkazy.

Zobrazení síťového rozhraní a adresy IP

Pokud chcete zobrazit IP adresu hostitele nebo zobrazit informace o síťovém rozhraní, starý ifconfig Příkaz bez argumentů poskytuje dobré shrnutí:

$ 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

Nová ip příkaz poskytuje podobné výsledky, ale příkaz je ip address show , nebo jednoduše ip a zkráceně:

$ 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

Přidat IP adresu

Přidání IP adresy do rozhraní pomocí ifconfig , příkaz je:

$ ifconfig eth0 add 192.9.203.21

Příkaz je podobný pro ip :

$ ip address add 192.9.203.21 dev eth0

Dílčí příkazy v ip lze zkrátit, takže tento příkaz je stejně platný:

$ ip addr add 192.9.203.21 dev eth0

Můžete to ještě zkrátit:

$ ip a add 192.9.203.21 dev eth0

Odebrání IP adresy

Opakem přidání IP adresy je její odstranění.

Pomocí ifconfig , syntaxe je:

$ ifconfig eth0 del 192.9.203.21

ip syntaxe příkazu je:

$ ip a del 192.9.203.21 dev eth0

Povolení nebo zakázání vícesměrového vysílání

Povolení (nebo zakázání) vícesměrového vysílání na rozhraní pomocí ifconfig se děje s multicast argument:

# ifconfig eth0 multicast

S ip , použijte set dílčí příkaz se zařízením (dev ) a logická hodnota nebo přepínač multicast možnost:

# ip link set dev eth0 multicast on

Povolení nebo zakázání sítě

Každý správce systému zná starý trik „vypnout a znovu zapnout“ k vyřešení problému. Pokud jde o síťová rozhraní, překládá se to jako zvednutí nebo snížení sítě.

ifconfig Příkaz to provede pomocí up nebo down klíčová slova:

# ifconfig eth0 up

Nebo můžete použít vyhrazený příkaz:

# ifup eth0

ip příkaz používá set dílčí příkaz pro nastavení rozhraní na up nebo down stav:

# ip link set eth0 up

Povolení nebo zakázání protokolu Address Resolution Protocol (ARP)

Pomocí ifconfig , povolíte ARP tím, že jej deklarujete:

# ifconfig eth0 arp

S ip , nastavíte arp vlastnost jako on nebo off :

# ip link set dev eth0 arp on

Výhody a nevýhody ip a ipconfig

ip příkaz je všestrannější a technicky efektivnější než ifconfig protože používá Netlink zásuvky spíše než ioctl systémová volání.

ip příkaz se může zdát podrobnější a složitější než ifconfig , ale to je jeden z důvodů, proč je univerzálnější. Jakmile jej začnete používat, pochopíte jeho vnitřní logiku (například pomocí set namísto zdánlivě libovolné směsi deklarací nebo nastavení).

Nakonec ifconfig je zastaralý (například postrádá plnou podporu pro síťové jmenné prostory) a ip je určen pro moderní sítě. Vyzkoušejte to, naučte se to, používejte to. Budete rádi, že jste to udělali!


Linux
  1. Hašování hesel a proč to potřebujeme

  2. 6 možností pro tcpdump, které potřebujete vědět

  3. Need For The `builtin` Builtin?

  1. Proč potřebujete umístit #!/bin/bash na začátek souboru skriptu?

  2. Proč neexistuje rozhraní DirectX API pro Linux?

  3. Proč potřebujeme soubor .so.1 v Linuxu?

  1. Proč mě moje potřeba kontroly přiměla přejít na Linux

  2. Co pro vás může udělat shell dotfile

  3. Potřebuji psát manuálové stránky pro knihovnu C?