ip
command je výkonný nástroj pro konfiguraci síťových rozhraní, který by měl znát každý správce systému Linux. Používá se ke zvýšení nebo snížení rozhraní, přidělování a odstraňování adres a tras, správě mezipaměti ARP a mnohem více.
Tento článek vysvětluje, jak používat příkaz ip prostřednictvím praktických příkladů a podrobných vysvětlení nejběžnějších možností.
Jak používat příkaz ip #
ip
utility je součástí balíčku iproute2, který se instaluje na všechny moderní distribuce Linuxu.
Syntaxe pro ip
příkaz je následující:
ip [ OPTIONS ] OBJECT { COMMAND | help }
OBJECT je typ objektu, který chcete spravovat. Nejčastěji používané objekty (nebo dílčí příkazy) jsou:
link
(l
) – Zobrazení a úprava síťových rozhraní.address
(a
) – Zobrazení a úprava IP adres.route
(r
) – Zobrazení a změna směrovací tabulky.neigh
(n
) – Zobrazení a manipulace s objekty sousedů (tabulka ARP).
Objekt může být zapsán v plné nebo zkrácené (zkrácené) podobě. Chcete-li zobrazit seznam příkazů a argumentů pro každý objekt, zadejte ip OBJECT help
.
Při konfiguraci síťových rozhraní musíte příkazy spustit jako uživatel root nebo uživatel s oprávněními sudoprivileges. V opačném případě příkaz vypíše RTNETLINK answers: Operation not permitted
.
Konfigurace nastavené pomocí ip
příkaz nejsou trvalé. Po restartu systému jsou všechny změny ztraceny. Aby byly změny trvalé, musíte upravit konfigurační soubory specifické pro distribuci nebo přidat příkazy do spouštěcího skriptu.
Zobrazení a úprava IP adres #
Při práci s addr
objekt mají příkazy následující tvar:
ip addr [ COMMAND ] ADDRESS dev IFNAME
Nejčastěji používané PŘÍKAZY addr
objektem jsou:show
, add
a del
.
Zobrazit informace o všech IP adresách #
Chcete-li zobrazit seznam všech síťových rozhraní a související IP adresy, zadejte následující příkaz:
ip addr show
Výstup bude vypadat nějak takto:
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
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 52:54:00:8c:62:44 brd ff:ff:ff:ff:ff:ff
inet 192.168.121.241/24 brd 192.168.121.255 scope global dynamic eth0
valid_lft 2900sec preferred_lft 2900sec
inet6 fe80::5054:ff:fe8c:6244/64 scope link
valid_lft forever preferred_lft forever
Stejný výstup získáte, pokud vynecháte show
příkaz a zadejte:ip addr
.
Pokud chcete zobrazit pouze IPv4
nebo IPv6
IP adresy, použijte ip -4 addr
nebo ip -6 addr
.
Zobrazení informací o jediném síťovém rozhraní #
Chcete-li získat informace o konkrétním síťovém rozhraní, použijte ip addr show dev
následovaný názvem zařízení. Například dotaz eth0
, napsali byste:
ip addr show dev eth0
Přiřazení IP adres k rozhraní #
Chcete-li rozhraní přiřadit adresu IP, použijte následující syntaxi:
ip addr add ADDRESS dev IFNAME
Kde IFNAME
je název rozhraní a ADDRESS
je IP adresa, kterou chcete přiřadit rozhraní.
Chcete-li přidat adresu 192.168.121.45
s maskou sítě 24 do zařízení eth0
, napsali byste:
sudo ip address add 192.168.121.45/24 dev eth0
V případě úspěchu příkaz neukáže žádný výstup. Pokud rozhraní neexistuje, zobrazí se Cannot find device "eth0"
.
Přiřadit více IP adres ke stejnému rozhraní #
S ip
, můžete stejnému rozhraní přiřadit více adres. Například:
sudo ip address add 192.168.121.241/24 dev eth0
sudo ip address add 192.168.121.45/24 dev eth0
Pro potvrzení, že IP adresy jsou přiřazeny typu ip -4 addr show dev eth0
nebo ip -4 a show dev eth0
:
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
inet 192.168.121.241/24 brd 192.168.121.255 scope global dynamic eth0
valid_lft 3515sec preferred_lft 3515sec
inet 192.168.121.45/24 scope global secondary eth0
valid_lft forever preferred_lft forever
Odebrat / smazat IP adresu z rozhraní #
Syntaxe pro odstranění adresy IP z rozhraní je následující:
ip addr dev ADDRESS dev IFNAME
IFNAME je název rozhraní a ADDRESS je adresa IP, kterou chcete z rozhraní odstranit.
Chcete-li odstranit adresu 192.168.121.45/24
ze zařízení typu eth0:
sudo ip address del 192.168.121.45/24 dev eth0
Zobrazení a úprava síťových rozhraní #
Pro správu a zobrazení stavu síťových rozhraní použijte link
objekt.
Při práci s link
objektů, nejčastěji používané příkazy jsou:show
, set
, add
a del
.
Zobrazit informace o síťových rozhraních #
Chcete-li zobrazit seznam všech síťových rozhraní, zadejte následující příkaz:
ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
link/ether 52:54:00:8c:62:44 brd ff:ff:ff:ff:ff:ff
Na rozdíl od ip addr show
, ip link show
nevytiskne informace o IP adresách spojených se zařízením.
Chcete-li získat informace o konkrétním síťovém rozhraní, použijte ip link show dev
následovaný názvem zařízení. Například dotaz eth0
byste napsali:
ip link show dev eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
link/ether 52:54:00:8c:62:44 brd ff:ff:ff:ff:ff:ff
Změnit stav rozhraní NAHORU/DOLŮ #
Chcete-li rozhraní posunout nahoru nebo dolů, použijte ip link set dev
následovaný názvem zařízení a požadovaným stavem:
ip link set dev {DEVICE} {up|down}
Chcete-li například přivést rozhraní eth0
online, zadejte:
ip link set eth0 up
A převést, pokud je offline
ip link set eth0 down
Zobrazení a úprava směrovací tabulky #
Chcete-li přiřadit, odebrat a zobrazit směrovací tabulku jádra, použijte route
objekt. Nejčastěji používané příkazy při práci s objekty tras jsou:list
, add
a del
.
Zobrazit směrovací tabulku #
Chcete-li získat seznam položek trasy jádra, použijte jeden z následujících příkazů:
ip route
ip route list
ip route list SELECTOR
Při použití bez SELECTOR
příkaz vypíše všechny položky cesty v jádře:
ip route list
default via 192.168.121.1 dev eth0 proto dhcp src 192.168.121.241 metric 100
192.168.121.0/24 dev eth0 proto kernel scope link src 192.168.121.241
192.168.121.1 dev eth0 proto dhcp scope link src 192.168.121.241 metric 100
Chcete-li zobrazit pouze směrování pro konkrétní síť, například 172.17.0.0/16
byste napsali:
ip r list 172.17.0.0/16
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown
Přidat novou trasu #
Chcete-li přidat nový záznam do směrovací tabulky, použijte route add
příkaz následovaný názvem sítě nebo zařízení.
Přidat trasu na 192.168.121.0/24 přes bránu na 192.168.121.1
ip route add 192.168.121.0/24 via 192.168.121.1
Přidejte trasu na 192.168.121.0/24, která je dostupná na zařízení eth0.
ip route add 192.168.121.0/24 dev eth0
Chcete-li přidat výchozí trasu, použijte klíčové slovo default
. Následující příkaz přidá výchozí trasu přes místní bránu 192.168.121.1
které jsou dostupné na zařízení eth0
.
ip route add default via 192.168.121.1 dev eth0
Smazat trasu #
Chcete-li odstranit položku ze směrovací tabulky, použijte route add
příkaz. Syntaxe pro odstranění trasy je stejná jako při přidávání.
Následující příkaz odstraní výchozí trasu:
ip route del default
Smazat trasu pro 192.168.121.0/24 přes bránu na 192.168.121.1
ip route add 192.168.121.0/24 via 192.168.121.1
Závěr č.
Nyní byste měli dobře rozumět tomu, jak používat Linux ip
příkaz. Další informace o druhém ip
možnosti, navštivte stránku příkazu ip nebo zadejte man ip
ve vašem terminálu.
Pokud máte nějaké dotazy nebo zpětnou vazbu, neváhejte zanechat komentář.