找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 36459|回复: 75

[openwrt(x86)] 【2021-12-24】OpenWrt的WireGuard食用方法

 火.. [复制链接]
发表于 2021-12-24 21:37 | 显示全部楼层 |阅读模式
本帖最后由 xiaowen-king 于 2021-12-24 21:42 编辑

废话

现在很多OpenWrt都集成了WireGuard,但是很多和我一样刚开始玩OpenWrt的小白估计都和我差不多,很多功能不会用,很多功能不懂可以用来干嘛


这里我做一个WireGuard的食用方法,如果不知道WireGuard是什么的小伙伴自行百度了






确定自己的OpenWrt有没有WireGuard登录路由器的Web管理界面,在【状态】下可以看到【WireGuard状态】就说明自己的路由器以及集成有WireGuard了




一、路由端的设置
首先用SSH工具连接上路由器,我使用的工具是FinalShell,打开FinalShell,点击左上角的【文件夹】图标,点击【新建连接】按钮的图标,选择【SSH连接】



在弹出来的窗口中填写连接信息,名称任意,主机填写路由器的地址,认证方法选择【密码】,用户名和密码填写进入路由器的Web管理界面的用户名和密码,也就是路由器的管理员账号和密码,填写完成后点击【确当】按钮添加



在主页面中就可以看到刚刚添加的路由器了,点击路由器名称进行连接,弹出是否保存密钥,点击【接受并保存】



连接到路由器之后,我们需要在root文件夹下新建一个文件夹用来存储WireGuard的信息,输入一下命令新建文件夹

  1. cd /
  2. cd root
  3. mkdir WireGuard
复制代码

输入完以上命令后输入ls然后回车就可以看到刚刚新建的文件夹了



使用cd命令进入刚刚新建的文件夹
  1. cd WireGuard
复制代码


输入一下命令对文件夹设置权限

  1. umask 077
复制代码


为路由器端创建公钥和私钥,sprivatekey为私钥,spublickey为公钥

  1. wg genkey | tee sprivatekey | wg pubkey > spublickey
复制代码

输入完上面的命令后输入ls就可以看到创建的公钥和私钥了,在使用cat命令查看公钥和私钥的内容并且记录下来

  1. ls
  2. cat sprivatekey
  3. cat spublickey
复制代码


在浏览器打开路由器的Web管理界面,点击【网络】>【接口】>【添加新接口】



接口名称任意,我自己填写的是WG0,新接口的协议选【WireGuard virtual**】,然后点击【提交】



在【基本设置】中,把刚刚记录下来的私钥填写上去,监听端口自己指定一个,IP地址填写一个私有IP,不能与自己的局域网冲突就可以



【高级设置】保持默认



【防火墙设置】悬着【virtual**】,如果没有【virtual**】选项的就选【LAN】,我这个就没有【virtual**】选项,选好了之后点击【保持&应用】



在接口里面就可以看到刚刚新增的WG0接口了



接口新建完了之后还需要设置防火墙规则,点击【网络】>【防火墙】>【自定义规则】,把下面的命令粘贴进去,注意:192.168.5.0/24是WireGuard的网段,就是刚刚在接口里面填写的那个IP地址的网段,-o参数如果路由器的LAN口没有取消桥接就是br-lan,如果取消桥接了就是网口,例如eth0或者eth1等,如果不清楚自己的是什么可以在【网络】下的【接口】里面查看【LAN】口的名称或者网口,添加完成后点击【重启防火墙】

  1. iptables -t nat -A POSTROUTING -s 192.168.5.0/24 -o br-lan -j MASQUERADE
复制代码


防火墙规则自定义完成后还需要开放端口,点击【网络】>【防火墙】>【通信规则】,滑倒最下面,在名称处填写一个名称,名称自定义,协议选【UDP】,外部端口填刚刚添加新端口时填写的监听端口,填写完成后点击【添加】,然后点击【保存&应用】,如果OpenWrt是旁路有,那么需要在主路由上做端口转发,外部端口和内部端口都填刚刚新建端口时填写的监听端口,IP地址填旁路有的IP地址,协议填UDP协议。




