正在加载今日诗词....

群晖DS418安装配置wireguard套件

记录群晖DS418安装配置wireguard客户端,打通到远程黑群网络实现自动同步备份文件。

一、添加矿神源,安装套件

image-20250605194700108

找到相关套件后安装

image-20250605195018285

注意提示,需要root权限,这里就不安装那个授权管理器了,因为安装完授权后还得ssh进群晖添加配置文件

5259efea83d95b6e85bf8ca43b8bde9

ps:b站这里说https://www.bilibili.com/opus/702303633512857685

注意:安装时不要勾选”安装完成后立即启动“,因为群晖7.0的权限原因,安装后立即启动会自动停用该套件,需要添加权限后才能正常使用。

PS:我的DS3615xs 7.1.0-42661系统即使添加权限仍然会自动停用,DS3617xs 7.1.1-42951系统则一切正常,遇到这个问题可以参考底部链接原博主的做法自行打包群晖安装包安装,或者使用docker安装。

二、群晖ssh配置

root@ds418-ygmd:~# sed -i 's/package/root/g' /var/packages/WireGuard/conf/privilege

mkdir /etc/wireguard

root@ds418-ygmd:/etc# cd wireguard/
root@ds418-ygmd:/etc/wireguard# vim wg0.conf

[Interface]
PrivateKey = sD7N30kglHY6shw8i××××××××××××××××××××××
Address = 9.X.X.7/32
DNS = 218.4.4.4

[Peer]
PublicKey = 6aXRbp+RgbxwNjvC7d××××××××××××××××××××××
AllowedIPs = 9.X.X.0/24, 10.XX.27.0/24, 10.XX.22.0/24
Endpoint = 2xx.1XX.1XX.2XX:3XXXX

三、启动

手动启动套件

2463ab92b80d2972f27cc442760557d

image-20250711100850028

启动刚才编辑好的配置(启动Wireguard套件后在执行)

wg-quick up wg0

报错了,原因是群晖没有resolvconf命令,而WireGuard 配置中的 DNS = x.x.x.x 选项会尝试调用 resolvconf 命令更新系统 DNS

1
2
3
4
5
6
7
8
root@ds418-ygmd:/etc/wireguard# wg-quick up wg0
[#] ip link add wg0 type wireguard
[#] wg setconf wg0 /dev/fd/63
[#] ip -4 address add 9.*.*.7/32 dev wg0
[#] ip link set mtu 1420 up dev wg0
[#] resolvconf -a wg0 -m 0 -x
/usr/local/bin/wg-quick: line 32: resolvconf: command not found
[#] ip link delete dev wg0

比较简单粗暴的解决办法是将上述配置文件里dns项手动注释掉。我的wireguard主要是为了打通到远端黑群晖的备份连接通道问题,对是否代理网络访问无需求,所以直接注释掉dns选项即可。保存后再运行命令就正常了。

1
2
3
4
5
6
7
8
root@ds418-ygmd:/etc/wireguard# wg-quick up wg0
[#] ip link add wg0 type wireguard
[#] wg setconf wg0 /dev/fd/63
[#] ip -4 address add 9.x.X.7/32 dev wg0
[#] ip link set mtu 1420 up dev wg0
[#] ip -4 route add 9.X.X.0/24 dev wg0
[#] ip -4 route add 10.X.27.0/24 dev wg0
[#] ip -4 route add 10.X.22.0/24 dev wg0

查看连接状态

wg show wg0

1
2
3
4
5
6
7
8
9
root@ds418-ygmd:/etc/wireguard# wg show wg0
interface: wg0
public key: Ek0EuMMOXXXXXXXXXXXXXXXXXXXXXXXXX
private key: (hidden)
listening port: 34093

peer: 6aXRbp+RXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
endpoint: ***.*.1**.2**:3****
allowed ips: 9.X.X.0/24, 10.X.27.0/24, 10.XX.22.0/24

然后ping下远端群晖的局域网地址,可以了

1
2
3
4
5
root@ds418-ygmd:/etc/wireguard# ping 10.*.*.3
PING 10.x.*.3 (10.139.27.3) 56(84) bytes of data.
64 bytes from 10.X.*.3: icmp_seq=1 ttl=63 time=8.57 ms
64 bytes from 10.X.*.3: icmp_seq=2 ttl=63 time=3.62 ms
64 bytes from 10.X.*.3: icmp_seq=3 ttl=63 time=3.06 ms

然后调用drive sharesync也正常了。打通之前如果远端群晖不映射公网6690是不能访问的。

image-20250605203359093

设置开机启动

​ sudo wg-autostart enable wg0

1
2
root@ds418-ygmd:/etc/wireguard# wg-autostart enable wg0
wg-autostart wg0 has been enabled successfully

wg-easy

这个好像是服务端,仅供参考

运行如下命令生成密码哈希值

docker run --rm -it ghcr.io/wg-easy/wg-easy wgpw s×密码××

image-20250711095236134

复制 PASSWORD_HASH 后面的哈希值,编辑入同目录env中

备用:稍后删除

1
2
3
Digest: sha256:5f26407fd2ede54df76d63304ef184576a6c1bb73f934a58a11abdd852fab549
Status: Downloaded newer image for ghcr.io/wg-easy/wg-easy:latest
PASSWORD_HASH='$2a$12$2d5Cc5u2.qghCRhuBLGNBuq8A64Bw0YDCDnnafTKXy1C8yOVlZQLa'
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
services:
wg-easy:
container_name: wg-easy-new
environment:
- WG_HOST=<ddns域名或者公网ip>
- WG_DEFAULT_ADDRESS=10.17.0.x #自定义网段
- WG_PORT=51820 #自定义端口
- LANG=chs
- WG_PERSISTENT_KEEPALIVE=25
- UI_TRAFFIC_STATS=true
- UI_CHART_TYPE=2 #自定义图标样式,0代表禁用,1代表线条图,2代表区域图,3代表柱状图
env_file:
- ./.env #插入password_hash
volumes:
- ./wg-easy:/etc/wireguard
ports:
- 51820:51820/udp
- 51821:51821/tcp
cap_add:
- NET_ADMIN
- SYS_MODULE
sysctls:
- net.ipv4.conf.all.src_valid_mark=1
- net.ipv4.ip_forward=1
restart: unless-stopped
image: ghcr.io/wg-easy/wg-easy

以上是作为服务端配置

容器跑起来后,记得去路由器做一下51820的UDP协议的端口转发

配置网页端

浏览器输入群晖IP地址:51821打开wg-easy的网页端,输入之前docker的密码即可登录到网页后台。

之后就是按需新增peer,客户端通过扫码或者配置文件的方式来实现连接

群晖DS418安装配置wireguard套件

https://bg4vrg.com/post/20250605194506.html

作者

fei

发布于

2025-06-05

更新于

2025-07-16

许可协议

评论