Opewrt+N1
选择N1原因
- 满足日常折腾。
- 玩法多样可玩性高。
- 价格及相关配置满足我对主路由的需求。
N1相关配置
- CPU:Amgoic S905D 、64位、4核心、Cortex-A53 1.5GHz。
- 内存:2G。
- 闪存:8G。a
- WIFI:2.4G/5G。
- 蓝牙:BT4.1。
- 视频解码:H.265解码、4K。
- 接口:1个千兆有线网口、1个HDMI、2个USB2.0、1个电源接口。
N1刷机
- 由于N1可玩性很高,各类固件玩法多样。多刷不坏,砖也可以救砖。所以只要保证N1可U盘启动即可。
- 准备OpenWrt固件及U盘。(PS:避坑指南多准备几个比较老的U盘,N1识别U盘玄学问题。)
- OpenWrt固件写入U盘。
N1刷入OpenWRT
我这里使用的F大神固件“openwrt\_s905d\_n1\_R22.6.16\_k5.15.47-flippy-73+o”前期使用“59+o”已升级。
U盘插入靠近网口的USB插口,通电。使用有线、、N1WiFi、HDMI等进入shell。
cd /root ./inst-to-emmc.sh //实际观察root目录下sh脚本文件名称- 写入成功后断电,拔出U盘重新启动N1。(PS:关于温度62.0 °C未使用风扇,气温较高N1目前正常运行,我忽略了)

OpenWrt设置
组网规划: 光猫(桥接模式)+N1主路由+垃圾WiFi路由器

OpenWrt主路由设置
- 使用默认密码登录OpenWrt。
配置网络-接口-LAN口:
- 基本设置:网关、DHCP。
- 物理设置:取消桥接。
新增网络-接口-WAN口:
- 基本设置:协议PPPoE、宽带账户及密码。
- 物理设置:绑定物理网卡。
- 防火墙设置:新增WAN区域。
配置完成: WAN口获取到公网IP,LAN口下终端获取到子网IP。(PS:如遇WAN口无法正常拨号保证相关设置及运营商拨号限制外,可在OpenWrt shell下抓取物理网口数据包排查是否正常拨号,如路由器两个口不是LAN或者自适应可能会出现不广播数据包到N1物理网口。怎么抓包?后面在记录。)


OpenWrt应用及服务
F大神固件已自带丰富相关插件及内置Docker,可玩性极高。先暂时分享DDNS、SSL证书、全能推送、FileBrowser。然后在分享IPSec VPN、OpenConnect VPN、Docker、WebDav&Docker等。
DDNS
使用阿里云DDNS,需自行购买域名。
- 阿里云AccessKey管理中授权DDNS权限,获取accessKeyId和accesssKeySecret。
- OpenWrt DDNS服务中添加相关域名及ID与密钥。
- 防火墙中设置端口映射,由于运营商限制。建议使用其他端口映射LAN口80端口,使用域名+端口即可公网访问。(PS:公网访问,密码强度需要高,因为OpenWrt这个版本不会统计Luci登录记录,无法自动针对频繁IP进行封堵)

部署SSL证书
- 阿里云申请免费SSL证书,申请完成后下载证书。
- 防火墙中设置端口映射到LAN口443端口。
将.pen 后缀修改为.crt后缀,打开OpenWrt uHTTPd删除旧证书及密钥。上传阿里云证书及密钥。重启uhttpd服务。
/etc/init.d/uhttpd restart- 使用https://域名端口即可公网HTTPS访问。

全能推送(PushBot)
- 使用“pushplus”服务推送,关注“pushplus 推送加”公众号。
- 根据“pushplus”用户手册,配置相关参数即可。

FileBrowser
官方简介:文件浏览器是一种创建你自己的云的软件,你可以在服务器上安装它,将它指向一个路径,然后通过一个漂亮的web界面访问你的文件。您有许多可用的特性!
项目地址:github.com/filebrowser/filebrowser
- 下载ARM版的项目文件包,解压到OpenWrt。(PS:存储位置挂载外部存储最好,USB2.0速度满足日常文件需求)
- 配置项目存放目录、数据存放目录,监听端口。

- 开启FileBrowser服务,数据存放目录会生成“filebrowser.db”文件,后续部署SSL证书及登录验证需要编辑。

- 访问LAN口IP+监听端口,初始用户密码admin登录。

部署SSL证书及登录验证
- 准备证书及密钥上传至项目存放目录。
shell项目存放目录,输入下面命令。
./filebrowser -d /mnt/sda1/filebrowser_data/filebrowser.db config set --cert /mnt/sda1/filebrowser/证书文件名.cert --key /mnt/sda1/filebrowser/密钥文件名.key

- OpenWrt防火墙设置端口映射使用https://域名端口即可公网HTTPS访问。

部署谷歌人机验证reCAPTCHA
- 先在www.google.com/recaptcha/admin申请密钥


相关注意点:(某度参考)
- 设置filebrowser。这里注意,根据filebrowser下的issues所报告的,你应该使用2019-05之后的版本,否则下列命令很可能出现无效的情况。
然而,根据该issues所言,暂时也无法在config.json中设置reCAPTCHA。但config.json中似乎有与此相关的参数,如果删掉config.json中相关参数,即使命令设置了也依旧不会生效,因此推荐保留config.json中与reCaptcha有关的两个参数。 修改数据库文件:
./filebrowser -d /mnt/sda1/filebrowser_data/filebrowser.db config set --recaptcha.key=网站密钥 --recaptcha.secret=通信密钥- 这里需要注意一点,配置文件中recaptcha设置项中的默认的host由于特殊性无法在国内使用,须在shell中再执行格式如下的命令,详情参见filebrowser下的issues
./filebrowser -d /mnt/sda1/filebrowser_data/filebrowser.db config set --recaptcha.host https://www.recaptcha.net 访问web页面,出现人机验证部署成功,可以愉快玩耍了。

部署完成
- 在主路由部署完成后第一时间部署的DDNS达到公网访问OpenWrt需要,满足自己捣鼓的欲望,捣鼓的结果就是OpenWrt被我搞崩好几次其中就有手残“rm -rf /”执行命令时在根目录,导致巨多错误。结果就是重刷!
- 记得养成备份习惯!记得养成备份习,备份文件可使重刷后固件自带应用的配置全恢复!升级时也游刃有余!
- 后期也会记录OpenWrt的其他应用!
文章已具雏形,需进一步聚焦核心问题。