软路由部署 openwrt 配置指引——插件推荐及服务清理
写在前面
本文主要是记录一下迁移过程中一些操作流程,同时也分享一些我在 openwrt 上的一些设置以及 openwrt 插件
上一篇文章主要介绍的 openwrt 一些基础配置,感兴趣可以点开看看
这一篇主要是记录了个人使用的一些 openwrt 插件以及对应的配置迁移过程。文章大纲如下:

微信推送
插件说明
微信推送主要是用来做日常的路由器状态通知以及设备接入通知

也能自定义一些通知,不过这里我就没做太详细的定制,日常使用而已
迁移操作
因为微信之前使用的微信推送版本较老,新镜像提供的微信推送版本较新,因此不建议直接复制配置
可以打开原来路由的微信推送配置页面,一一对比进行配置(耗时久不过更稳妥)
v2.06.2 之后的版本不再支持 LuCI 18.06,如需编译,请使用 openwrt-18.06 分支
启动服务并配置推送配置,配置完成后可点击发送测试验证生效:

修改设备名,开启日志并设置一些设备别名方便查看

定义推送内容,下方的各种登录情况及异常登录情况均可以开启

开启定时推送,并设置推送时间为每天 12 点,推送内容按需勾选

开启免打扰设置,过滤 mac 地址

动态 DNS
插件说明
目前主要是用来实现主路由的 ipv6 动态域名解析:
运营商分配的公网 ipv6 也是会变化
ipv6 本身也不是很好记忆
通过 ddns 可以实现将域名解析到主路由的公网 ipv6,并在 ipv6 变动时自动更新域名解析

最近一次更新是在 8.28 凌晨 3 点,ddns 服务就能识别到并自动更新域名解析。
这样我在外面想通过 ipv6 访问家里的主路由管理后台,就可以保存好域名书签即可,不用记 IP
迁移操作
之前使用的是 openwrt 官方提供的动态 dns 服务,还算是比较稳定的,继续使用
因为新老版本变化不大,因此直接通过拷贝配置的方式进行迁移

在原来路由器上是指配置了一个 ipv6 的 ddns,因此只需要去 /etc/config/ddns 中,拷贝对应的配置到新机器即可:

需要注意的是,目前软路由还未正式服役,因此需要需要启用开关,设置不启用:
option enabled '0'
保存后回到页面刷新,可以看到已经自动配置好了

至此 ddns 配置完毕,等待后续迁移到主路由后再启动
需要注意的是,在没有正式切换到软路由进行拨号,获取 IPv6 地址是有异常的。 在使用软路由进行拨号后,公网 ipv6 会分配到 br-lan 这个接口,这个时候才可以选中
frpc 内网穿透
插件说明
家里的宽带是没有公网 ipv4 只有公网 ipv6,正常来说也能通过 ipv6 连回家里,但是:
在外面确实就是绕不开只有 ipv4 的网络环境
同时也是多一条路,如果 ipv6 异常或者 ddns 炸了,也能走 ipv4 frp 穿透回来
大概使用场景如下图

更详细的 frp 介绍,可以看之前写过的文章:
迁移操作
在原路由上使用了 frp 配合一台腾讯云机器来做内网穿透

需要迁移到软路由上,frp 配置还是比较规范的,可以直接迁移覆盖
但是因为原来的配置还在跑着,想等后续彻底迁移了再替换,因此需要将所有的服务列表全部设置为停用即可
也就是将所有 config proxy 的配置里面的 enable 设置为 0
option enable '0'
然后将统一修改好的配置文件同步到软路由 /etc/config/frp,执行 reload_config 生效:

对应所有服务列表也都迁移过来,然后处于未启用状态,后续正式切换再启用即可:

openvpn
插件说明
这里我主要是用作客户端,因为日常涉及到需要通过 openvpn 接入远程内网环境的场景
正常操作就是,在电脑上运行 openvpn 客户端登录去连通
也可以在路由器上运行 openvpn 客户端,配置后,可实现电脑无需运行 openvpn 也能访问远程内网
具体效果如下图:

迁移操作
原路由配置了 openvpn 客户端需要进行迁移

因为使用的是密钥对配置,需要先将原路由上的以下几个配置文件迁移到软路由上:

此外还需要拷贝一个 /etc/openvpn/tlsauth.key 到软路由上
之后就可以同步配置文件 /etc/config/openvpn 到软路由上面,然后执行 reload_config 生效
尝试启动,还是可以正常使用的:

多级 DNS 配置
插件说明
涉及到 smartdns、AdGuard Home 插件,dnsmasq 是 openwrt 原生自带的:

