Hei folks,

I'm trying to come up with a strategies for using OpenVPN as a system service (i.e. no user interaction required) and trusted networks.

The idea is to establish a VPN connection once the system boots on both linux and windows as a background service.

However, when the end-device (mostly laptop) is already connected to a trusted network (i.e. a VPN is not necessary and its routing configuration might even clash with the local IP subnet) a connection should not exist.

Although it looks easy to prevent initial connections to OpenVPN in such a trusted network (--client-connect returning non-zero, DNS split horizon, firewalling, etc.) I'm worried about roaming stations. I.e. laptops that are put into hibernation or perform vertical handovers (i.e. changing networks at the same place).


Intuitively, it might possible to implement on both the client and server side. -> Client: React to interface up / interface down events at the local machine and check the domains supplied by the DHCP service (this could be Microsofts Always On System is doing with IPSec). -> Server: Check source-ip on re-connects due to roaming. Terminate connection once the source-ip belongs to a certain network.

However, I haven't found any how-to or tutorial on actually implementing this. What hooks / API is availble? For instance, -> I'm worried about relying on "--ipchange", because if different networks utilize the same RFC1918 subnet, the local station could utilize the same host-id due DHCPREQUEST. -> Is --client-connect actually called every reconnect, i.e. if a connection is re-established due to client changing it's network. Or does it "freeze" until a ping-timeout is reached.

Do you have any ideas here?

Thanks,
yanosz


_______________________________________________
Openvpn-users mailing list
Openvpn-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openvpn-users

Reply via email to