我正在尝试使用 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 子网的宽松规则之前,需要测试此规则。)