关于 WireGuard 连接的问题

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


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

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

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

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

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

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

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

© 2021 V2EX