WireGuard:无法删除默认路由的 iptables 规则

WireGuard:无法删除默认路由的 iptables 规则

由于我不希望我的 VPN 中的朋友和同事将我的 VPN 服务器用作“匿名”浏览的代理 VPN,因此我想禁用 VPN 的默认路由。简而言之:

  • LAN ( 10.20.0.0/24) 必须可访问
  • WAN(0.0.0.0/0)必须无法访问

我找不到 WireGuard 设置来执行此操作除了在客户端配置中配置AllowedIPs指令。但是,这能提供什么样的安全性呢?任何人都可以轻松编辑其配置,将其替换10.20.0.0/240.0.0.0/0,然后使用我的 VPN 作为代理……

我的下一个方法是删除允许从 VPN 子网转发到 WAN 的 iptables 规则。但不知何故,我无法删除受影响的规则。如果我创建类似的规则(相同子网,相同策略),我可以删除它,但不知何故我无法删除 WireGuard 规则。

-->在以下输出中,相关规则已用 标记:

root@[...]:~# iptables -L FORWARD

    Chain FORWARD (policy DROP)
    target     prot opt source               destination
    ...
    ACCEPT     all  --  anywhere             10.6.0.0/24          ctstate RELATED,ESTABLISHED /* wireguard-forward-rule */
--> ACCEPT     all  --  10.6.0.0/24          anywhere             /* wireguard-forward-rule */

我尝试过摆脱此规则的命令:

root@[...]:~# iptables -D FORWARD -s 10.6.0.0/24 -j ACCEPT
iptables: Bad rule (does a matching rule exist in that chain?).

如果我再次添加相同的规则(不带注释):

root@[...]:~# iptables -L FORWARD

    Chain FORWARD (policy DROP)
    target     prot opt source               destination
    ...
    ACCEPT     all  --  anywhere             10.6.0.0/24          ctstate RELATED,ESTABLISHED /* wireguard-forward-rule */
--> ACCEPT     all  --  10.6.0.0/24          anywhere             /* wireguard-forward-rule */
--> ACCEPT     all  --  10.6.0.0/24          anywhere

root@[...]:~# iptables -D FORWARD -s 10.6.0.0/24 -j ACCEPT
root@[...]:~#

没问题...:|

注意:如果您需要更多日志/输出,请告诉我。提前致谢!

答案1

WireGuard 还指定了接口和注释。

删除规则时,这些必须完全匹配。您可以查看使用iptables-v选项的完整参数列表。

最终删除规则的命令是:

iptables -D FORWARD -i wg0 -o wlan0 -s 10.6.0.0/24 -m comment --comment "wireguard-forward-rule" -j ACCEPT

相关内容