Multihoming ehk trikid ruutinguga

Allikas: Kuutõrvaja
Redaktsioon seisuga 10. september 2012, kell 17:47 kasutajalt Jj (arutelu | kaastöö)
                                        Roheline.jpg 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

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
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.

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

http://www.daemonforums.org/showthread.php?t=4610