二、创建以及配置其他用户端
回到命令模式,在WireGuard文件夹下在新建一个文件夹,这样的目的是方便管理,一个用户一个文件夹,我这里创建了一个01文件夹,创建完成后使用cd命令进入文件夹

  1. mkdir 01
复制代码


先给01这个用户创建一个预共享密钥并查看记录下来,这个预共享密钥不是必须的,但是有这个可以提升访问的速度,使用以下命令

  1. wg genpsk > sharekey
复制代码


在使用创建01用户的私钥和公钥并且查看记录下来

  1. wg genkey | tee cprivatekey | wg pubkey > cpublickey
复制代码


公钥和私钥都生成后返回路由器的Web管理界面,点击【网络】>【接口】并找到刚刚创建的接口然后点击【修改】



找到Peers这一项,点击【添加】,在公钥那个地方填写刚刚01用户的公钥,允许的IP填写一个IP,要和刚刚创建的新接口在同一个网段上的,但是不能冲突,勾选上路由允许的IP,最下面的【更多选项】选泽【预共享密钥】,然后点击旁边的【添加】



点击【预共享密钥】旁边的【添加】之后,就可以看到预共享密钥这个填写框了,把刚刚创建的01用户的预共享密钥填写进去,填写完成后点击【保存&应用】按钮



这样路由器这端就设置好了,只需要生成配置文件然后再其他端导入配置文件就可以使用了,如果需要外网访问的话可以做一个端口映射,如果自己没有公网地址的话可以使用FRP进行穿透,配置文件是不能自动生成的,所以需要自己用文本文档填写好然后改成conf格式的文件,配置文件的格式如下,把对应的部分替换成自己的就可以,最后一行保持默认就可以。

  1. [Interface]
  2. Address = 分配到的virtual**地址
  3. PrivateKey = 客户端私钥
  4. DNS = 路由器IP
  5. [Peer]
  6. PublicKey = 路由器端公钥  
  7. AllowedIPs = 0.0.0.0/0
  8. presharedKey = 共享密钥
  9. Endpoint = 公网IP:端口号
  10. PersistentKeepalive = 25
复制代码

下面这个是我配置好的文件,可以做一个参考

  1. [Interface]
  2. Address = 192.168.5.2
  3. PrivateKey = WDCXBefHouhLKoAtIzZdl6PaCMZYxWuvTV4/0dPLRnw=
  4. DNS = 192.168.0.119
  5. [Peer]
  6. PublicKey = mAunaCFut7TsLgA5q0IRCc1ibcP8kvrA+jKvapR1x3Y=
  7. AllowedIPs = 0.0.0.0/0
  8. presharedKey = LK30DwbxuAwRfyJySRCNYEofXd5pJPeau6n87GyyeCE=
  9. Endpoint = 10.10.10.10:2000
  10. PersistentKeepalive = 25
复制代码


配置完成后点击【文件】>【另存为】,文件名为:xxx.conf,保持类型为:所有文件(*.*)



最后把这个文件导入到用户端使用就可以了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

评分

参与人数 4恩山币 +6 收起 理由
wiwiyu + 1 感谢你的分享,无论怎样,你都是最无私的人.
潜水者 + 2 强大的恩山!(以下重复1万次)
abigsun + 2 感谢你的分享,无论怎样,你都是最无私的人.
virus1999 + 1 风清云淡、飘逸悠然…… 极爽!

查看全部评分

我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2021-12-24 21:43 | 显示全部楼层
一些关键字被屏蔽了,大家可以自己看图揣测一下

点评

请问连通了之后,NAS浏览器界面可以正常访问,但是我的电脑里映射网络驱动器连接不上是因为啥  详情 回复 发表于 2023-6-28 23:03
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-12-25 07:17 | 显示全部楼层
IPV6可以吗,没有公网IPV4

点评

