如何为我的 OpenVPN 应用 iptables 规则?

如何为我的 OpenVPN 应用 iptables 规则?

我正在尝试使用 iptables 规则,但它不起作用。就我而言,我想阻止特定的 IP 地址,以便我的客户端无法访问特定的网站。

我正在使用 VPS,我的ifconfig外观如下:

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0


tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:10.8.0.1  P-t-P:10.8.0.1  Mask:255.255.255.0


venet0    Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:127.0.0.2  P-t-P:127.0.0.2  Bcast:0.0.0.0  Mask:255.255.255.255


venet0:0  Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:my first wan ip

venet0:1  Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:my second wan ip

因此,我已尝试过这种方法,但仍然无效:

/sbin/iptables -A OUTPUT -o tun -d --ip-- -j REJECT # blocked ip

答案1

如果规则应该在 OpenVPN 客户端上:

/sbin/iptables -A OUTPUT -o tun+ -d ip 地址 -j REJECT

(另请确保您尝试阻止的网站的请求不会通过不同的设备路由。)

如果规则应该在 OpenVPN 服务器上:

要阻止来自虚拟网络上的客户端通过 OpenVPN 服务器隧道传输到 ip 地址的所有请求:

/sbin/iptables -I FORWARD 1 -i tun+ -d ip 地址 -j REJECT

(在其他允许流量进入 VPN 子网的宽松规则之前,需要测试此规则。)

相关内容