旧文:拼多多上又买了一个 N1,裸机+原装电源,102 大洋,拼多多送了一个月会员,领了张¥9 优惠券,¥93 到手,还不错。能领到 20 优惠券就更便宜了。打算折腾 OpenWrt 旁路由喝酸酸乳上外网。
N1 降级/线刷 Webpad 改版系统
拿到手开机系统版本是 V2.28,据说系统版本在 V2.19 以上的都必须先降级才能刷机。那就老老实实先降级吧,反正之前就折腾过,用上 webpad 大神的《斐讯 T1 、 N1 官方系统降级工具》,很简单。
连续点击版本号 4 次打开 adb
「N1 降级 Webpad 刷小钢炮系统+Docker 安装 OpenWrt 旁路由:https://ostarted.com/116」打开工具降级
降级工具下载:斐讯 T1 、 N1 官方系统降级工具
N1 最好 Wi-Fi 连上网络,这样在屏幕上直接就能看到 N1 IP 地址。
打开工具 N1 选择 2,输入 N1 IP 地址,按照提示一步步来就行了,降级成功会重启机子,注意机子系统版本虽然没有改变,但实则已经降级。
「N1 降级 Webpad 刷小钢炮系统+Docker 安装 OpenWrt 旁路由:https://ostarted.com/116」线刷 Webpad 改版系统
线刷工具下载:N1-线刷-USB_Burning_Tool
webpad 大神官改 V2.2 固件:N1_mod_by_webpad_v2.2_20180920
「N1 降级 Webpad 刷小钢炮系统+Docker 安装 OpenWrt 旁路由:https://ostarted.com/116」降级完成后,安装 USB_Burning_Tool 烧录软件,注意会提示安装驱动,一定要安装这个驱动。
然后打开《斐讯 T1 、 N1 官方系统降级工具》,选择 3 进入线刷模式,这时候机子会重启,马上插上 USB 双公头线,一头连接电脑,一头接 N1 靠 HDMI 接口处的那个 USB 口。一般来说这时候电脑会提示发现新设备,让你安装驱动,如果安装驱动失败,就需要手动添加驱动(我折腾是自动安装上了)。手动安装方法也很简单,打开设备管理器,随便点击一个硬件设备,点击添加过时硬件,选择【libusb-win32 Usb Devices】,然后再下一步,选择【WorldCup Device】就行。
「N1 降级 Webpad 刷小钢炮系统+Docker 安装 OpenWrt 旁路由:https://ostarted.com/116」温馨提示:USB 双公头线最好用 USB2.0,亲测 3.0 死活进不去线刷模式,直接进去了 Recovery ……另外 USB 线连到电脑主板原生 USB 接口。
成功进入线刷模式就可以进行烧录,在 USB_Burning_Tool 软件中,导入烧录包,无论是用来做电视盒子还是 Linux 等系统,都建议先刷入 webpad 大神的官改 V2.2 固件,可以去除很多限制。
注意取消右边的【擦除 flash】和【擦除 bootloader】选项,否则刷机很可能失败。烧录完成后,先点击停止,然后关闭软件,拔出 USB 线,拔出 N1 电源线,重新通电重启,刷机成功。
此处教程转自博友山小炮。
刷入荒野无灯小钢炮(NDM)系统
荒野无灯小钢炮(NDM)系统官网:http://nanodm.net
下载地址:http://rom.nanodm.net/N1/
类似的有:Armbian,同样可以 docker,然后运行 OpenWrt 做旁路……
小钢炮与 Armbian 哪个好?或者说哪个更适合?我也不知道,没有研究。据说小钢炮还不错,就选择了干它……
N1 小钢炮固件安装说明:https://rom.nanodm.net/N1/n1-fw-install-guide.md
制作小钢炮启动 U 盘
刷机所用资源下载地址:https://rom.nanodm.net/N1/
小钢炮系统:n1-s905-linux-hacklog-20190411-2042.img.7z(备用下载,解压密码 1024)
启动 U 盘制作工具:USB Image Tool
U 盘不要太大,usb 2.0 最佳,金士顿 USB 3.0 32G 失败,闪迪 Cruzer Edge 8G USB 2.0 一次过成功。
把小钢炮镜像解压出来,n1-s905-linux-hacklog-20190411-2042.img,最好校验一下。然后通过 USB Image Tool 工具把镜像写入到 U 盘中,写入完成如果提示格式化,取消即可。
U 盘写好后,先别插入! U 盘写好后,先别插入! U 盘写好后,先别插入!
adb 设置 N1 从 U 盘启动
准备好 adb 环境,没有的话可以这里下载(解压密码 1024),解压放到 C 盘,比如:C:\adb 。不知道 N1 IP 地址的话,可以去路由器后台查看,N1 的网卡地址是 FC 开头。
这里假设 N1 IP 为: 192.168.2.222,在电脑端执行命令:
adb connect 192.168.2.222 (这里为盒子的 IP)连接成功后你会看到提示: connected to 192.168.2.222:5555
接着输入:
adb shell成功进入 android shell 标记是:命令提示符会变成: p230:/ $,然后手里准备好 U 盘,再执行:
reboot update执行完命令立即马上迅速把 U 盘插到离 HDMI 口最近的那个 USB 口。只插一个 U 盘,不要插其它多余 USB 设备。
如果一切顺利,三分钟左右,小钢炮就启动起来了。主路由器如果开启 DHCP,IP 可能会有变化,进去主路由器后台看看 IP 地址,然后通过 IP 地址就可以访问 N1 小钢炮系统了。
假设 N1 小钢炮 IP 为: 192.168.2.222
N1 小钢炮后台登录地址为:http://192.168.2.222
默认用户名:root;密码:root
ssh 默认 端口 22,用户名 root,密码 root
ftp 默认 端口 21,用户名 root,密码 root
否则检查 U 盘,换 U 盘,重新制作 U 盘启动盘……多尝试几次。
小钢炮写入 EMMC
方法很简单,打开 N1 小钢炮 ip:8086(比如 192.168.2.222:8086),通过端口访问会进入【FIRMWARE AUTO INSTALL TOOL】,然后点击【Start Install】,会自动写入到 N1 的 EMMC 里。
如果有看到 socket ignored 错误,不用管,其它操作成功就行。最后显示:Complete copy OS to eMMC parted SYSTEM 即表示安装过程已经完成。
断掉 N1 电源,拔掉 U 盘,再上电开机即可。等待两三分钟启动完成。打开登录页面后,务必清空一次 Chrome 浏览器缓存。
Ctrl + shift + i,然后右击浏览器顶部地址栏的刷新按钮,选择第三项:“清空缓存并硬性重新加载”,即可。此操作在更新完系统或更新完 dashboard 后务必执行一次。
至此小钢炮安装完成。
Docker 安装 OpenWrt 旁路由设置
据说 flippy 固件不错,于是 pull Docker openwrt r20.03.19,无奈小飞机一直运行不起来,手动启动提示 sxr-rules[7584]: Can't redirect, please check the iptables. 看样子跟防火墙有关启动不了。
作罢,换 kanshudj 版,小飞机顺利起飞。
小钢炮启动 Docker
登录小钢炮后台 192.168.2.254,System - Startup,将 /etc/init.d/S60dockerd 项目 Enable 栏点成「绿色 YES」,然后重启 N1 小钢炮。
然后进入 Apps - Other - Docker Settings 检查 Docker 运行状态,Docker UI 可选安装,建议安装上,安装好 UI 可以直接 192.168.2.254:9000 登录 Docker 可视化管理页面。
拉取 kanshudj OpenWrt 镜像
docker pull kanshudj/n1-openwrtgateway:r20r20 是 tag,可到这里查询:https://hub.docker.com/r/kanshudj/n1-openwrtgateway/tags
配置 docker 使用阿里云镜像加速
小钢炮 N1 网络没有科学工具加持,pull OpenWrt 镜像速度可能会很慢,改阿里云 docker 镜像可以加速。
修改 /etc/docker/daemon.json 文件(vi /etc/docker/daemon.json),把原本的源替换掉,比如改成这样:
{
  "storage-driver": "overlay2",
  "registry-mirrors": ["https://ooxxooxx.mirror.aliyuncs.com"]
}阿里云镜像加速器地址获取:https://cr.console.aliyun.com/cn-beijing/instances/mirrors,用你的实际加速地址,替换上面的 https://ooxxooxx.mirror.aliyuncs.com
开启网卡混杂模式
ip link set eth0 promisc on据说重启 N1 就会失效。
网卡永久设置混杂模式
修改 /etc/rc.local 加入如下代码:
ip link set eth0 promisc on或者
ifconfig eth0 promisc改完重启系统检查网卡是否混杂模式(完全启动完才生效,两三分钟)。
也可以在小钢炮后台 System - Startup - Local Startup 处添加网卡混杂模式代码:
ifconfig开启网卡混杂模式方法二
(此方法老头没有测试,有需要可试试)
修改 /etc/network/interfaces 文件:(谨慎操作,可能导致 Armbian 永远无网络)
auto eth0
iface eth0 inet manual
up ip link set eth0 promisc on
auto macvlan
iface macvlan inet static
address 192.168.12.104→修改成你需要的
netmask 255.255.255.0
gateway 192.168.12.1→需改成你的主路由 ip 或 192.168.12.5(旁路由的 ip)
dns-nameservers 192.168.12.1→需改成你的主路由 ip 或 12.5 或再加 1 个公共 dns 比如 114
pre-up ip link add macvlan link eth0 type macvlan mode bridge
post-down ip link del macvlan link eth0 type macvlan mode bridge
改完后重启网络 /etc/init.d/network restart 或者重启系统检查网卡是否混杂模式。
创建 Docker 虚拟网络
docker network create -d macvlan --subnet=192.168.2.0/24 --gateway=192.168.2.1 -o parent=eth0 macnet注意:macnet 为名称,macvlan 为模式,另外请将 192.168.2 修改为你自己主路由网段。
docker network ls ## 可查看已创建网络开启 OpenWrt 容器
docker run --restart always -d --name=OpenWrt --network macnet --privileged kanshudj/n1-openwrtgateway:r20 /sbin/init注意:OpenWrt 包名与前述导入/pull 下来的保持一致,后面 /sbin/init 可以省略。 macnet 虚拟网络名字与前面创建的一致。
配置 OpenWrt 容器网络
可以进入 Docker 图形管理界面(192.168.2.222:9000)执行命令修改
也可以 N1 小钢炮 SSH 连接 Docker OpenWrt SSH 进行修改:
docker exec -it OpenWrt bashOpenWrt 是前面 --name 指定的容器名字,没有指定的话以通过运行 docker container ls 显示出的 NAMES 字段获得。
vi /etc/config/network将 option ipaddr 192.168.X.1 替换旁路由 OpenWrt IP 地址(如 192.168.2.254),注意需与主路由同网段。如果确定只做旁路有还可以顺带把 DHCP 和桥接关掉,然后 ESC,:wq 保存退出。
参考配置:
config interface 'lan'
option ifname 'eth0'
option proto 'static'
option netmask '255.255.255.0'
option gateway '192.168.2.1'
option ip6assign '60'
option dns '119.29.29.29 8.8.8.8 1.1.1.1'
option ipaddr '192.168.2.254'
option broadcast '192.168.2.255'
reboot或者
/etc/init.d/network restart重启 OpenWrt/网络,就可以 192.168.2.254 登录 Docker 里的 OpenWrt 软路由了。
主路由与旁路由设置
Docker OpenWrt 旁路由:关闭 DHCP,网关填主路由 IP(如 192.168.2.1),DNS 可以为主路由 IP 或 119.29.29.29,8.8.8.8 等公共 DNS,「物理设置」中「桥接接口」取消掉。
参考图示:修改 LAN 接口、设置固定 IP,关闭 DHCP
另外,如果旁路由数据不稳定,可在防火墙添加自定义规则试试:
iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE参考图示:自定义防火墙,不过好像不加也行(请根据实际网络环境测试修改)。
然后在需要访问外网的设备手动指定网关和 DNS 为旁路由 IP(如 192.168.2.254)即可。「后记:若主路由(华硕 AC68U 原版梅林固件)设置 DHCP 网关和 DNS 填旁路由 IP,使用 S 酸 S 酸加速节点,网络访问外网可能会异常,设备手动指定则能正常使用」
如果主路由使用 padavan 及开启硬加速,而用 N1 做旁路由可能出现不兼容,导致网络卡顿,关闭主路由硬加速可以解决(将主路由 padavan 外部网络WAN -> 外网设置选项卡 -> IPv4 硬件加速,由 OFFLOAD TCP/UDP for LAN/WLAN,修改为 OFFLOAD TCP/UDP for LAN 即可)
Hello World
Hello World 默认并没有启动,貌似 OpenWrt 启动项那里开启了也启动不了,不知道是不是还有别的机关。
我是直接 SSH 连接 OpenWrt,执行命令:
/etc/init.d/helloworld enable ## helloworld 注意替换成实际程序名。
reboot然后添加订阅或者 Hello World 节点就可以愉快的访问外网了。
参考资料
N1 刷 Armbian 系统并在 Docker 中安装 OpenWrt 旁路由的详细教程
N1 小钢炮 Docker OpenWrt 旁路由 Hello World 精简固件
追求精简,可以试试 breakersun/openwrt:pigroup,还有这个:自编译 docker 用 openwrt 分享,推荐搭配小钢炮使用(备用下载,解压密码 1024)。两个亲测可用,比较简洁。
愿意折腾?还可以自己编译 OpenWrt 固件……或者:斐讯 N1 4K 电视盒子 ROM / OpenWRT 路由器固件下载及遥控器收集
感谢支持 Thanks!解压及网盘密码 1024











Comments:0