我正在使用 dd-wrt 并且能够让 VPN 正常工作,问题是我希望默认通过 VPN 路由流量,但也可以选择通过 Clearnet 网关路由。目前我有:
WAN_IF=`nvram get wan_iface
iptables -I FORWARD -i br0 -o $WAN_IF -j REJECT --reject-with icmp-host-prohibited
iptables -I FORWARD -i br0 -p tcp -o $WAN_IF -j REJECT --reject-with tcp-reset
iptables -I FORWARD -i br0 -p udp -o $WAN_IF -j REJECT --reject-with udp-reset
问题是,这似乎阻止了所有尝试通过常规 wan 的操作,这构成了一种很好的终止开关,但我至少需要一台设备/计算机才能直接访问互联网而不是通过 VPN?我想阻止除一个 MAC 地址之外的所有内容,例如:
iptables -I INPUT -i br0 -m mac ! --mac-source 00:12:34:56:78:9A -j ACCEPT
但这显然行不通。我花了一个下午的时间试图围绕 iptables 进行思考……这是一个漫长的下午,如果能指出如何纠正我所遇到的问题,我将不胜感激。
答案1
您的规则有两个错误:
iptables -I INPUT -i br0 -m mac ! --mac-source 00:12:34:56:78:9A -j ACCEPT
- 错误的链条:
iptables -I FORWARD 1
- MAC 检查反转:
-m mac --mac-source