Wireguard 客户端之间的访问 - UFW 阻止

Wireguard 客户端之间的访问 - UFW 阻止

与 UFW 相关的 wireguard 设置存在问题。

CLIENT A   -------- SERVER -------- CLIENT B
10.10.10.5         10.10.10.1      10.10.10.11

我想从客户端 A 访问客户端 B 的 SSH,但 UFW 用以下消息阻止了此操作。

在服务器上:

[UFW BLOCK] IN=wg0 OUT=wg0 MAC= SRC=10.10.10.5 DST=10.10.10.11 LEN=52 TOS=0x00 PREC=0x00 TTL=127 ID=28221 DF PROTO=TCP SPT=51201 DPT=22 WINDOW=64860 RES=0x00 SYN URGP=0

有人知道我必须添加哪个路由吗?在其他 VPN 配置中,建议将默认路由更改为允许。但服务器对互联网开放。

顺便说一句。客户端之间的 Ping 可以正常工作。

谢谢!

答案1

我刚刚在自己的设置上解决了这个问题。问题是我不知何故丢失了 iptables 设置,这允许在我的 wireguard 主机上伪装 wireguard 流量。以下是适当的命令(将 wg0 替换为您的 wireguard 设备,将 ens3 替换为您的 lan 设备):

iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE; ip6tables -A FORWARD -i wg0 -j ACCEPT; ip6tables -t nat -A POSTROUTING -o ens3 -j MASQUERADE

之后我又可以正常使用 ssh 了!你可以将这些添加到 wireguard 配置文件中,通过在服务器主机上的 wireguard 配置中添加以下几行来自动化 iptables [Interface]

PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE; ip6tables -A FORWARD -i wg0 -j ACCEPT; ip6tables -t nat -A POSTROUTING -o ens3 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o ens3 -j MASQUERADE; ip6tables -D FORWARD -i wg0 -j ACCEPT; ip6tables -t nat -D POSTROUTING -o ens3 -j MASQUERADE

来源:https://securityespresso.org/tutorials/2019/03/22/vpn-server-using-wireguard-on-ubuntu#configuration并且花费了太多时间来解决 wireguard 的问题 :)

相关内容