Mathias Sundman wrote:
Hi!

 > we use our linux vpn gateway and some win2000 road warrior clients with
 > openvpn. I would like to route all internet traffic trough our firewall
 > from the windows clients.

 I´ve been thinking about doing this too, but never accually tried it.

 What you basicly need to do is:

 1. Don´t set a default gateway on your ethernet adapter.

you have to set otherwise the vpn connection can't estabilished.

 2. Add a route to your openvpn server with a /32 mask pointing to the
    gateway on your ethernet.

    In your exampel this would be done with the following command on
    Win2K where w.x.y.z is the IP of your remote openvpn server,
    and a.b.c.254 is your local gateway.

    ROUTE ADD w.x.y.z MASK 255.255.255.255 a.b.c.254

 3. Setup OpenVPN as usual but also add a default gateway route to
    the TAP interface.


 The reason why I havn´t tried this is because I don´t know how to solve
 the problem that the ROUTE command will be diffrent for each network you
 hook your laptop into. So if you don´t want to manually do this every
 time, you would need to write a little app that looks at the IP and
 default gateway that has been assigned by DHCP, switch to static IP and
 add the correct route.

 Anyone that has a better solution to this?

you see exactly the problem!
on linux I can do (eg. in the up script):
----------------------------------
route add -host <remote-server-ip> dev ppp0
route del default dev ppp0
route add default dev tun0
----------------------------------
and we got it, but unfotunately on windows you can't route by interface (or to be more precise on windos the interface is defined by it's ip address even if you can specify the interface). so I'd like to suggest a new option for openvpn to be portable (like in the case of --route):
--route-internal
  which do exactly as the above on all platform.
since openvpn know whcih ip address has the under the tun/tap interface.
or may it would be more better if the up script has one more (6th) paramter and the underlying interface's ip address:
-----------------------------------
cmd tun_dev tun_mtu link_mtu ifconfig_local_ip ifconfig_remote_ip underlying_ip [ init | restart ] cmd tap_dev tap_mtu link_mtu ifconfig_local_ip ifconfig_netmask underlying_ip [ init | restart ]
-----------------------------------
and in this case on linux we cn write an up script as:
----------------------------------
route add -host $5 dev ppp0
route del default dev ppp0
route add default dev tun0
----------------------------------
while on windows
----------------------------------
route add $5 gw $6
route delete 0.0.0.0 mask 0.0.0.0 $5
route add 0.0.0.0 mask 0.0.0.0 $4
----------------------------------
does it possible? or any better solution?

--
  Levente                               "Si vis pacem para bellum!"



Reply via email to