Program IP slouží ke konfiguraci síťových rozhraní počítače s operačním systémem Linux. V Slackware Linuxu je program ip obsažen v balíčku iproute2.Základní syntaxe příkazu se skládá z několika slov, kdy první je vždy ip
. Druhé slovo upřesňuje co chceme provádět a může kromě jiných nabývat těchto tvarů:
link
– zařízení,address
– adresa,route
– routování,neighbour, rule, maddress, mroute, tunnel
– další info v manuálu k programu ip.
Třetí slovo určuje akci, kterou budeme provádět a nabývá hodnot:
add
– přidat,delete
– vymazat,show (list)
– ukázat, zobrazit,set
– nastavit,flush
– vyčistit, obvykle to znamená vymazat vše najednou.
Možná jsou tam i nějaké další, ale já jsem si vystačil s těmito. Celý příkaz může vypadat například takto:
# ip link show eth0
přičemž to „eth0“ tam být nemusí, v tom případě se zobrazí základní informace o všech síťových rozhraních v počítači.
Pro zobrazení podrobnějších informací se používá parametr -s
. Příkaz pak vypadá takhle:
# ip -s link show eth0
To co se mi nejvíce líbí na programu ip je, že je možné jednotlivá slova v programu zkracovat, podobně jako v bashi. Takže příkaz
# ip address list
který vypíše ip adresy jednotlivých rozhraní, je možné zadat jednoduše takto:
# ip a l
– rychlé, účinné.
Příklady použití
1. Výpis seznamu síťových zařízení:
# ip link list
nebo také
# ip link show
a zkráceně by to vypadalo takto:
# ip l l
popřípadě
# ip l sh
2. Zapnutí (vypnutí) zařízení sl0:
# ip link set sl0 down
pro zapnutí zadáme
# ip link set sl0 up
zkráceně to již uvádět nebudu, ponechám vám prostor k pokusům.
3. Výpis nastavení zařízení:
# ip address list eth0
vypíše nastavní eth0, nezadáme-li místo eth0 nic, vypíše nastavení všech zařízení.
4. Nastavení ip adresy:
# ip address add 192.168.100.1/24 brd + dev eth0
nastaví ip adresu 192.168.100.1 s maskou 255.255.255.0 (v binární formě 24) pro zařízení eth0, broadcast nastaví na implicitní hodnotu, v tomto případě tedy 255.255.255.255. Místo znaménka plus můžeme zadat jinou než implicitní hodnotu broadcastu, např.:
# ip address add 192.168.100.1/28 brd 192.168.100.68 dev eth0
nastaví ip adresu 192.168.100.1 s maskou 255.255.255.248 (binárně 28) a broadcast nastaví na 192.168.100.68, přestože správně má broadcast pro ip adresy z uvedeného rozsahu vymezeného maskou 255.255.255.248 hodnotu 192.168.100.15 .
5. Vymazání nastavení rozhraní:
# ip address flush eth0
vymaže nastavení rozhraní eth0. Tentokrát je nezbytné uvedení rozhraní, kterého se příkaz týká.
6. Nastavení hodnoty MTU:
Hodnota MTU udává maximální velikost paketů, které jsou po daném zařízení přenášeny. V určitých případech má smysl její změna. Zde to uvádím pouze jako příklad nastavení jednoho z mnoha dostupných parametrů rozhraní.
# ip link set eth0 mtu 1000
Nastavení MTU na hodnotů 1000B.
7. Zobrazení routovacích pravidel:
# ip route list
vypíše routovací pravidla. Připomínám možnost zkrácení příkazu na:
# ip r l
8. Nastavení implicitní brány (gateway):
# ip route add default via 192.168.100.254
nastaví adresu výchozí brány na adresu 192.168.100.254 .
9. Zadání routovacího pravidla:
# ip route add 192.168.200.0 via 192.168.222.1
znamená, že vše pro síť 192.168.200.0 bude odesíláno přes vzdálené rozhraní 192.168.222.1 .
10. Změna MAC adresy:
# ip link set address 00:11:22:33:44:55 dev eth0
změní MAC adresu síťového rozhraní eth0 na zadanou hodnotu. Pozor! Kdo neví co dělá, ať tohle raději nedělá.
Nastavení síťového rozhraní krok za krokem
Mějme běžný PC s jedinou síťovou kartou připojený k firewallu s adresou 192.168.100.254. Adresa přidělená našemu počítači je 192.168.100.1 v třídě C, takže s maskou 255.255.255.0 – binárně 24. V podstatě nejběžnější stav, pominu-li DHCP. Síťové rozhraní je funkční a v systému je označeno jako eth0.
Nastavíme ip adresu, masku sítě a broadcast:
# ip address add 192.168.100.1/24 brd + dev eth0
Zapneme rozhraní:
# ip link set eth0 up
Nastavíme výchozí bránu:
# ip route add default via 192.168.100.254
A je to 🙂 Všechna takto provedená nastavení jsou platná do restartu stroje. Má-li být nastavení trvalé, použijte script netconfig
(v Slackware Linuxu) nebo můžete přímo editovat soubor/etc/rc.d/rc.inet1.conf
a /etc/hostname
. Další informace o programu ip najdete v manuálu. Je to zajímavé čtení čítající několik desítek stran.
V Praze 5.12.2005.