Multihoming ehk trikid ruutinguga

Allikas: Kuutõrvaja
                                        Roheline.jpg Toores. Ehk seda pala võib täiendada.

Kõigepealt mõned lihtsad asjad. Esiteks vaikeruutingu seadistamine

# ip route add default via 192.168.1.254

Ja selle kustutamine

# ip route delete 192.168.1.0/24 dev eth0

Ning ruutingute vaatamine

# ip route show

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.

Neid vaikeruutingu tabeleid näeb ja saab seadistada failist /etc/iproute2/rt_tables

Kaks isp ühendust, näite 2

Masinal on 2 võrgukaarti eth0 ja eth1 ning kummagil on oma IP ja erinev default route. Näiteks on mõlemad ühendatud erineva teenusepakkuja ühenduse külge

  • 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

Tingimuseks on, et 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

Nüüd kui ühendus tuleb 192.168.1.3 aadressile saadetakse vastus läbi 192.168.1.1 ruuteri. Kui aga 192.168.2.3 peale vastatakse 192.168.2.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