Brauche einen Tipp bei Policy Based Routing

Lord Gurke

Nur echt mit 32 Zähnen
Hallo zusammen,

ich bräuchte mal einen Tipp fürs Policy Based Routing - irgendwie komme ich da nicht weiter...

Hier steht ein Linux-Router unter Debian mit drei physikalischen Netzwerkkarten:
eth0 = LAN (Clients)
eth1 = WAN (da hängt das DSL-Modem dran)
eth2 = Switch für die Server

Zusätzlich gibt es noch
ppp0 = DSL-Verbindung (Default-Route nach draußen)
ppp1 = Ein PPTP-Tunnel, über den ein öffentliches IP-Netz geroutet wird


Das System funktioniert an sich, von eth0 aus wird mit NAT über ppp0 gesurft. Jetzt sollen die Server aber ihre öffentlichen IPs bekommen, die über ppp1 geroutet werden.
Da die Default-Route ja nunmal auf ppp0 gesetzt ist, muss ich Policy Based Routing einsetzen, damit die Server ihre öffentlichen IPs nutzen können.
Und hier zweifle ich an mir selbst:

Folgendes habe ich bisher zusammengefummelt:
Code:
ip route add 188.246.xx.yy/29 table 14 dev eth2
ip route add default table 15 dev $1

ip rule add from 188.246.xx.yy/29 prio 100 table 15
ip rule add to 188.246.xx.yy/29 from 0.0.0.0/0 prio 100 table 14
Dieser Code befindet sich in einem ip-up-Script und wird beim Herstellen der Tunnelverbindung ausgeführt - $1 wird dabei also immer durch das aktuelle Tunneldevice ersetzt (funktioniert!).


Ein "ip route" erzeugt diese Ausgabe:

Code:
188.246.0.50 dev ppp0  scope link  src 85.182.aa.bbb
213.191.89.30 dev ppp0  proto kernel  scope link  src 85.182.aa.bbb
188.246.xx.yy/29 dev eth2  proto kernel  scope link  src 188.246.xx.yy
192.168.1.0/24 dev eth1  proto kernel  scope link  src 192.168.1.2
192.168.0.0/24 dev eth0  proto kernel  scope link  src 192.168.0.3
default dev ppp0  scope link

Der erste Eintrag routet die Pakete zum PPTP-Server statisch über ppp0 raus, der sollte aber nicht weiter stören.

Problem:
Wenn ich von einem Server über eine IP aus dem gerouteten Netz nach draußen pinge, gehen die Pakete richtigerweise über ppp1 raus, die Antworten kommen auch wieder zurück, werden dann aber wegen der Defaultroute über ppp0 wieder rausgeschoben, wo sie dann wieder zum Tunnelserver geschickt werden, der mir die Pakete über ppp1 wieder reindrückt, von wo aus sie den Weg über ppp0 wieder raus nehmen, um über ppp1 wieder reinzukommen...

Kurz: Es geht nicht :D


Zugegebenermaßen ist es das erste Mal, dass ich mit PBR zu tun habe - habe ich da irgendwas übersehen?



Danke schonmal!
 
Back
Top