阻止 DD-WRT 上的所有非 VPN 流量

阻止 DD-WRT 上的所有非 VPN 流量

我有一台安装了 DD-WRT 的路由器。刚刚在上面配置了 Open VPN。效果很好。

我现在想这样做,如果 VPN 隧道发生故障,所有流量都会被阻止,除了 VPN 连接本身之外,其他任何流量都不应直接流向 ISP。也就是说,路由器只应允许通过 VPN 进行通信。

在阅读几篇博客后,我发现了这行代码:

iptables -I FORWARD -i br0 -o eth1 -j DROP 

我已将其添加到启动和防火墙中。但似乎不起作用。我已禁用 VPN,但仍在写这个问题。

这就是我现在拥有的。用过几次 Reebot 后,它完全没有反应。 在此处输入图片描述

如果重要的话,它是运行固件的华硕 RT-N16 路由器:DD-WRT v24-sp2 (12/20/11) mega

当前桥梁(如果有帮助,请提供更多信息)。 在此处输入图片描述

编辑:我使用以下防火墙命令使其工作:

iptables -I FORWARD -i br0 -o tun0 -j ACCEPT
iptables -I FORWARD -i tun0 -o br0 -j ACCEPT
iptables -I FORWARD -i br0 -o vlan2 -j DROP
iptables -I INPUT -i tun0 -j REJECT
iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE

写了一篇文章详细介绍了如何在 DD-WRT 中使用它和 OpenVPN 来阻止所有非 VPN 流量:http://syntaxwarriors.com/p/1019/如何使用-DD-WRT-连接到-a-VPN-并阻止所有非VPN流量

答案1

您是否将 OpenVPN 作为 wrt 上的端点?FORWARD 规则不会影响源自华硕本身的流量,只会影响在华硕需要路由的不同接口上/通过该接口发送的流量。这张 Netfilter 图表可能会有帮助

示例(在您的 Linux 工作站上):添加一个从您的 WAN 接口发出的端口 80 的记录器(可能eth0在您的接口上,我运行一个br0用于虚拟化的桥):

# iptables -I FORWARD -o br0 -p tcp --dport 80 -j LOG --log-prefix="FWD: "

现在连接到使用端口 80 的服务器

# wget -q www.google.com -O /tmp/out.htm

检查你的向前链:

# iptables -nvL FORWARD
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 LOG        tcp  --  *      br0     0.0.0.0/0            0.0.0.0/0            tcp dpt:80 LOG flags 0 level 4 prefix "FWD: "

没什么..dmesg也很安静:

# dmesg | grep FWD:

什么都没有显示...所以现在尝试 OUTPUT 链:

# iptables -I OUTPUT -o br0 -p tcp --dport 80 -j LOG --log-prefix="OUT: "

重复 wget 后,您现在应该看到以下内容:

    # dmesg | grep OUT
...
    [427898.519765] OUT: IN= OUT=br0 SRC=192.168.1.6 DST=72.21.91.29 LEN=52 TOS=0x00 PREC=0x00 TTL=64 ID=62284 DF PROTO=TCP SPT=58982 DPT=80 WINDOW=242 RES=0x00 ACK URGP=0 

现在,丢弃所有出口 TCP 就变成了一条简单的规则,如下所示。您也可以省略-p tcp以阻止任何 IP 流量,这只是一个例子:

# iptables -I OUTPUT -o br0 -p tcp -j REJECT --reject-with icmp-host-prohibited

# wget www.google.com -O /tmp/foo
converted 'http://www.google.com' (ANSI_X3.4-1968) -> 'http://www.google.com' (UTF-8)
--2017-02-14 12:38:00--  http://www.google.com/
Resolving www.google.com (www.google.com)... 216.58.192.132, 2607:f8b0:4009:80c::2004
Connecting to www.google.com (www.google.com)|216.58.192.132|:80... failed: No route to host.
Connecting to www.google.com (www.google.com)|2607:f8b0:4009:80c::2004|:80... failed: Address family not supported by protocol.

相关内容