Redundantes Gateway inkl bonding unter Linux bauen

Folgendes Szenario:
– Zentrales Gateway mit Debian 8
– Uplink zu Zwei Internetanschlüssen
– Lastverteilung auf beide Uplinks
– lokaler Storage über bonding mit mehr als 1Gbit im LAN verfügbar machen
– dedizierte lokale Leitung ins Internet

Zwei Wohnungen liegen direkt übereinander, in jeder Wohnung gibt es einen DSL Anschluss mit 16Mbit. Ein zentraler Fileserver soll als Gateway fungieren. Eingehender Traffic auf eth0 soll ins Internet gelangen. Beide Internetanschlüsse terminieren am Fileserver und sollen zur Erhöhung der Geschwindigkeit parallel genutzt werden (eth3 und eth4). Der eingebaute Storage soll im LAN mit mehr als 1Gbit erreichbar sein, weshalb eth1 und eth2 zu bond0 zusammengefasst werden. Die Config dazu sieht wie folgt aus:

# The loopback network interface
#auto lo eth3 eth4 eth0 bond0
iface lo inet loopback

# internal network for internet
allow-hotplug eth0
iface eth0 inet static
address 10.3.3.2
netmask 255.0.0.0
broadcast 10.255.255.255
post-up iptables -t nat -A POSTROUTING -o eth3 -j MASQUERADE
post-up iptables -t nat -A POSTROUTING -o eth4 -j MASQUERADE
post-up ip route add default scope global nexthop via 192.168.1.1 dev eth3 weight 1 nexthop via 192.168.2.1 dev eth4 weight 1

# internal network for NAS access
allow-hotplug bond0
iface bond0 inet static
address 10.3.3.1
netmask 255.0.0.0
network 10.0.0.0
broadcast 10.255.255.255
dns-nameservers 8.8.8.8
bond-slaves eth1 eth2
bond-mode 4
bond-miimon 100
bond-updelay 200
bond-downdelay 200
post-up ip route add 10.0.0.0/8 dev bond0 src 10.3.3.1 table rt2
post-up ip rule add from 10.3.3.1 lookup rt2

# dummy entry because I would like to see eth1 in ifconfig
#allow-hotplug eth1
iface eth1 inet manual

# same shit as above
#allow-hotplug eth2
iface eth2 inet manual

# uplink to robert
allow-hotplug eth3
iface eth3 inet static
address 192.168.1.10
netmask 255.255.255.0
post-up ip route add 192.168.1.0/24 dev eth3 src 192.168.1.10 table robert
post-up ip route add default via 192.168.1.1 table robert
#post-up ip route add 127.0.0.0/8 dev lo table robert
post-up ip rule add from 192.168.1.10 table robert
post-down ip rule del from 192.168.1.10 table robert

# uplink to florian
allow-hotplug eth4
iface eth4 inet static
address 192.168.2.10
netmask 255.255.255.0
post-up ip route add 192.168.2.0/24 dev eth4 src 192.168.2.10 table florian
post-up ip route add default via dev 192.168.2.1 table florian
post-up ip rule add from 192.168.2.10 table florian
post-down ip rule del from 192.168.2.10 table florian

Das ganze wurde außerdem von Robert hier dokumentiert: C²FS
Außerdem gibt es noch eine kleine Gallerie hier: http://www.abload.de/gallery.php?key=simmlGVZ
Doku dazu: http://lartc.org/howto/lartc.rpdb.multiple-links.html
Linux Server mit mehreren NICs im selben Netz

This entry was posted in General, Linux, Nerd Stuff. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

Time limit is exhausted. Please reload CAPTCHA.