首先,我对 VPN 完全是菜鸟。我只是按照教程安装了 OpenVPN。客户端可以互相看到,一切似乎都运行正常。
但是,所讨论的网络仅供客户端到客户端使用,我非常想限制对服务器自己的网络和服务(www、mysql、smb 等)的访问。换句话说,VPN 客户端只能通过 VPN 相互访问。
我甚至不完全确定这是否完全可能,但我认为一定有比配置每个服务来阻止某个 IP 范围更好的方法。
我正在运行 Debian Wheezy,采用几乎默认的网络和 OpenVPN 配置。
答案1
嗯,我只是随口说说...而且没有读过 OpenVPN 手册...
我会将所有用户放入他们自己的子网。如果您的服务器是 192.168.0.1,那么您可能会将您的用户放入他们自己的子网(即 192.168.1.1-244)。
然后,您可以确保所有服务/守护进程都绑定到特定地址,而不是 * 或 0.0.0.0。无论如何,了解您的服务绑定到哪些接口通常是一个好主意
只要 OpenVPN 不向客户端推送穿越这些子网的路由,它们就无法连接到你的后端服务(据我所知)
此外,IPTables 肯定可以成为你的第二道防线 -
你可以在 INPUT 链的顶部设置一条规则,删除来自 10.8.0.* 的所有连接,以及它们提供的任何服务需要访问(即 squid),你可以使用 IPTables“重定向”方法
希望这有帮助