由于我不希望我的 VPN 中的朋友和同事将我的 VPN 服务器用作“匿名”浏览的代理 VPN,因此我想禁用 VPN 的默认路由。简而言之:
- LAN (
10.20.0.0/24
) 必须可访问 - WAN(
0.0.0.0/0
)必须无法访问
我找不到 WireGuard 设置来执行此操作除了在客户端配置中配置AllowedIPs
指令。但是,这能提供什么样的安全性呢?任何人都可以轻松编辑其配置,将其替换10.20.0.0/24
为0.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