因为字数限制,补一下ip6tables的规则 ip6tables -A FORWARD -i wg0 -j ACCEPT ip6tables -A FORWARD -o wg0 -j ACCEPT ip6tables -t nat -A POSTROUTING -o eth0 -j MASQUERADE  发表于 2022-2-10 14:52
ipv6也可以的,我openwrt做旁路,防火墙规则用这些 iptables -A FORWARD -i wg0 -j ACCEPT iptables -A FORWARD -o wg0 -j ACCEPT iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE ip6tables -A FORWARD   发表于 2022-2-10 14:49
现在好像不行  详情 回复 发表于 2021-12-25 14:38
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2021-12-25 14:38 | 显示全部楼层
雪雨风 发表于 2021-12-25 07:17
IPV6可以吗,没有公网IPV4

现在好像不行
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2022-1-2 21:24 | 显示全部楼层
现在L大源码没有这个插件了,哪里有这个插件的编译地址

点评

你是不是看错了啊,我刚看了 coolsnowwolf/lede wireguard: add support for 5.15 coolsnowwolf committed 6 days ago  详情 回复 发表于 2022-1-7 23:55
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2022-1-7 23:55 | 显示全部楼层
auag9999 发表于 2022-1-2 21:24
现在L大源码没有这个插件了,哪里有这个插件的编译地址

你是不是看错了啊,我刚看了
coolsnowwolf/lede
wireguard: add support for 5.15
coolsnowwolf committed 6 days ago
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2022-1-13 13:12 | 显示全部楼层
大佬请问一下,这一套操作下来,手机连回去能科学过墙吗(OP用的PSW)

点评

家里面的路由器可以的话连上之后也是可以的  详情 回复 发表于 2022-1-17 15:17
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2022-1-17 15:17 | 显示全部楼层
hejiajin 发表于 2022-1-13 13:12
大佬请问一下,这一套操作下来,手机连回去能科学过墙吗(OP用的PSW)

家里面的路由器可以的话连上之后也是可以的

点评

感谢大佬  发表于 2022-1-18 14:22
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2022-1-21 14:53 来自手机 | 显示全部楼层
请问楼主,如果openwrt原先没有包含WireGuard的话,我需要安装什么安装包才能使用啊?多谢了。

点评

opkg install wireguard-tools opkg install wireguard 应该是装这两个吧  详情 回复 发表于 2022-5-20 17:32
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2022-1-21 18:52 | 显示全部楼层
tailscale它不香吗?鼠标点几下,键盘敲几下就搞定了,我已经稳定运行1年了,省内跨isp运行的很流畅,白天<20ms, 晚上<30ms

点评

tailscale只是别人的代理平台而已,非私有通道  发表于 2022-5-28 14:11
tailscale只是别人的代理平台而已,非私有通道  详情 回复 发表于 2022-5-28 14:10
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2022-2-14 01:19 | 显示全部楼层
本帖最后由 mjyhj 于 2022-2-14 02:26 编辑

被你说的这个 公钥私钥 弄得头晕,直接把生成的4个 说明1 2 3 4 分别填哪里吧
你这个教程
  • [Peer]
  • PublicKey = 路由器端公钥

  • [Peer]
  • PublicKey = mAunaCFut7TsLgA5q0IRCc1ibcP8kvrA+jKvapR1x3Y=



这不是坑人吗

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

点评

我弄了ˊ一整天 終於看懂你說的 真的坑  详情 回复 发表于 2023-7-2 14:57
已经加了前缀 s 和 P 区别了,虽然wireguard 是p2p平等关系,但你可以把路由器理解为“服务端",其它peer为客户端  发表于 2022-10-19 16:08
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2022-3-1 10:57 | 显示全部楼层
大神的教程太棒啦,点赞点赞,感谢大神
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2022-3-1 11:01 | 显示全部楼层
Endpoint = 10.10.10.10:2000  这里可用动态域名加端口号吗?

点评

可以 我已经实现IPV6动态域名加端口号了!  详情 回复 发表于 2022-5-25 14:40
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2022-3-1 13:47 | 显示全部楼层
感谢楼主分享
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2022-3-1 18:17 | 显示全部楼层
远程客户机下载速度只有几百KB,上传速度11MB(家里的宽带上传是35MB,下载是300MB),哪里出问题啦?

点评

MTU 降低到 1250  详情 回复 发表于 2023-4-27 17:59
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-4-19 02:23

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

快速回复 返回顶部 返回列表