设置WireGuard
事情起因
一直想找一个可以用的代理。需求就是:①可以手机连openwrt。②连上后可以访问内网设备。③还可以海淘。
于是就尝试了Wireguard,好像效果还不错,所以记录下配置过程。视频教程:https://www.youtube.com/watch?v=F8z74oE71Gg
一、编译固件
在源码中编译luci-app-wireguard即可。
二、设置openwrt的配置
1. SSH连接openwrt,进入/etc/config目录。
1 | cd /etc/config |
2. 创建wireguard文件夹,并进入文件夹cd wireguard
1 | mkdir wireguard && cd wireguard |
3. 创建服务端的公钥和私钥。
1 | wg genkey | tee sprivatekey | wg pubkey > spublickey |
4. 登录openwrt添加接口:网络-接口。添加新接口。名称为WG,协议为WireGuard,点击提交。
5. 填写基本设置。
6. 高级设置不用修改
7. 防火墙选择lan,然后保存应用。
8. 进入网络-防火墙-自定义规则,粘贴以下内容,然后重启防火墙。此处需要将上面的4条规则注释掉。
1 | iptables -t nat -A POSTROUTING -s 10.10.10.0/24 -o br-lan -j MASQUERADE |
9. 进入网络-防火墙-通信规则,放开对应的端口。你在第5步里写的什么端口,就要开放什么端口。然后点击保存。
10. 以上,在openwrt的设置已经完成了。下面需要设置连接端。
三、设置peers的配置
1. 重新回到SSH,连接openwrt。
2. 创建文件夹,比如你这个设备是手机,你就创一个phone的文件夹。并进入。
1 | mkdir phone && cd phone |
3. 同样创建phone使用的密钥。这里加上前缀,与上面的s密钥区分开。
1 | wg genkey | tee phone-privatekey | wg pubkey > phone-publickey |
4. 创建预共享密钥。
1 | wg genpsk > phone-sharekey |
5. 回到openwrt的web界面,选择WG接口,选择修改。然后添加peers。
6. 填入phone的公钥,及想给phone的ip地址,勾选路由允许的 IP,再填入phone-sharekey。保存并应用。
四、设置phone的配置
1. 创建phone.conf文件。
2. 录入以下配置。
1 | [Interface] |
3. 将phone.conf传到手机。
4. 然后导入配置。
五、重启openwrt
一定要记得重启openwrt,或者如下图,重新连接WG接口后,再连接客户端,否则会失败。
六、添加更多客户端
1. 重新回到SSH,连接openwrt。
2. 创建文件夹,比如你这个设备是电脑,你就创一个dell的文件夹。并进入。
1 | cd /etc/config/wireguard && mkdir dell && cd dell |
3. 同样创建dell使用的密钥。这里加上前缀,与上面的s密钥区分开。
1 | wg genkey | tee dell-privatekey | wg pubkey > dell-publickey |
4. 创建预共享密钥。
1 | wg genpsk > dell-sharekey |
5. 回到openwrt的web界面,选择WG接口,选择修改。然后添加peers。
6. 填入dell的公钥,及想给dell的ip地址,勾选路由允许的 IP,再填入dell-sharekey。保存并应用。
7. 创建dell.conf文件。
9. 录入以下配置。
1 | [Interface] |
10. 连接成功后进入openwrt的wireguard状态页面查看。
11. 如果需要更多的客户端连接,重复第六步即可。