source based routing mit OpenVPN

Markus Wigge markus at cultcom.de
Mon Apr 21 19:06:55 CEST 2008


Hi,

ich breche mir grade die Finger an OpenVPN und hoffe jemand von euch 
hier hat eine Idee.

Ziel soll in etwa folgendes sein:

(192.168.1.0/24)        (192.168.1.0/24)
     client1                 client2
         |                      |
         +----------+-----------+
                    |
                 server (pool:10.8.1.0/24)
      (10.10.1.0/24 | 10.10.2.0/24)

Also beide (oder noch mehr) Clients haben den selben privaten 
Adressbereich und der Server soll abhängig von der Quell-IP die Pakete 
an den entsprechenden Client zustellen.

Ich würde nach Möglichkeit gerne vermeiden, auf Serverseite mehrere 
OpenVPN Instanzen auf unterschiedlichen Ports zu betreiben. Aber bisher 
ist das die einzige mir bekannte Lösung für das Problem.

Da OpenVPN in seinem internen Routing das scheinbar nicht unterstützt, 
frage ich mich, ob man das evtl. vom Linuxkernel machen lassen kann.

Also jeweils eine Hostroute für den Client Eintragen und dann source 
based routing aktivieren. Leider führte diese Idee bisher nicht zum Erfolg:
ip rule add from 10.10.1.0/24 table 100
ip rule add from 10.10.2.0/24 table 101

ip route add 10.8.1.6 dev tun1 # (client1)
ip route add 10.8.1.10 dev tun1 # (client2)

ip route add 192.168.1.1/24 via 10.8.1.6 table 100
ip route add 192.168.1.1/24 via 10.8.1.10 table 101

Vielleicht kann mir ja mal jemand meinen Denkfehler hier erläutern oder 
andere Vorschläge machen...
Ein "ping -I 10.10.1.1 192.168.1.1" erzeugte leider kein einziges Paket 
im tun-Device.

Gruß,
Markus



More information about the Linux mailing list