Vyhledávání na webu

ifconfig vs ip: Jaký je rozdíl a porovnání konfigurace sítě


Distribuce založené na Linuxu obsahují sadu příkazů, které umožňují snadnou a výkonnou konfiguraci sítě prostřednictvím příkazového řádku. Tato sada příkazů je dostupná z balíčku net-tools, který existuje již dlouhou dobu téměř ve všech distribucích a zahrnuje příkazy jako: ifconfig, route<, nameif, iwconfig, iptunnel, netstat, arp.

Tyto příkazy jsou téměř dostatečné pro konfiguraci sítě způsobem, který by chtěl každý nováček nebo zkušený uživatel Linuxu, ale kvůli pokroku v linuxovém jádře v posledních letech a kvůli neudržitelnosti této sady příkazů jsou zastaralé a výkonnější. se objevuje alternativa, která má schopnost nahradit všechny tyto příkazy.

Tato alternativa existuje již nějakou dobu a je mnohem výkonnější než kterýkoli z těchto příkazů. Zbytek sekcí by tuto alternativu zdůraznil a porovnal s jedním z příkazů z balíčku net-tools, tj. ifconfig.

ip – Náhrada za ifconfig

ifconfig existuje již dlouhou dobu a mnoho lidí jej stále používá ke konfiguraci, zobrazení a ovládání síťových rozhraní, ale v distribucích Linuxu nyní existuje nová alternativa, která je mnohem výkonnější než ona. Touto alternativou je příkaz ip z balíčku iproute2util.

I když se tento příkaz může na první stránce zdát trochu složitý, má mnohem širší funkčnost než ifconfig. Je funkčně organizována na dvou vrstvách Networking Stack, tj. Vrstva 2 (Linková vrstva), Vrstva 3 (Vrstva IP ) a provádí práci všech výše uvedených příkazů z balíčku net-tools.

Zatímco ifconfig většinou zobrazuje nebo upravuje rozhraní systému, tento příkaz je schopen provádět následující úkoly:

  1. Zobrazení nebo úprava vlastností rozhraní.
  2. Přidávání a odstraňování položek mezipaměti ARP při vytváření nové statické položky ARP pro hostitele.
  3. Zobrazení MAC adres spojených se všemi rozhraními.
  4. Zobrazení a úprava směrovacích tabulek jádra.

Jedním z hlavních předností, které jej odděluje od jeho prastarého protějšku ifconfig, je to, že druhý používá pro konfiguraci sítě ioctl, což je méně oceňovaný způsob interakce s jádrem, zatímco první využívá mechanismu netlink socket pro totéž, což je mnohem flexibilnější nástupce ioctl pro vzájemnou komunikaci mezi jádrem a uživatelským prostorem pomocí rtnetlink (který přidává možnost manipulace se síťovým prostředím).

Nyní můžeme začít zdůrazňovat vlastnosti ifconfig a jak jsou efektivně nahrazeny příkazem ip.

Příkazy ip vs ifconfig

Následující část zdůrazňuje některé příkazy ifconfig a jejich nahrazení pomocí příkazů ip:

1. Zobrazení všech síťových rozhraní v Linuxu

Jednou z vlastností, které se mezi ip a ifconfig liší, je to, že zatímco ifconfig zobrazuje pouze povolená rozhraní, ip zobrazuje všechna rozhraní, ať už jsou povolena nebo zakázána.

příkaz ifconfig
ifconfig

příkaz ip
ip a

2. Přidání nebo odstranění IP adresy v Linuxu

Níže uvedený příkaz přiřadí IP adresu 192.168.80.174 rozhraní eth0.

ifconfig – Přidat/Odstranit IP adresu
ifconfig eth0 add 192.168.80.174

Syntaxe pro přidání/odebírání rozhraní pomocí příkazu ifconfig:

ifconfig eth0 add 192.168.80.174
ifconfig eth0 del 192.168.80.174
ip – Přidat/Odstranit IP adresu
ip a add 192.168.80.174 dev eth0

Syntaxe pro přidání/odebrání rozhraní pomocí příkazu ip:

ip a add 192.168.80.174 dev eth0
ip a del 192.168.80.174 dev eth0

4. Přidejte MAC hardwarovou adresu do síťového rozhraní

