Source based routing ist nicht schön, aber manchmal wirklich notwendig. Allerdings geht es mit dem iproute2 Paket auch wirklich einfach. In meinem Fall habe ich 2 Internet-Anbindungen wovon die erste (default) für alle offziellen Adressen genutzt werden soll, die zweite rein für Traffic aus dem VPN.
Folgende Schritte sind notwendig.
- Als erstes muss die Tabelle in /etc/iproute2/rt_table definiert werden. In meinem Fall:
10 vpn-link
- Das Routing für das VPN muss definiert werden:
ip route add 172.16.128.0/20 via 172.16.1.253 table vpn-link ip route add default via 172.16.1.254 table vpn-link ip route list table vpn-link
- Jetzt muss noch die Tabelle für die Source Route aktiviert werden
ip rule add from 172.16.128.0/20 table vpn-link ip rule list
Ginge das nur mit Windows auch so einfach.
Source based routing ist übrigens nicht schön, weil es mehr Last erzeugt. Schließlich müssen weitere 32 Bit (Source-Adresse) aus dem IP-Header verarbeitet werden.