Kromě výchozí trasy můžete také nakonfigurovat další trasy.
Například váš server může mít 2 rozhraní (eth0 a eth1). Ve výchozím nastavení je veškerý provoz směrován přes rozhraní eth0 bez ohledu na to, jakou IP adresu jste na eth1 nakonfigurovali.
Chcete-li směrovat příchozí a odchozí provoz přes eth1, jinou než výchozí trasu (eth0), musíte také přidat další trasy pro eth1.
V tomto tutoriálu použijeme následující příklad:
- eth0 byl nakonfigurován s IP adresou 19.86.101.54 s maskou sítě 255.255.255.0 a výchozí bránou 19.86.101.1
- eth1 byl nakonfigurován s IP adresou 19.86.100.176 s maskou sítě 255.255.255.0 a IP adresa jeho brány je 19.86.100.1
Svou aktuální IP adresu svých karet rozhraní můžete zobrazit pomocí příkazu ifconfig, jak je uvedeno níže.
# ifconfig -a eth0 Link encap:Ethernet HWaddr 00:50:56:8E:0B:EC inet addr:19.86.101.54 Bcast:19.86.101.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:3735 errors:0 dropped:0 overruns:0 frame:0 TX packets:336 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:295679 (288.7 Kb) TX bytes:50312 (49.1 Kb) eth1 Link encap:Ethernet HWaddr 00:50:56:8E:27:0D inet addr:19.86.100.176 Bcast:19.86.100.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:14 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:840 (840.0 b) TX bytes:0 (0.0 b)
Výstup příkazu netstat také indikuje, že výchozí brána ukazuje na eth0,
# netstat -rn Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 0.0.0.0 19.86.101.1 0.0.0.0 UG 0 0 0 eth0 19.86.100.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 19.86.101.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo 169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
S výše uvedeným nastavením můžete bez problémů pingnout na obě brány a komunikovat s ostatními zařízeními. Pamatujte však, že veškerý provoz je standardně směrován přes eth0.
Když odešlete příkaz ping na IP adresu 19.86.100.176 mimo vaši síť, můžete si všimnout, že nebude možné pingnout.
Abyste to mohli implementovat, musíte vytvořit novou politiku ve směrovací tabulce. Směrovací tabulka se nachází v /etc/iproute2/rt_tables. Počáteční soubor pravidel před konfigurací může vypadat jako soubor zobrazený níže.
# cat /etc/iproute2/rt_tables # # reserved values # 255 local 254 main 253 default 0 unspec # # local # #1 inr.ruhep #
Chcete-li zobrazit všechna aktuální pravidla, použijte příkaz ip, jak je uvedeno níže:
# ip rule show 0: from all lookup local 32766: from all lookup main 32767: from all lookup default
Nejprve si před provedením jakýchkoli změn vytvořte zálohu rt_Tables.
cd /etc/iproute2 cp rt_tables rt_tables.orig
Dále vytvořte nový záznam v tabulce směrování zásad v souboru /etc/iproute2/rt_tables:
echo "1 admin" >> /etc/iproute2/rt_tables
Nyní přidejte položky směrování do tabulky správce.
ip route add 19.86.100.0/24 dev eth1 src 19.86.100.176 table admin ip route add default via 19.86.100.1 dev eth1 table admin
Ve výše uvedeném příkladu:
- V prvním příkazu ip přidáváme do tabulky správce podsíť 19.86.100.0 s maskou sítě 255.255.255.0 se zdrojovou IP adresou 19.86.100.176 &device eth1.
- Ve druhém příkazu ip přidáváme do tabulky správce cestu 19.86.100.1. Tímto způsobem všechna pravidla definovaná v tabulce admin směrují provoz přes zařízení eth1.
Jakmile budou výše uvedené příkazy úspěšně provedeny, musíte instruovat operační systém, jak tuto tabulku používat.
V „ip rule show“ si můžete všimnout řádku „32766:from all lookup main“. Toto je řádek, který instruuje operační systém, aby směroval veškerý provoz definovaný v „hlavní“ tabulce, která je výchozí bránou.
Všechna pravidla se provádějí ve vzestupném pořadí. Přidáme tedy položky pravidel nad „hlavní“ tabulku.
ip rule add from 19.86.100.176/24 table admin ip rule add to 19.86.100.176/24 table admin ip route flush cache
Ve výše uvedeném příkladu:
- První příkaz přidává pravidlo, že veškerý provoz směřující na IP adresu eth1 musí používat směrovací tabulku „admin“ namísto „hlavní“.
- Druhý příkaz přidává pravidlo, že veškerý odchozí provoz z IP adresy eth1 musí používat směrovací tabulku „admin“ namísto „hlavní“.
- Třetí příkaz se používá k provedení všech těchto změn v předchozích příkazech
Nakonec pomocí následujícího příkazu ověřte, zda jsou změny provedeny správně:
# ip rule show 0: from all lookup local 32764: from all to 19.86.100.176/24 lookup admin 32765: from 19.86.100.176/24 lookup admin 32766: from all lookup main 32767: from all lookup default
V tuto chvíli byste měli být schopni pingnout IP adresu 19.86.100.176 z vnější sítě a zobrazit veškerý provoz, který má používat eth1, funguje podle očekávání.
Aby tyto změny byly trvalé i po restartu, můžete tyto příkazy přidat do /etc/init.d/boot.local (pro SUSE Linux) nebo /etc/rc.d/rc.local (pro Redhat, CentOS).
Pokud chcete nakonfigurovat ještě jednu IP adresu v jiné podsíti, opakujte všechny výše uvedené kroky, ale použijte jiný název tabulky. Místo tabulky „admin“ použijte tabulku „admin-new“.