OpenVPN-仅允许访问网络中的一台服务器

OpenVPN-仅允许访问网络中的一台服务器

一旦用户通过 OpenVPN 登录,是否可以阻止用户访问除特定服务器之外的每个服务器/IP,我该如何实现?

其他用户不会受到此限制的影响。

谢谢。

答案1

如果您为每个不同的用户使用 x.509 证书,则可以从 openvpn 远程 IP 池中分配一个唯一的 IP 地址。请--ifconfig-pool-persist file参阅OpenVPN 2.2 手册

此后,您就可以照常使用 iptables 了。

答案2

请查看存储库https://github.com/dmytro/openvpn_restrict

它使用learn-addressOpenVPN 的配置选项在客户端连接/断开连接时启动 IPTables 脚本。客户端通过证书的 CN 进行检测。

在 OpenVPN 配置中添加两行: learn-address /etc/openvpn/connect client-disconnect /etc/openvpn/connect

并按照README中描述的方式添加脚本和配置文件。

答案3

如果您的 openvpn 配置为使用路由而不是桥接,您可以根据他们发送的证书仅向他们推送主机路由 /32 来实现这一点。openvpn 示例配置有一个如何设置的示例。

相关内容