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. Tyto sady příkazů jsou dostupné z net-tools který existuje již dlouhou dobu na téměř všech distribucích a obsahuje příkazy jako: ifconfig, route, nameif, iwconfig, iptunnel, netstat, arp.

Ifconfig vs IP příkaz

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. Tato alternativa je ip z 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án na dvou vrstvách Networking Stack, tzn Layer 2 (Link Layer), Layer 3 (IP Layer) 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.

Jeden z hlavních vrcholů, který ho odděluje od jeho starověkého protějšku ifconfig je to druhé použití ioctl pro konfiguraci sítě, což je méně oceňovaný způsob interakce s jádrem, zatímco první využívá mechanismus 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á síťové prostředí manipulační schopnost).

Nyní můžeme začít zdůrazňovat vlastnosti ifconfig a jak je účinně nahrazují ip.

Příkazy ip vs ifconfig

Následující část zdůrazňuje některé z nich ifconfigs a jejich výměna pomocí ips:

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

Zde je jeden rozlišovací znak mezi ip a ifconfig spočívá v tom, ž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
ifconfig: Zkontrolujte IP adresu
ifconfig: Zkontrolujte IP adresu
příkaz ip
$ ip a
ip: Zkontrolujte IP adresu
ip: Zkontrolujte IP adresu

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 do 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í/odebírá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 nastavuje hardwarovou adresu rozhraní eth0 na hodnotu zadanou v příkazu. To lze ověřit kontrolou HWaddr ve výstupu z 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.

# 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.

# ip link set dev eth0 promisc on

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

# 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 zakáže rozhraní eth0 a je ověřeno výstupem z ifconfig který ve výchozím nastavení zobrazuje pouze ta rozhraní, která jsou aktivní.

# ifconfig eth0 down

Chcete-li rozhraní znovu aktivovat, stačí jej vyměnit down podle up.

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

Pod ip je alternativou pro ifconfig k deaktivaci konkrétního rozhraní. To lze ověřit na výstupu ‚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čí jej vyměnit down up.

# 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. Pro deaktivaci stačí vyměnit on off.

# ip link set dev eth0 arp on

Závěr

Proto jsme zdůraznili vlastnosti ifconfig a jak je lze použít 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.

Nenechte si ujít: 15 ifconfig Příklady konfigurace síťového rozhraní v Linuxu

Nenechte si ujít: 10 ip Příklady příkazů pro konfiguraci síťového rozhraní v Linuxu