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!