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

ubnt er-x 安装配置wireguard

记录ubnt er-x安装配置wireguard并打通到异地peer局域网

1、安装wireguard软件包

项目地址https://github.com/WireGuard/wireguard-vyatta-ubnt

下载e50-v2-v1.0.20220627-v1.0.20210914.deb这个包并上传到er-x的/home/ubnt目录

1
sudo dpkg -i e50-v2-v1.0.20220627-v1.0.20210914.deb

7131

2、配置wireguard并启动

查看wireguard接口信息,后面也可加创建的wireguard接口名称例如wg0

1
show interfaces wireguard

image-20250713144005892

生成秘钥

1
wg genkey | tee privatekey | wg pubkey > publickey

image-20250713144331306

1
cat publickey

image-20250713144512102

进入配置模式

1
configure

配接口地址

1
set interfaces wireguard wg0 address 9.8.7.8/32

注意这里不要用/24,我们配节点地址一般都是/32。如果错误配置/24,用以下命令删除

delete interfaces wireguard wg0 address 9.8.7.8/24

配置私钥

1
set interfaces wireguard wg0 private-key /config/auth/wg.key

提示:

Value validation failed
Set failed

报错了,私钥地址不对,之前在erx上创建的私钥地址为/home/ubnt/server_keys/privatekey,此外公钥地址”/home/ubnt/server_keys/publickey”

1
set interfaces wireguard wg0 private-key /home/ubnt/server_keys/privatekey

以上是interface信息,下面配置peer段相关参数包括endpoint、publickey和allowedips

1
set interfaces wireguard wg0 peer 6aXRbp+RgbxwNjvC7dTiXg9sOg3tkNiz6oBTq0uT/zY= endpoint 221.131.166.242:34567

以上命令记得是一行的,一定要注意。

1
set interfaces wireguard wg0 peer 6aXRbp+RgbxwNjvC7dTiXg9sOg3tkNiz6oBTq0uT/zY= allowed-ips 9.8.7.0/24,10.139.27.0/24,10.139.22.0/24

注意命令写完要commit和save保存生效。

2025-10-4更新

为避免重启路由后上述不生效,最好到webui页面重新保存配置。

如果上述添加路由命令报错例如下面

1
2
3
4
5
6
7
root@ubnt# commit
[ interfaces wireguard wg0 peer 6aXRbp+RgbxwNjvC7dTiXg9sOg3tkNiz6oBTq0uT/zY= ]
Error: Allowed IP 9.8.7.0/24 appears multiple times on interface wg0 peer 6aXR×××××××××7dTiXg9sOg3tkNiz6oBTq0uT/zY=
Error: Allowed IP 10.139.22.0/24 appears multiple times on interface wg0 peer 6aXR×××××××××iXg9sOg3tkNiz6oBTq0uT/zY=
Error: Allowed IP 9.8.7.0/24 appears multiple times on interface wg0 peer 6aXR×××××××××sOg3tkNiz6oBTq0uT/zY=

Commit failed

那么要退出去使用show ip route查看是否有已存在的路由条目

并使用以下命令删除

delete protocols static route 10.139.27.0/24

目前在路由器上已经可以ping通对端局域网地址了

image-20250713151036062

6、配置路由器转发局域网设备流量

参考链接https://github.com/WireGuard/wireguard-vyatta-ubnt/issues/137

在er-x本身就能打通远端peer的基础上只需要以下命令就可以了

其中wg0是er-x上wireguard接口名称,192.168.1.0/24是er-x局域网子网地址

1
2
3
4
5
6
7
8
9
configure
set service nat rule 5001 description 'source NAT for wireguard'
set service nat rule 5001 outbound-interface wg0
set service nat rule 5001 type masquerade
set service nat rule 5001 protocol all
set service nat rule 5001 source address 192.168.1.0/24

commit
save

Tips:

配置文件保存在路由器的/config/config.boot

ubnt er-x 安装配置wireguard

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

作者

fei

发布于

2025-07-13

更新于

2025-10-04

许可协议

评论