Da eine Anleitung vorerst zu lange dauern würde, das ganze in Kurzformat.
Folgende Konfiguration auf meinem Server im RZ.
Kernel Optionen:
Code:
root@public-pop01:~# sysctl -p
net.ipv4.conf.default.rp_filter = 0
net.ipv4.conf.all.rp_filter = 0
net.ipv4.ip_forward = 1
Routing Tabelle auf dem Server (srv-pop01)
Code:
[...]
51.254.189.32/28 proto zebra metric 20
nexthop via 10.255.244.16 dev tun-s2s-vpn05 weight 1
nexthop via 10.255.242.16 dev tun-s2s-vpn03 weight 1
nexthop via 10.255.240.16 dev tun-s2s-vpn01 weight 1
nexthop via 10.255.241.16 dev tun-s2s-vpn02 weight 1
nexthop via 10.255.243.16 dev tun-s2s-vpn04 weight 1
[...]
Routing Eintrag auf dem private-pop01 (Linux VM zu Hause):
Code:
[...]
ip route 51.0.0.203/32 eth1
ip route 51.0.0.32/28 eth1
[...]
Über iproute2 habe ich eine weitere Routing Tabelle definiert auf dme private-pop01.
Code:
root@private-pop01-gw01:~# cat /etc/iproute2/rt_tables
#
# reserved values
#
255 local
254 main
253 default
0 unspec
#
# local
#
#1 inr.ruhep
1 public-pop01
In der Routing Tabelle 1 finden sich folgende Eintragungen.
Code:
root@private-pop01-gw01:~# ip route show table 1
default
nexthop via 10.255.240.18 dev tun-s2s-vpn01 weight 1
nexthop via 10.255.241.18 dev tun-s2s-vpn02 weight 1
nexthop via 10.255.242.18 dev tun-s2s-vpn03 weight 1
nexthop via 10.255.243.18 dev tun-s2s-vpn04 weight 1
nexthop via 10.255.244.18 dev tun-s2s-vpn05 weight 1
Nachdem die VPN Verbindung aufgebaut ist, wird per Multipath das default Gateway innerhalb der zweiten Routing Tabelle definiert.
Code:
#!/bin/sh
ip route add default table 1 \
nexthop via 10.255.240.18 dev tun-s2s-vpn01 weight 1 \
nexthop via 10.255.241.18 dev tun-s2s-vpn02 weight 1 \
nexthop via 10.255.242.18 dev tun-s2s-vpn03 weight 1 \
nexthop via 10.255.243.18 dev tun-s2s-vpn04 weight 1 \
nexthop via 10.255.244.18 dev tun-s2s-vpn05 weight 1
Zu guter letzt wird über die IP Rules definiert, dass Verbindungen von den öffentlichen Adressen über die zusätzliche Routing Tabelle laufen soll.
Code:
[...]
ip rule add from 51.0.0.203/32 table public-pop01
ip rule add from 51.0.0.32/28 table public-pop01
[...]
Auf den jeweiligen VPN Servern (da wo tun-s2s-vpn01 --> 05 steht.) ist im Grunde das gleich leicht Abgeändert konfiguriert. Traffic der von der Öffentlichen IP Adresse kommt, soll über die Point-to-Point Verbindung in Richtung RZ Server geschoben werden.
Zuguter letzt, bekommt der Server im RZ die Pakete, und leitet Sie seinem entsprechendem Standard Gateway weiter.
Ankommende Pakete leitet der Server entsprechend seiner Routing Tabelle weiter. Da der Private Pop einen Statischen Eintrag hat, dass auf eth1 sich die Adressen befinden, leitet er Sie durchs VPN weiter. Alles was Zurück gehen soll, muss über die Ip Rules und andere Routing Tabelle laufen, da sonst das Standard Gateway des jeweiligen Routers genutzt werden würde. Das ist notwendig, da sonst Person A etwas zu Person B sagt, Person A jedoch die Antwort von Person C bekommen würde. Und die Antwort abweisen würde, da Sie von Person B erwartet werden würde.
Adressen und Einträge teilweise verfälscht.