我正在尝试连接到我的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
在局域网时一样,但是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 有问题,所以我最好破解旧的网络图。
这是局域网的设置:
在两个路由器上,端口上的 UDP 流量的端口转发51820
都处于活动状态。(在主路由器上,到辅助路由器,在辅助路由器上,到 VPN 服务器)
这肯定不相关,但客户端通过 USB 连接的智能手机的蜂窝数据连接连接到互联网,通过它可以 ping 谷歌并正常访问互联网。
VPN Server 正在运行一项服务来更新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
我不是每天都在处理网络和网络基础设施,所以如果有明显的原因,或者我遗漏了任何关键信息,请提前原谅;只需询问,我会很乐意提供所需的任何其他数据。
附加信息/主路由器设置
解决方案(好吧,解决方法):桥接模式
A
traceroute somesubdomain.chickenkiller.com -U -p 51820
表明数据包正在到达主路由器,但在那里死掉了。我假设 ISP 提供的硬件会意外或有意阻止这些数据包,并将设备转为桥接模式。辅助路由器已升级为主路由器,现在设置工作正常。我可以毫无问题地访问并连接到wireguard服务器。
谢谢你的帮助。
感谢沃达丰的帮助。