Wireguard 客户端传入数据包丢失

Wireguard 客户端传入数据包丢失

我有一个运行 Ubuntu Server 的家庭服务器。我正在 docker 上运行一些服务,这些服务需要 VPN 客户端才能匿名。 wireguard 客户端作为独立应用程序运行。我正在运行 traefik 来使用 SSL 访问服务,效果很好。

附加信息:

  • IPeth0192.168.178.101
  • docker 网络位于子网范围内172.xx.xx.xx/16
  • 端口 80 和 443 是为 traefik 转发的端口。

当我启用 VPN 时,除了传入的 WAN 数据之外,一切都按预期工作。仅当我在 LAN 上时才能访问这些服务。当请求源自 WAN(路由器后面)时,数据包将被丢弃。

wireguard客户端配置如下:

[Interface]
PrivateKey = XXXXXXXXXXXXXXXX=
Address = 10.64.154.19/32
DNS = 10.64.0.1

PostUp = iptables -t nat -A POSTROUTING -s 192.168.178.0/32 -o wg0 -j MASQUERADE
PostUp = iptables -A INPUT -p udp -m udp --dport 51820 -j ACCEPT
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT
PostUp = iptables -A FORWARD -o wg0 -j ACCEPT

[Peer]
PublicKey = XXXXXXXXXXXXXXXX=
AllowedIPs = 0.0.0.0/0
Endpoint = XXXXXXXXXXXXXXXX:51820
  • 我使用tcpdump端口 443 作为过滤器,结果长度=0。
  • 我确实看过,iptables但对我来说看起来不错。
  • 我尝试添加AllowedIPs 和 docker 的子网eth0,但没有解决问题。
  • 当我禁用wireguard客户端时,一切都像以前一样正常工作。

知道可能是什么问题吗?我不是专业的网络工程师,也许我忽略了一些事情。

相关内容