Níže uvedený příkaz nastaví hardwarovou adresu pro rozhraní eth0 na hodnotu zadanou v příkazu. To lze ověřit kontrolou hodnoty HWaddr ve výstupu příkazu ifconfig.

ifconfig – Přidat MAC adresu

Zde je syntaxe pro přidání MAC adresy pomocí příkazu ifconfig:

ifconfig eth0 hw ether 00:0c:29:33:4e:aa
ip – Přidat MAC adresu

Zde je syntaxe pro přidání MAC adresy pomocí příkazu ip:

ip link set dev eth0 address 00:0c:29:33:4e:aa

4. Nastavení dalších konfigurací síťového rozhraní

Kromě nastavení IP adresy nebo hardwarové adresy, další konfigurace, které lze použít pro rozhraní, zahrnují:

  1. MTU (maximální přenosová jednotka)
  2. Vlajka vícesměrového vysílání
  3. Délka fronty přenosu
  4. Promiskuitní režim
  5. Povolit nebo zakázat veškerý režim vícesměrového vysílání
ifconfig – Další konfigurace sítě
ip – Další konfigurace sítě

A. Nastavte hodnotu MTU na 2000.

ifconfig eth0 mtu 2000
ip link set dev eth0 mtu 2000

b. Povolit nebo zakázat příznak vícesměrového vysílání.

ifconfig eth0 multicast
ip link set dev eth0 multicast on

C. Nastavení délky vysílací fronty.

ifconfig eth0 txqueuelen 1200
ip link set dev eth0 txqueuelen 1200

d. Povolení nebo zakázání promiskuitního režimu.

ifconfig eth0 promisc
ip link set dev eth0 promisc on

E. Povolit nebo zakázat veškerý režim vícesměrového vysílání.

ifconfig eth0 allmulti
ip link set dev eth0 allmulti on

5. Povolení nebo zakázání síťového rozhraní

Níže uvedené příkazy povolují nebo zakazují konkrétní síťové rozhraní.

ifconfig – Zakázat/Povolit síťové rozhraní

Níže uvedený příkaz deaktivuje rozhraní eth0 a je ověřen výstupem ifconfig, který ve výchozím nastavení zobrazuje pouze ta rozhraní, která jsou aktivní.

ifconfig eth0 down

Chcete-li rozhraní znovu aktivovat, stačí nahradit dolů výrazem nahoru.

ifconfig eth0 up
ip – Zakázat/Povolit síťové rozhraní

Níže uvedený příkaz ip je alternativou pro ifconfig k deaktivaci konkrétního rozhraní. To lze ověřit výstupem příkazu 'ip a', který standardně zobrazuje všechna rozhraní, buď nahoru nebo dolů, ale zvýrazní jejich stav spolu s popisem.

ip link set eth0 down

Chcete-li rozhraní znovu aktivovat, stačí nahradit dolů výrazem nahoru.

ip link set eth0 up

6. Povolte nebo zakažte použití protokolu ARP

Níže uvedené příkazy povolují nebo zakazují protokol ARP na konkrétním síťovém rozhraní.

ifconfig – povolí/zakáže protokol ARP

Příkaz umožňuje použití protokolu ARP s rozhraním eth0. Chcete-li tuto možnost zakázat, stačí nahradit arp za -arp.

ifconfig eth0 arp
ip – Povolí/zakáže protokol ARP

Tento příkaz je alternativou IP pro povolení ARP pro rozhraní eth0. Chcete-li deaktivovat, stačí nahradit on za off.

ip link set dev eth0 arp on

Závěr

Proto jsme zdůraznili vlastnosti příkazu ifconfig a jak je lze provést pomocí příkazu ip. V současné době distribuce Linuxu poskytují uživateli oba příkazy, takže je může používat podle svého pohodlí. Takže, který příkaz je podle vás vhodný, který byste raději použili? Zmiňte to ve svých komentářích.

Pokud se chcete o těchto dvou příkazech dozvědět více, měli byste si projít naše předchozí články, které ukazují některé praktické příklady příkazů ifconfig a ip podrobněji.

Nepřehlédněte: 15 „ifconfig “ příkladů konfigurace síťového rozhraní v Linuxu

Nepřehlédněte: 10 příkladů příkazů „ip “ pro konfiguraci síťového rozhraní v systému Linux