分布式文件系统是一场残忍的骗局。
Zalman Stern
说实话,这功能笔者之前都是用 Windows 的远程桌面功能实现的,用复杂且长的密码还是比较安全的,但心里总是觉得不爽,因为总会有一些无聊的小黑天天扫,扫到笔者这儿有远程桌面的端口,就开始攻击。虽然他们猜不到笔者的用户名和密码,但就是觉得不爽,经常有小偷在你家门转悠,时不时拿个什么捅一下,门虽然没捅开,你觉得好受吗?
所以想来想去,还是决定研究一下回家功能。现在有请开源的 WireGuard 出场👏👏👏
说来惭愧,WireGuard 是早就想整了,而且也配置了,但就是一直没配置对,所以一直耽搁了。最近看了 RD(远程桌面)网关之类的文章,觉得想试一下 RD 网关,但需要用域,还要 IIS 6,这用到的组件有重复,太占服务器资源了,不喜欢。于是又把目光瞄准到 WireGuard 上了。
OpenWRT 端配置
首先安装 WireGuard,在 OpenWRT 设置界面选择“系统”→“软件包”,然后在过滤器中输入“wireguard”,把下图中红框内的三个都安装上。
然后依次进入“网络”→“接口”,点击“添加新接口”。
接下来输入一个名称,如图选择协议,再点“创建接口”。
创建后编辑这个接口:
如图,点击“生成新的密钥对”会自动生成公钥和私钥。监听端口如果不想用默认的51280,自己修改即可。IP 地址不要与原有的 lan 口在同一网段,如 lan 口是 192.168.1.1/24,那么这里就不能填 192.168.1.x/24 了,可以填 192.168.2.1/24。
防火墙设置选择如图的区域,如果没有,可以选择“lan”,或者去“网络”→“防火墙”新建一个。
这里要注意一下,防火墙区域要接受入站、出站和转发,如果要特殊的规则,可以到防火墙的“通信规则”中配置。具体设置方法参考这篇文章的最后一部分。
对端配置
点击“对端”标签页,点击“新建对端”,然后按图操作:
注意:“允许的 IP”必须以“/32”结束。这是笔者踩过的坑,现在填上了。
连接端点就是你软路由的公网地址,可以用域名,还记得这篇文章吗?
当时申请使用的动态域名这里也可以派上用场。
把红框位置的内容复制并保存到扩展名为“.conf”的文件,通过内网的文件共享或 FTP 等方式传输到对端设备。千万不要用微信等第三方软件传输。当然也可以不存,直接用手机端 WireGuard 扫码。如果 OpenWRT 中没有显示二维码,会有一个提示,根据提示在“软件包”中安装这个软件就能显示二维码了。
返回后别忘记保存。如果有多个设备需要连入家庭网络,那么从刚才的“新建对端”这里再重复操作,注意“允许的 IP”要与其他对端在同一网段,但地址不要相同,还是以“/32”结束。
手机、电脑端安装配置
服务器端设置好了,下面我们开始配置对端。首先要根据设备,安装相应的 WireGuard 软件。【官方下载地址】
Windows 可以直接点击下载;Android 可以点击“Download APK File”下载;MacOS 和 iOS 很麻烦,需要非国区的账号,路径是办个国外的手机号来申请。接入端安装好 WireGuard 后,后面的操作就很简单了,一种方法刚才已经提到过了,就是 WireGuard 打开扫码,直接可以获取配置,保存并启用就可以连入家庭网络了。也可以导入刚才保存的“.conf”来获取配置。
快捷使用
不过大家发现没有,每次在手机上要点击 WireGuard 软件再开启或关闭 VPN 是不是太麻烦了?
那么我们把这功能加入快捷磁贴,点 WireGuard App 右上角的三个点,会出现如下图的设置:
点击编辑图标后,再找到方框内这样的图标,拖动到编辑界面的自定义区域,按完成即可。这样,每次只需要划出快捷控制功能就能打开或关闭回家功能了。
开机运行
手机端可以快捷操作,Windows 端可以开机自动运行。只要在计划任务中,添加一个计划任务,常规中选择“不管用户是否登录都要运行”,勾上“使用最高权限运行”;触发器中“新建”一个“启动时”;操作中“新建”“启动程序”,程序填“wireguard”,添加参数填“/installtunnelservice <.conf文件完整路径>”,起始于填 WireGuard 所在的文件夹。确定后输入运行任务的用户密码(Windows 密码)。
软路由可以干什么之七介绍完了,感谢耐心阅读。本篇主题:带我回家。主要是 WireGuard 软件的实战应用,如果能描述上会有细节遗漏,或还有什么疑问,可以留言与笔者交流哦。