因为这部分展开介绍篇幅比较大,后面单独一篇来讲吧,其他的想 passwa** 之类的就不提了。
清理服务
用的是网上别人编译的固件,存在一些多余的用不上的服务,一并梳理停用,避免浪费资源
关闭 kms 服务器
暂时没有需要用到 kms 激活 windows 设备,但这个版本默认是运行的:
进入 服务 -> KMS服务器 取消启用

最后保存并应用即可
关闭 FTP 服务器
暂时没需要用到 FTP 服务,对应是 vsftp
看页面上也没有提供关闭按钮,只能手动关闭
停用服务:/etc/init.d/vsftpd stop
关闭开机自启动:/etc/init.d/vsftpd disable
关闭 softethervpn
在检查 openwrt 端口监听情况时,发现该镜像默认运行了 vpn 服务监听了端口:

查看对应进程发现是 softethervpn,但实际上管理页面上并没有 softethervpn 的定义:

尝试手动装了 luci-app-softether 也没能显示(估计是因为 luci 版本问题)

想着也暂时用不到,就先关掉服务并且停掉开机自启动:
# 停止服务 /etc/init.d/softethervpnbridge stop /etc/init.d/softethervpnserver stop /etc/init.d/softethervpnclient stop # 关闭开机自启动 /etc/init.d/softethervpnbridge disable /etc/init.d/softethervpnserver disable /etc/init.d/softethervpnclient disable
关闭 samba
暂时不需要用到 openwrt 来提供网络共享,手动关闭
关闭服务:/etc/init.d/samba4 stop
停用开机启动:/etc/init.d/samba4 disable
同时因为不需要 samba 也就不需要用到网络共享的快速服务发现:
# windows 系统依赖 wsdd2
/etc/init.d/wsdd2 stop
/etc/init.d/wsdd2 disable
# 苹果、安卓、linux 系统依赖 avahi
/etc/init.d/avahi-daemon stop
/etc/init.d/avahi-daemon disable
由于 Windows 和类 Unix (包括苹果安卓)服务发现协议不同, 要实现使服务快速被发现, 必须分别依赖 wsdd2 和 avahi .
关闭 NFS
同上,目前在那时不需要使用 nfs 网络文件挂载功能,手动关闭
关闭服务:/etc/init.d/nfsd stop
禁用开机自启动:/etc/init.d/nfsd disable
同时因为不需要用到 nfs 那么 rpcbind 服务也可以关闭了:
/etc/init.d/rpcbind stop
/etc/init.d/rpcbind disable
关闭 netdata
netdata 提供了一个比较强大的监控服务,但实际上没什么实用性

停止运行并关闭开机自启动
/etc/init.d/netdata stop
/etc/init.d/netdata disable
后续有需要再手动启动:
关闭 linkease
linkease 看名字是易有云,但 openwrt 页面上没有提供对应的配置入口

服务是默认启动的,检查发现是有在运行,并且也有控制启用的开关:

手动关闭并 reload 生效:
uci set linkease.@linkease[0].enabled='0'
reload_config
关闭 netserver
检查发现有一个 netserver 服务正在运行并监听了端口:

确定该进程是归属 netperf 包,也就是一些网络测速工具:
确认在 openwrt 是有网络测速这个功能,对应就有使用到 netperf 工具

实际上使用发现是用了一个远程服务端来测试,而该服务端已经 ping 不通,最后页面效果(netperf.bufferbloat.net 解析到 23.226.232.80 )

没啥用,关闭:
/etc/init.d/netserver stop
/etc/init.d/netserver disable
关闭 php 服务
查看到有 php 服务在运行,同时 php8-fastcgi 还监听了 1026 端口

检查发现 openwrt 管理页面上是没有任何 php 相关的配置,并且正常也用不上,手动关闭:
关闭并仅用 php8-fpm
/etc/init.d/php8-fpm stop
/etc/init.d/php8-fpm disable
关闭并禁用 php8-fastcgi
/etc/init.d/php8-fastcgi stop
/etc/init.d/php8-fastcgi disable
同时需要发现 luci 服务配置中是有对应文件,也需要调整:
查看配置文件:cat /etc/config/php8-f*
将 php8-fastcgi 与 php8-fpm 两个服务的 enable 改为 0
将两个服务的 enable 改为 0
写在后面
目前软路由的配置迁移已经基本介绍完毕,后面再看看把多级 dns 以及容器使用相关的也写一下。
麻烦多多点赞关注~
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

老实和尚说不得
校验提示文案
Never_Gone
校验提示文案
KentJ
校验提示文案
老实和尚说不得
校验提示文案
KentJ
校验提示文案
Never_Gone
校验提示文案