我们有一个OpenVPN服务器 – 它在我们的内部子网上运行。 基本上,当VPN客户端连接的时候,他从VPN的子网中获得一个IP,到内部子网的路由被推送给他。 有些设备,如电话或笔记本电脑,有时在外面(所以他们使用VPN连接到内部子网),有时在内部(在内部子网,他们不需要VPN)。
客户端(无论是Win还是Linux)都将OpenVPNconfiguration为后台服务/作业,并在启动时自动将其连接到VPN。 但是,如果它们恰好位于内部子网中,则VPN连接是无用的。
如何告诉OpenVPN(也许在configuration文件中)不在内部子网内部连接(或者当VPN连接build立之前主服务器可达时)?
我一直在寻找答案,目前唯一的解决scheme是在VPN服务器上设置防火墙规则,拒绝来自内部子网的VPN连接。
这个解决scheme的一个优点是独立于客户端的操作系统。 另一方面,当客户端来到内部networking时,会导致无尽的连接尝试,可能会污染防火墙日志。 (我意识到最大重试选项,但我想保持它的无限,所以在服务器维护或失败的情况下VPN连接自动重新build立)。
有没有人提出一个更好的解决scheme?
当然,只要制定一个防火墙规则,阻止从您的内部子网到您的OpenVPN端口的stream量。