关于 WireGuard 连接的问题

2023 年 10 月 16 日
 UserName99
在树莓派上搭了个 WireGuard Server ,在其他地方用两个电脑连接时,第一个可以正常连接,第二个只有少量发送流量,没有接收流量。配置如下:

WireGuard Server
--------------------------------
[Interface]
PrivateKey = xxxxxx
Address = 10.8.0.1/24
ListenPort = xxxx
SaveConfig = true

PostUp = ufw route allow in on wg0 out on wlan0
PostUp = iptables -t nat -I POSTROUTING -o wlan0 -j MASQUERADE
PostUp = ip6tables -t nat -I POSTROUTING -o wlan0 -j MASQUERADE
PreDown = ufw route delete allow in on wg0 out on wlan0
PreDown = iptables -t nat -D POSTROUTING -o wlan0 -j MASQUERADE
PreDown = ip6tables -t nat -D POSTROUTING -o wlan0 -j MASQUERADE

client1
---------------------------
[Interface]
PrivateKey = xxxxxx
Address = 10.8.0.2/24
DNS = 114.114.114.114

[Peer]
PublicKey = [Server PublicKey]
AllowedIPs = 0.0.0.0/0
Endpoint = example.com:xxxx

client2
-----------------------------
[Interface]
PrivateKey = xxxxxx
Address = 10.8.0.3/24
DNS = 114.114.114.114

[Peer]
PublicKey = [Server PublicKey]
AllowedIPs = 0.0.0.0/0
Endpoint = example.com:xxxx


两个客户端都是 Mac App Store 下载的官方客户端,client1 连接后发送接收流量都有,可以正常上网,client2 连接后只有少量发送流量,没有接收流量,不能上网。然后又在 Windows 上用官方客户端试了一下,同样只有少量发送流量,没有接收流量。配置都是一样的格式,为什么只有一个能正常连接。
6536 次点击
所在节点    宽带症候群
23 条回复
stinkytofu
2023 年 10 月 16 日
我一直都配不好 WireGuard , 真的太累了, 我就想在两个局域网各运行一个 client, 然后两边的局域网内设备全部互通, 一直都搞不定, 心累
ysc3839
2023 年 10 月 16 日
Server 那里没配置 Peer ?
另外建议防火墙换 firewalld ,把 wg0 接口添加到 trusted zone ,然后 public zone --add-masquerade 就能 NAT 转发了。
kljsandjb
2023 年 10 月 16 日
@stinkytofu 确实上手性比不上 open vpn
wuruxu
2023 年 10 月 16 日
不能用的这个机器 换个 KEY ,重新试下
chenall
2023 年 10 月 16 日
wiregurard 每台机器都必须要用一个唯一的 PrivateKey ,不能像 open VPN 一样共用。
Quarter
2023 年 10 月 16 日
推荐用个 docker 面板一键部署,比较省事
zhcode
2023 年 10 月 16 日
我也配不好,所以我用 wg-easy ,有 webui ,简单方便
hahaha121
2023 年 10 月 16 日
WireGuard Server 端相应的 peer 要配置 AllowedIPs,client 本身不需要添加
hahaha121
2023 年 10 月 16 日
@stinkytofu WireGuard Server 端相应的 peer 要配置 AllowedIPs,client 本身不需要添加 我用的是 wg-easy 就是这个问题搞了好久
mcluyu
2023 年 10 月 16 日
client2
-----------------------------
[Interface]
PrivateKey = xxxxxx
Address = 10.8.0.3/24
DNS = 114.114.114.114


超过一个 client 后, 地址不能是 /24, 10.8.0.3/32 应该就没问题了, 当初我折腾了好久不管怎么搞都是只有一个能连上
lifekevin
2023 年 10 月 16 日
我就嫌弃自己写配置麻烦,搞了个 wg-gen-web ( GitHub 上有,docker 部署),就简单多了。
helllkz
2023 年 10 月 16 日
WG 是真的难赔,不是说技术多难,而是繁琐,一个 peer 一个配置文件,还要记清楚,所以我现在用 tailscale 了,总归好一些,OpenVPN 也可以,前提得有公网 IP
xiamy1314
2023 年 10 月 16 日
还行,就是会不小心弄乱。。
Getting
2023 年 10 月 16 日
感觉还是 zerotier 比较简单
lovelylain
2023 年 10 月 16 日
@stinkytofu 两边都是 openwrt 的话,还是挺容易的,在网络里配置 wireguard 类型的接口就行。因为很多服务都通过 docker 运行的,所以我之前也试图通过 docker 跑 wireguard ,一看镜像和配置,觉得复杂劝退,后来直接在 openwrt 本身的页面上配置,简单的一逼,有了这个基础再去手机上配置,也很容易。
onR3OQ22adAGKq8g
2023 年 10 月 16 日
@lifekevin #11 是国内不过墙还是过墙用?
vmebeh
2023 年 10 月 16 日
跟着文档过一遍就熟悉了
不看文档试错确实难
DataSheep
2023 年 10 月 16 日
树莓派的话可以装个 pivpn ,一键式配 wg ,用了一两年了
mantouboji
2023 年 10 月 16 日
你们这些人,想要别人帮忙,却不提供完整的信息,拿别人当猴耍。独生子女吧?

你为什么不把 server 端的配置文件贴完整?

我估计,你的问题在于 server 端的配置,给每一个 peer 的地址写成了 10.8.0.x/24, 而不是/32. 这样所有的流量都跑去第一个 peer ,其他 peer 当然收不到。
SoFarSoGood
2023 年 10 月 16 日
mtu 和 mss 要修改成合适的值, 还有修改握手间隔更小些

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.ih06.com/t/982248

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX