前言
本教程只针对官方的iStoreOS的镜像,对于其他二次打包的openwrt镜像可能不适合使用本教程。
其次本教程是根据主路由为硬路由(小米原厂系统)+公网ipv4来进行部署的,如果想利用ipv6来进行部署的话,则需要主路由为爱快或openwrt,本教程不讲解ipv6的情况,且最后本人也会讲解使用硬路由作为主路由的好处。
网络结构图
如图所示,本教程是将光猫设置为桥接模式,由主路由进行拨号上网,从而上主路由获取到公网ip,方便后续做端口映射。内网由主路由来进行DHCP服务。
1 2 3 4 5 6 7 8 |
#内网信息 网段:192.168.31.0/24 主路由:192.168.31.1 旁路由:192.168.31.123 #wireguard信息 网段:10.1.1.0/24 (避免冲突必须与主路由的内网网段不同) 节点地址:10.1.1.1 |
准备工作
系统下载&安装
从官网地址下载适合自己机器的镜像,然后利用Rufus或balenaEtcher将镜像烧录到U盘内,来完成系统安装盘的制作。本教程是在unraid的虚拟机上进行安装的,在物理机上的安装可参照iStoreOS文档进行安装,这里不再赘述。
系统初始化
安装完成后会提示iStoreOS is ready
,这个时候按回车进入终端
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
#进入终端后输入quickstart调出官方的初始化ip工具 #使用方向键控制选项,选择第二项,修改LAN口IP rooteiStoreOS:/# quickstart #这里可以输入qu后按TAB会自动补全命令 Use the arrow keys to navigate: ↓ ↑ → ← ? Console : ■ O Show Interfaces 1 Change LAN IP 3 Install x86 4 Reset q QUIT #选择第二项目后输入内网地址 rooteiStore0S:/# quickstart ■ Change LAN IP ■ IP:192.168.31.123 #本教程内网网段为 192.168.31.0/24 ■ MASK(eg. 255.255.255.0):255.255.255.0 #建议输入默认的子网掩码 #修改成功会输入reboot,重启使ip生效 |
重启后在浏览器内输入192.168.31.123,访问web页面
1 2 |
用户名:root 密码:password |
点击左侧的网络向导,使用手动模式,将路由模式设置为旁路由模式,并且DHCP
服务关闭
相关软件包安装
由于官方的iStoreOS默认是不带wireguard相关软件,所以需要手动安装
点击系统,然后点击软件包,进入软件安装界面。
1.先点击更新
2.然后在搜索框内输入wireguard进行软件筛选,安装如下软件
3.所有软件安装完成后重启系统,让wireguard生效
1 2 3 4 5 6 7 8 9 10 11 |
#wireguard软件包 kmod-wireguard luci-app-wireguard luci-i18n-wireguard-zh-cn luci-proto-wireguard wg-installer-server wg-installer-server-hotplug-babeld wg-installer-server-hotplug-olsrd wireguard-tools qrencode #可选,将wireguard配置生成二维码,方便手机扫描添加 |
软件包参考教程Eric’s Blog 【Linux】Openwrt(iStoreOS)上使用WireGuard组网,感谢大佬的无私分享
wireguard配置
配置
点击网络,在点击接口,添加一个接口,名称随意,协议选择wireguard
配置wireguard接口,点击生成公私钥,输入ip地址,以及监听的端口。防火墙规则设置为lan即可。
添加对端,配置如下图
编辑配置文件,对端ip,DNS等配置参照如下图
配置防火墙规则
点击网络,选择防火墙,选择自定义规则,填写如下规则。填写完成后需要重启系统,让wireguard接口与防火墙规则生效。
1 2 |
# 注意此条防火墙网段 10.1.1.0/24 需和上文服务端 IP 网段保持一致. iptables -t nat -A POSTROUTING -s 10.1.1.0/24 -o br-lan -j MASQUERADE |
防火墙规则参照教程OpenWrt作为旁路由配置Wireguard 实现内网穿透,感谢大佬的无私分享。
端口映射
前面已经设置好了wg使用外部公网ip的4321端口作为数据传输接口,但iStoreOS作为旁路由的是作为一台内网的机器,所以还需要将公网的4321
端口映射到iStoreOS上才能完成数据的传输,这里以Redmi AX6S硬路由举例。登录路由器管理后台,选择高级设置,端口转发。添加一条如下的规则。避免出现什么bug,协议建议选择TCP和UDP
不出什么意外的话,现在wireguard应该是可以正常使用的
总结
虽然利用厂家的路由器作为主路由限制比较大,比如无法使用ipv6作为公网ip,以及无法在主路由上做出很多丰富的功能。但使用这种硬路由也是有好处的,首先是绝对的稳定,毕竟是工业化生产出来的硬件和完全适配的系统,是经过市场的考验的。其次是可以在手机app上随时随地可以看到路由器的公网ip,万一哪天部署的DDNS服务挂了,可以第一时间通过ip+端口
的形式去找到回家的路。
以下是米家内查看路由器的ip页面。
追记
部署过程中注意事项