我们有一个 OpenVPN 服务器 - 它在我们的内部子网中物理运行。基本上,当 VPN 客户端连接时,他会从 VPN 的子网获取一个 IP,然后会向他推送一条到内部子网的路由。有些设备(例如电话或笔记本电脑)有时在外部(因此它们使用 VPN 连接到内部子网),有时在内部(在内部子网;它们不需要 VPN)。
客户端(Win 或 Linux)通常将 OpenVPN 配置为后台服务/作业,在启动时自动将其连接到 VPN。但是,如果它们恰好位于内部子网中,则 VPN 连接毫无用处。
如何告诉 OpenVPN(可能在配置文件中)在内部子网内时不要连接(或者等效于:在建立 VPN 连接之前可以访问主服务器时)?
我已经寻找答案一段时间了,到目前为止我发现的唯一解决方案是在 VPN 服务器上设置防火墙规则,拒绝来自内部子网的 VPN 连接。
一个优点是,该解决方案独立于客户端的操作系统。另一方面,当客户端进入内部网络时,会导致无休止的连接尝试,可能会污染防火墙日志。(我知道 max-retries 选项,但我想将其保持无限制,以便在服务器维护或故障时自动重新建立 VPN 连接)。
有人想出了更好的解决方案吗?
答案1
当然,只需制定防火墙规则阻止流量即可到你的 OpenVPN 端口从您的内部子网。