我正在尝试建立到公司服务器的 OpenVPN 连接,以便在家工作或不在办公室的任何人都可以访问我们的内部资源。
我已经正确设置了 VPN,使用了 Digital Ocean 博客上的指南(针对 16.04 编写)。
我可以从外线连接,ping 内部服务器和设备并访问其资源。效果很好。
但是,我们希望将连接限制为仅内部资源。我们不想通过 OpenVPN 进行互联网连接,这不是 VPN 的典型用途(屏蔽连接、绕过地理封锁或仅加密连接)。
这可能吗?我显然知道 VPN 连接需要能够与客户端通信,但除此之外,我想阻止所有与网络的连接。
所讨论的服务器也是在另一台机器上运行的虚拟机。
答案1
无需互联网连接即可访问内部资源,我认为这实际上是使用 OpenVPN 的常见情况。因此,如果您按照一些指南设置 OpenVPN 服务器,其中也有一些步骤允许将客户端流量转发到互联网,您需要撤消这些步骤。我认为您应该首先在服务器配置文件
push "redirect-gateway def1 bypass-dhcp"
然后,可以通过注释掉类似下面的行来禁用向客户端推送 DNS 服务器的功能
push "dhcp-option DNS xxx.xxx.xxx.xxx
当然,您需要在进行更改后重新加载 OpenVpn 配置。
sudo service openvpn reload
然后禁用数据包转发到互联网
echo 0 > /proc/sys/net/ipv4/ip_forward
要永久禁用转发,你还必须编辑
/etc/sysctl.conf
评论行
net.ipv4.ip_forward=1
现在我认为客户端不应该再通过 VPN 访问互联网。
答案2
我在客户端用不同的方法解决了这个问题
Windows:您必须打开 VPN 连接设置然后网络 > TCP/IPv4 > 属性 > 高级 - 禁用“使用远程网络的默认网关”选项