使用 iptables 仅在 OpenVPN 网络上打开端口

使用 iptables 仅在 OpenVPN 网络上打开端口

我正在运行一个 OpenVPN 网络,我的网络中的一个 VPN 客户端是一个 Web 服务器,它可以访问我的应用程序使用的某些内部服务。

通常,在面向公众的 Web 服务器上,我会使用 iptables 打开端口 80,如下所示:

-A INPUT -p tcp --dport 80 -j ACCEPT

但是,对我的内部 Web 服务器执行此操作时,将会暴露私有 IP(192.168.x.x)上的端口 80,而这是我所不希望看到的,因为它可能会允许同一网络上的其他 VM(不一定由我控制)访问这台机器。

如何设置 iptables 规则,使得端口 80 只能通过 VPN IP(10.8.x.x)访问,以便只有我的网络中的 VPN 客户端才能访问它?

答案1

iptables -A INPUT -p tcp -s 10.8.0.0/16 -d 192.168.X.X --dport 80 -j ACCEPT

应该可以解决问题...除非你先进行 nat-i​​ng。

您甚至可以添加-i tun0或其他内容来限制接口名称。

相关内容