我正在尝试连接到我的wireguard
服务器,但它不工作,我对此束手无策。我怀疑这更多的是网络问题而不是 wireguard 问题,但我可能弄错了。我希望有人能给我一些指点。
我做了什么/什么有效
我在服务器上创建了几个配置,其中一个配置已添加到运行 Pop-OS 的客户端。如果客户端在 (W)LAN 上,它可以毫无问题地连接到服务器。
细节
客户端的设置。
# /etc/wireguard/wg0.conf
[Interface]
PrivateKey = [removed]
Address = 10.6.0.4/24
MTU = 1420
DNS = 8.8.8.8, 8.8.4.4
[Peer]
PublicKey = [removed]
PresharedKey = [removed]
Endpoint = somesubdomain.chickenkiller.com:51820 # I tried with this one...
#Endpoint = 192.168.1.220:51820 # ...and with this one.
AllowedIPs = 0.0.0.0/0, ::0/0
在 LAN 中,无论注释的端点是什么,这都可以起作用:
# sudo wg-quick up wg0
[#] ip link add wg0 type wireguard
[#] wg setconf wg0 /dev/fd/63
[#] ip -4 address add 10.6.0.4/24 dev wg0
[#] ip link set mtu 1420 up dev wg0
[#] resolvconf -a tun.wg0 -m 0 -x
[#] wg set wg0 fwmark 51820
[#] ip -6 route add ::/0 dev wg0 table 51820
[#] ip -6 rule add not fwmark 51820 table 51820
[#] ip -6 rule add table main suppress_prefixlength 0
[#] ip6tables-restore -n
[#] ip -4 route add 0.0.0.0/0 dev wg0 table 51820
[#] ip -4 rule add not fwmark 51820 table 51820
[#] ip -4 rule add table main suppress_prefixlength 0
[#] sysctl -q net.ipv4.conf.all.src_valid_mark=1
[#] iptables-restore -n
# sudo wg
interface: wg0
public key: [removed]
private key: (hidden)
listening port: 44709
fwmark: 0xca6c
peer: [removed]
preshared key: (hidden)
endpoint: 12.34.567.89:51820 # (WAN IP address or LAN IP address, depending on commented-in Endpoint in wg0.conf)
allowed ips: 0.0.0.0/0, ::/0
latest handshake: Now
transfer: 17.84 MiB received, 230.08 KiB sent
对于我的智能手机,使用该wireguard
应用程序,情况也是如此:当手机处于 WLAN 中时,连接正常。
什么不起作用
当客户端尝试通过互联网,它不再起作用。 的输出sudo wg-quick up wg0
与在 LAN 中时相同,但sudo wg
需要很长时间才能产生输出,并且当它产生输出时,它始终为 0 流量:
# sudo wg
interface: wg0
public key: [removed]
private key: (hidden)
listening port: 60955
fwmark: 0xca6c
peer: [removed]
preshared key: (hidden)
endpoint: 12.34.567.89:51820
allowed ips: 0.0.0.0/0, ::/0
transfer: 0 B received, 2.31 KiB sent
细节
在我看来,从 WAN 进入 LAN 存在问题,因此我最好破解旧的网络图。
这是 LAN 的设置:
在两个路由器上,端口上的 UDP 流量的端口转发51820
都处于活动状态。(在主路由器上,到辅助路由器,在辅助路由器上,到 vpn 服务器)
这当然不相关,但客户端通过 USB 连接智能手机的蜂窝数据连接连接到互联网,通过该连接它可以 ping 谷歌并正常访问互联网。
VPN 服务器正在运行一项服务来更新somesubdomain.chickenkiller.com
DDNS 服务,执行 ping 操作后显示它确实解析到了我的 WAN 地址。ping 操作也得到了响应:
~$ ping somesubdomain.chickenkiller.com
PING somesubdomain.chickenkiller.com (12.34.567.89) 56(84) bytes of data.
64 bytes from xxxxxxx.dynamic.kabel-deutschland.de (12.34.567.89): icmp_seq=1 ttl=47 time=77.1 ms
64 bytes from xxxxxxx.dynamic.kabel-deutschland.de (12.34.567.89): icmp_seq=2 ttl=47 time=76.1 ms
我并不是每天都从事网络和网络基础设施工作,所以如果有明显的原因,或者我遗漏了任何关键信息,请提前原谅我;只需询问,我会很乐意提供所需的任何其他数据。
附加信息/主要路由器设置
答案1
解决方案(好吧,解决方法):桥接模式
Atraceroute somesubdomain.chickenkiller.com -U -p 51820
显示数据包正在到达主路由器,但在那里终止了。
我估计 ISP 提供的硬件有意或无意地阻止了这些数据包,因此将设备转为桥接模式。辅助路由器已升级为主路由器,设置现在运行正常。我可以毫无问题地访问并连接到 wireguard 服务器。
感谢您的帮助。
并感谢沃达丰没有提供任何帮助。