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