我花了很长时间寻找“如何允许对等方仅访问互联网?”这个问题的答案,但我什么也没找到。我唯一明白的是,这可以通过 iptables 来实现。
仅限互联网访问意味着其他对等点无法被其他对等点访问
目前,这是我的 wireguard 配置 -
[Interface]
Address = 10.0.0.1/24
SaveConfig = true
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
ListenPort = 51830
PrivateKey = <private_key>
答案1
插入删除 wireguard 接口之间的“环回”转发的规则:
iptables -I FORWARD -i %i -o %i -j DROP
顺便说一下,ACCEPT
规则如下:
iptables -A FORWARD -i %i -j ACCEPT
-P FORWARD DROP
除非您有遵循的某个地方或一般规则,否则没有必要DROP
。(如果存在上述情况,则您的ACCEPT
规则本身就不够充分。)
-I
注:有关和 的区别-A
,或 的含义-P
,请参阅的手册页iptables
。长话短说,规则顺序在 iptables 中很重要(或者实际上,防火墙/{黑名单、白名单}一般)。不过,每个表(filter
、、nat
...)都有自己的顺序。(顺序在 中最为重要filter
。)
答案2
也许您正在寻找
AllowedIPs
([Peer] 配置部分)的 Wireguard 设置。
这是本地主机应通过 WireGuard 隧道路由到远程对等端的一组 IP 地址。此设置告知本地主机隧道中的内容。
例子:
AllowedIPs = 10.21.199.0/24
PersistentKeepalive = 25
有关详细信息,请参阅以下来源: