我运行一个非常基本的 OpenVPN 服务器,其设置如下:DigitalOcean 的指南。它使用 UFW 仅允许 OpenVPN(默认端口)和 SSH 的传入连接。
现在,我还想在同一系统(端口 5901)上运行 VNC 服务。使用允许从任何地方访问 VNC 端口的防火墙规则,这可以正常工作,但是我希望只有在连接到 VPN 时才能访问 VNC 服务器。我对这样的防火墙规则应该是什么样子感到有点困惑。我可以在系统日志中看到,即使我连接到 VPN,来自 VNC 客户端的连接尝试也是从我的公共 IP 而不是 OpenVPN 给我的内部 IP 接收的。
有人知道怎么做吗?我最好的猜测是我必须设置源 NAT,但我希望有一个更简单的解决方案。
答案1
好的,我通过将 VNC 客户端连接到 OpenVPN 的内部 IP(10.8.0.1)并添加允许从该特定端口上的 tun0 进行连接的 UFW 规则解决了这个问题。有时它真的比你想象的要容易……