Wireguard 握手

Wireguard 握手

我有 3 台 Ubuntu 服务器。它们都运行 21.10。(Linux Nas1 5.13.0-1016-raspi #18-Ubuntu SMP PREEMPT 星期四 1 月 20 日 08:53:01 UTC 2022 aarch64 aarch64 aarch64 GNU/Linux

一个是 wireguard 服务器,另外两个是客户端。我最近安装了第三个服务器(客户端)。当我在这台机器上安装 wireguard 时,我检查了加载的内容,发现它确实启动并与空白的 wg0.conf 文件交互。

lsmod | grep wire

wireguard 90112 0

libchacha20poly1305 16384 1 Wireguard

libblake2s 16384 1 wireguard

libcurve25519_generic 40960 1 线卫

ip6_udp_tunnel 16384 1 线路防护

udp_tunnel 28672 1 线路防护

是否配置

wg0:标志=209 <UP,POINTOPOINT,RUNNING,NOARP> mtu 1420

    unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  txqueuelen 1000  (UNSPEC)
    RX packets 0  bytes 0 (0.0 B)
    RX errors 0  dropped 0  overruns 0  frame 0
    TX packets 0  bytes 0 (0.0 B)

我使用了与新客户端握手的完全相同的配置,只是在服务器配置的新 [Peer] 槽中使用公钥(在客户端上使用 cat 列出公钥),主机地址为 192.168.10.7(在服务器和客户端上),而正常工作的客户端的主机地址为 192.168.10.6。以下是配置。

服务器

[界面]

地址 = 192.168.10.1/24

私钥 =私钥

监听端口 = 51820

PostUp = iptables -A FORWARD -i %i -j 接受; iptables -A FORWARD -o %i -j 接受; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

PostDown = iptables -D FORWARD -i %i -j 接受; iptables -D FORWARD -o %i -j 接受; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

[同行]

#NAS_远程

公钥 = Rcl14dY+v76Pcw4uWmMUPwG0EdoBMjisDzsgGoBVFiI=

允许的 IP = 192.168.10.6/32

[同行]

#NAS1

公钥 = 44yLweAnZJmLrtQdGJPUYJvOeNCbme4YnsaR2/hA6Q8=

允许的 IP = 192.168.10.7/32

客户

[界面]

地址 = 192.168.10.7

私钥 =私钥

DNS = 8.8.8.8

[同行]

公钥 = E7k2xiSLRMy9wjuPTZIMKLoThQkv+4f0IJcYTbNAfAI=

终点 = <我的公用地址>:51820

允许 IP = 0.0.0.0/0,::/0

持久性保持活动 = 25

尽管如此,它不会握手,而另一个 192.168.10.6 会。我真的对这个感到困惑。任何帮助都将不胜感激。到目前为止,我已经花了三个周末试图弄清楚这一点。

02/27/22 更新 如果我使用本地 IP 作为端点而不是公共 URL(顺便说一句,它确实正确地转换为公共 IP),我可以让它进行握手。否则,我相信两台客户端机器是相同的。有效的公共 URL 是升级到 21.10,而不能使用公共 IP 的则是全新安装。

相关内容