Policy Based Routing, 2 Netzwerke und 2 VPNs

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
Benutzeravatar
me
Beiträge: 868
Registriert: 30.10.2005 00:14:23
Lizenz eigener Beiträge: GNU General Public License
Wohnort: Paderborn
Kontaktdaten:

Policy Based Routing, 2 Netzwerke und 2 VPNs

Beitrag von me » 16.05.2011 14:51:33

Hallo Forum,

ich habe hier folgende Konfiguration (IST Stand):

Debian Gateway mit eth0 und eth1, zwei Internetanschlüsse.
eth0:
Localnet
IP: 192.168.222.249
Netmask: 255.255.255.0 / 24
Gateway: 192.168.222.253 (das ist das sekundäre)

eth1:
Synchrones WAN
IP: 111.111.111.30
Netmask: 255.255.255.252 / 30
Gateway: 111.111.111.29

Zusätzlich lauschen dort auf eth1 zwei OpenVPNs:
tap0:
10.200.10.1
Netmask: 255.255.255.0 / 24

tap1:
10.200.11.1
Netmask: 255.255.255.0 / 24

Von außen verbinden sich die OVPN Clients und durch hinzufügen von routen beim Client (route für 192.168.222.0/24 via 10.200.{10,11}.1) haben die direkten Zugriff auf das Localnet.
IP Forwarding ist aktiv auf dem Gateway, so wie Masquerading in der POSTROUTING NAT Tabelle für 10.200.10.0/24, 10.200.11.0/24 und localnet/24 aktiv.


Damit ich auf dem Server selbst nun entscheiden kann, worüber in bestimmte Netze geroutet werden soll (direkt über den Server raus über eth1 oder zurück über eth0 an ein anderes Gateway) sollen die routen nun auf dem Server verwaltet werden, dafür muss ja auch PBR her.

Diesen Stand habe ich nun:

Code: Alles auswählen

# Tabellen anlegen
echo "1 adsl" >> /etc/iproute2/rt_tables
echo "2 synchron" >> /etc/iproute2/rt_tables

# Routen anlegen
ip route add 192.168.222.0/24 dev eth0 src 192.168.222.249 table adsl
ip route add default via 192.168.222.253 dev eth0 table adsl

ip route add 111.111.111.28/30 dev eth1 src 111.111.111.30 table synchron
ip route add default via 111.111.111.29 dev eth1 table synchron

# Rules anlegen
ip rule add from 192.168.222.249/24 table adsl
ip rule add to 192.168.222.249/24 table adsl

ip rule add from 111.111.111.30/30 table synchron
ip rule add to 111.111.111.30/30 table synchron

# Traffic in das Netz soll über die Synchrone Leitung abgewickelt werden.
ip route add 193.39.74.0/24 dev eth1 src 111.111.111.30 via 111.111.111.29 table local
ip route add 193.228.150.0/24 dev eth1 src 111.111.111.30 via 111.111.111.29 table local
Das ganze hat auch genau so funktioniert, wie es soll, auch externe Clients können sich weiter mit den Diensten vom Server verbinden (der hier immer nur ins localnet auf den entsprechenden Dienst leitet), allerdings funktionierte das VPN Routing nicht mehr. VPN Einwahl selbst war kein Problem, auch konnte ich vom Client und anders herum den Client über dessen VPN IP ansprechen (ping 10.200.10.1 quasi), allerdings hat das routing vom Client => VPN => localnet und zurück nicht funktioniert (destination unrechable).

In der Hast habe ich dann folgendes auf die schnelle probiert:

Code: Alles auswählen

echo "3 vpntcp" >> /etc/iproute2/rt_tables
echo "4 vpnudp" >> /etc/iproute2/rt_tables
ip rule add from 10.200.10.1/24 table vpntcp
ip rule add to 10.200.10.1/24 table vpntcp
ip rule add from 10.200.11.1/24 table vpnudp
ip rule add to 10.200.11.1/24 table vpnudp
ip route add 10.200.10.0/24 dev tap0 src 10.200.10.1 table vpntcp
ip route add default via 10.200.10.1 dev tap0 table vpntcp
ip route add 10.200.11.0/30 dev tap1 src 10.200.11.1 table vpnudp
ip route add default via 10.200.11.1 dev tap1 table vpnudp
Das hat aber leider auch keinen Erfolg gebracht, auch nicht nach einem ip route flush cache.

Wer hat Ideen, was ich da falsch gemacht habe?
Anytime if we think we were right,
we were maybe wrong.

Antworten