Multihoming ehk trikid ruutinguga
Toores. Ehk seda pala võib täiendada.
Multihoming võimaldab kahe võrguühenduse korral hoida kasutajatele interneti töötavana ka ühe võrguühenduse äralangemisel.
/etc/network/interface
#Loopback auto lo iface lo inet loopback # The primary network interface auto eth0 iface eth0 inet static address 192.168.2.100 netmask 255.255.255.0 metric 100 gateway 192.168.2.1 auto eth1 iface eth1 inet static address 192.168.1.100 netmask 255.255.255.0 metric 200 gateway 192.168.1.1
- Metric : The distance to the target (usually counted in hops). It is not used by recent kernels, but may be needed by routing daemons.
Ehk siis nagu arusaan peaks valitama esmalt lühima metricu väärtusega võrguseade.
Ehk siis kui eth0 peaks maha kukkuma võtab eth1 töö juba üle (kasutades metric parameetrit) Tõhusam oleks aga seadistada lisaks vastav routingu reegel ip route abil
# ip route append default scope global nexthop via 192.168.2.1 dev eth0 weight 5 nexthop via 192.168.1.1 dev eth1 weight 1
Soovides näiteks hoida serveris oleva teenuse pidevalt kättesaadava üle mitme võrguühenduse.
Tavaliselt on Linuxis vaid üks default route kirje. See näitab, et kuhu tuleb liiklust suunata.
Tegelikult on linuxis mitmeid routing tabeleid, see mida vaikimisi kasutatakse on "main". Süsteemis leiduvad aga lisaks ka tabelid "local" ning "default"
ehitaja ~ # ip rule 0: from all lookup local 32766: from all lookup main 32767: from all lookup default
Lisaks on igal tabelil veel järekorranumber ja tingimuste seadistamise võimalus. Nn klassikaline routing vaatab ainult paketi sihtaadressi. lisaks sellele on võimalik vaadata aga ka veel lähteaadressi ning sisenevat-väljuvat liidest.
neit vaikeruutingu tabeleid näeb ja saab seadistada failist /etc/iproute2/rt_tables
Masinal on 2 võrgukaarti eth1 ja eth2 ning kummagil on oma IP ja erinev default route. Näiteks on mõlemad ühendatud erineva teenusepakkuja ühenduse külge
Ühendus läbi kahe isp näide 1
Kaks IP aadressi kahe erineva GW läbi ehk erinevatest võrkudest
Ip aadressiks mille lisame 193.40.0.75 netmask 255.255.255.240 ruuter on aadressil 193.40.0.65 ja võrk 193.40.0.0/28
Anname võrguseadmele aadressi
# ifconfig eth2 193.40.0.75 netmask 255.255.255.240
Ning seadistame ruutingud
# ip route add 193.40.0.0/28 dev eth2 src 193.40.0.75 table admin # ip route add default via 193.40.0.65 dev eth2 table admin
Seadistame reeglid
# ip rule add from 193.40.0.75/32 table admin # ip rule add to 193.40.0.75/32 table admin
Nüüd kui ühendus tuleb 193.40.0.75 aadressile saadetakse vastus läbi 193.40.0.65 ruuteri. Kui aga 193.40.0.5 peale vastatakse 193.40.0.1 kaudu.
Kaks isp ühendust, näite 2
- Võrguliides eth0 on ühendatud esimese teenusepakkuja külge ning omab ip aadressi 192.168.1.4/255 ja ruuterit 192.168.1.1
- Võrguliides eth1 on ühendatud teise teenusepakkuja külge ning omab ip aadressi 192.168.2.4/255 ja ruuterit 192.168.2.1
Server peab olema kättesaadav mõlema ISP kaudu
Lisame faili /etc/iproute2/rt_tables kaks uut rida, ehk loome uued ruutingutabellid
1000 teenusepakkuja1 1001 teenusepakkuja2
Lisame tabelisse vaikeruutingu kirjed
ip route add default via 192.168.1.1 table teenusepakkuja1 ip route add default via 192.168.2.1 table teeenusepakkuja2
Ja reeglid:
ip rule add from 192.168.1.4 table teenusepakkuja1 ip rule add from 192.168.2.4 table teenusepakkuja2
Kui ühendus tuleb internetist esimese võrguühenduse kaudu kaudu saadetakse vastus aadressilt 192.168.1.4 (ehk vaadatakse tabelit teenusepakkuja1)
http://lartc.org/howto/lartc.rpdb.multiple-links.html
http://www.mmacleod.ca/blog/2011/06/source-based-routing-with-freebsd-using-multiple-routing-table/
http://blog.ijun.org/2011/10/multiple-default-routes-gateways-with.html