Routovací tabulka (tabulky) se nastavují příkazem ip route
. Nejčastější operace je přídávání statických routovacích cest.
Nastavujeme routování příkazem ip
To se v linuxu dělá příkazem ip route add "dest" via "gw"
, kde „dest“ je cílová síť a „gw“ je router, přes který chceme packety do této cílové sítě dopravit. Např:
ip route add 10.0.0.0/8 via 192.168.0.1
Ostatní packety (obvykle směřující ven z naší sítě) se směřují na výchozí bránu sítě. Tu nastavíme:
ip route add default via "gw"
Tolik stručný úvod. Pokud náš stroj funguje jako server, je nutné tyto routovací cesty nastavit při každém startu. To se často dělá (pomocí příkazu ip
) v souboru /etc/rc.d/rc.local
, který se spouští po startu všech služeb.
Využíváme nástroje systému
Systémy postavené na Red Hat Linuxu (RHEL, Fedora, CentOS) nabízí lepší (ze systémového hlediska) možnost, jak nastavit statické směrovací cesty.
V adresáři /etc/sysconfig/network-script/
jsou soubory pro nastavení síťových rozhranní ifcfg-ethX
, kde se jednotlivým rozhraní přiřazují adresy IP. Pro nastavení routovacích cest potřebujeme vytvořit soubor route-ethX
, kde ethX
je síťové rozhranní, přes které mají packety opustit náš router. Syntaxe souboru je stejná jako syntaxe příkazu ip route add
. Tedy vše, co bychom chtěli zapsat za ip route add
napíšeme jako jednotlivé řádky do souboru route-ethX
.
Soubor route-eth0
pro nastavení směrování jako v předchozím příkladu by měl obsah:
# Router1 10.0.0.0/8 via 192.168.0.1
Řádky začínající znakem „#“ jsou ignorování a slouží jako poznámky.
Poznámka: výchozí brána
Výchozí bránu také můžeme nastavit v route-ethX
přídáním řádku default via "gw"
, ale lepší je nastavit ji v souboru /etc/sysconfig/network
, např:
NETWORKING=yes NETWORKING_IPV6=no HOSTNAME=centos51 GATEWAY=192.168.0.128
Nastavení IP_FORWARD
Pro funkční routování je nutné ještě nastavit ip_forward. Jinak by jádro zahazovalo packety, které mu nepatří (tj ty, které nepatří do sítí nastavených na rozhranních). To se nastavuje v souboru /etc/sysctl.conf/
net.ipv4.ip_forward = 1