N1 降级 Webpad 刷小钢炮系统+Docker 安装 OpenWrt 旁路由

拼多多上又买了一个 N1,裸机+原装电源,102大洋,拼多多送了一个月会员,领了张¥9优惠券,¥93到手,还不错。能领到20优惠券就更便宜了。打算折腾 OpenWrt 旁路由喝酸酸乳上外网。

N1 降级/线刷 Webpad 改版系统

拿到手开机系统版本是 V2.28,据说系统版本在 V2.19 以上的都必须先降级才能刷机。那就老老实实先降级吧,反正之前就折腾过,用上 webpad 大神的《斐讯 T1、N1 官方系统降级工具》,很简单。

连续点击版本号4次打开 adb

 1308-4-adb

打开工具降级

降级工具下载:斐讯T1、N1官方系统降级工具

解压密码:1024

N1 最好 Wi-Fi 连上网络,这样在屏幕上直接就能看到 N1 IP 地址。

打开工具 N1 选择 2,输入 N1 IP 地址,按照提示一步步来就行了,降级成功会重启机子,注意机子系统版本虽然没有改变,但实则已经降级。

 1308-down-cmd

线刷 Webpad 改版系统

线刷工具下载:N1-线刷-USB_Burning_Tool

webpad 大神官改 V2.2 固件:N1_mod_by_webpad_v2.2_20180920

解压密码:1024

降级完成后,安装 USB_Burning_Tool 烧录软件,注意会提示安装驱动,一定要安装这个驱动。

然后打开《斐讯 T1、N1 官方系统降级工具》,选择 3 进入线刷模式,这时候机子会重启,马上插上 USB 双公头线,一头连接电脑,一头接 N1 靠 HDMI 接口处的那个 USB 口。一般来说这时候电脑会提示发现新设备,让你安装驱动,如果安装驱动失败,就需要手动添加驱动(我折腾是自动安装上了)。手动安装方法也很简单,打开设备管理器,随便点击一个硬件设备,点击添加过时硬件,选择【libusb-win32 Usb Devices】,然后再下一步,选择【WorldCup Device】就行。

 1308-devices

温馨提示:USB 双公头线最好用 USB2.0,亲测 3.0 死活进不去线刷模式,直接进去了 Recovery ……另外 USB 线连到电脑主板原生 USB 接口。

成功进入线刷模式就可以进行烧录,在 USB_Burning_Tool 软件中,导入烧录包,无论是用来做电视盒子还是 Linux 等系统,都建议先刷入 webpad 大神的官改 V2.2 固件,可以去除很多限制。

注意取消右边的【擦除 flash】和【擦除 bootloader】选项,否则刷机很可能失败。烧录完成后,先点击停止,然后关闭软件,拔出 USB 线,拔出 N1 电源线,重新通电重启,刷机成功。

 1308-usb-burn-rom

此处教程转自博友山小炮

刷入荒野无灯小钢炮(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 盘中,写入完成如果提示格式化,取消即可。

 1308-u-restore

U盘写好后,先别插入! U盘写好后,先别插入! U盘写好后,先别插入!

adb 设置 N1 从U盘启动

准备好 adb 环境,没有的话可以这里下载(解压密码1024),解压放到 C 盘,比如:C:\adb。不知道 N1 IP 地址的话,可以去路由器后台查看,N1 的网卡地址是 FC 开头。

 1308-adb

这里假设 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 小钢炮。

 1308-ndm-docker-yes

然后进入 Apps - Other - Docker Settings 检查 Docker 运行状态,Docker UI 可选安装,建议安装上,安装好 UI 可以直接 192.168.2.254:9000 登录 Docker 可视化管理页面。

 1308-ndm-docker

拉取 kanshudj OpenWrt 镜像

docker pull kanshudj/n1-openwrtgateway:r20

r20 是 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 处添加网卡混杂模式代码:

 1308-ndm-promisc

ifconfig

 1308-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 bash

OpenWrt 是前面 --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

参考图示:自定义防火墙

不过好像不加也行。

主路由设置:开启 DHCP,DHCP 网关和 DNS 填旁路由 IP(如 192.168.2.254)。

不过老杨并没有修改这项,因为不是所有设备需要访问外网,在需要访问外网的设备手动指定网关和 DNS 为旁路由 IP 即可。

如果主路由使用 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 折腾记录

N1刷Armbian系统并在Docker中安装OpenWrt旁路由的详细教程

n1 Docker版Openwrt更新方法

N1 小钢炮 Docker OpenWrt 旁路由 Hello World 精简固件

追求精简,可以试试 breakersun/openwrt:pigroup,还有这个:自编译docker用openwrt分享,推荐搭配小钢炮使用备用下载,解压密码1024)。两个亲测可用,比较简洁。

愿意折腾?还可以自己编译 OpenWrt 固件……

免责声明:本博客(https://cyhour.com/)仅为分享信息绝非推荐,网站不参与交易绝非中介,内容均仅代表个人观点绝非权威,所有信息仅供参考,读者请自行考虑后入手并自担风险!一分钱一分货仍是恒久不变之真理,未成年读者(包括生理和心理)请在监护人陪同下访问本站!
除非注明,沙唐桔文章均为原创,本文地址 https://cyhour.com/1308/AMP 移动加速版本)转载时必须以链接形式注明原始出处。
Vultr 送$100,搬瓦工年付最低$49,优惠码 BWH3HYATVBJW,更多推荐VPS信息,或支持老杨

Comments:28

  1. 家里用的也是斐讯,用的商家刷的华硕。
    刷其他系统有什么作用?

    2020.04.01 19:28 # 回复
    1楼
  2. 这才叫折腾,代码看的人头晕眼花的。

    2020.04.01 22:26 # 回复
    2楼
  3. 来个aff,搞一个备份手机相册,貌似普遍涨价的节奏

    2020.04.02 12:45 # 回复
    3楼
    • @神父 这个貌似没有 AFF 啊,我在这家店买的,前天又买了一个:https://mobile.yangkeduo.com/goods.html?_wvx=10&refer_share_uid=4170090095&share_uin=DQBBYC3SCKOOQ2QVQNXUDAANHE_GEXDA&page_from=101&_wv=41729&refer_share_channel=copy_link&refer_share_id=PCJu4Ty8mK3eMEcTdfixXsQtmcgecI91&share_uid=4170090095&goods_id=86494265067

      2020.04.02 15:50 # 回复
      • @老杨 黑色略微划痕原系统 单机头+原装2A电源 103啊
        我2月份买的无划痕单机头99-20,没有电源,用家里的12V1A看电视可以,挂硬盘就不行了

        2020.04.03 08:59 # 回复
        • @神父 单机头 99 根这个 103 差不多啊?103 还带电源……有无划痕都差不多吧,除非原封。20优惠券不好抢吧?看电视的话估计直接电视 USB 供电也行。

          2020.04.03 09:39 # 回复
          • @老杨 99-20的券很好抢,分享微信3个人助力基本上都能到手。无门槛的难。当时没注意原装电源是2A的,觉得家里有就没有要。无划痕主要是为了凑99-20,亏了唉。

            2020.04.03 09:51 # 回复
  4. 这价格可以啊!我前段时间也买了个黑色,90元裸机有点灰,还不带电源,给别人刷了电视盒子,黑色也很好看。

    2020.04.02 19:23 # 回复
    4楼
    • @山小炮 看成色还不错,就不知道闪存寿命。话说做电视盒用哪个遥控比较好呢?

      2020.04.02 19:29 # 回复
  5. 你这个价格可以,不算非常贵

    2020.04.03 16:52 # 回复
    5楼
  6. 看着头大,老杨会的真不少……

    2020.04.05 16:22 # 回复
    6楼
  7. zeroalexchen

    感谢大佬发的教程,想请问一下docker的openwrt能开WiFi吗

    2020.04.18 20:08 # 回复
    7楼
  8. bywoodren

    感谢大佬的详细教程,但是跟着步骤操作到最后一步,起不来hello world 插件是怎么回事,用的是trojon

    2020.05.23 10:04 # 回复
    8楼
  9. eyter

    从openwrt刷小钢炮,U盘启动可以成功,写入到EMMC显示成功,但是拔掉U盘,上电无法启动,哪里有问题呢。?

    2020.05.30 20:42 # 回复
    9楼
    • @eyter 先刷回 Webpad 改版系统再写入小钢炮。

      2020.05.30 21:02 # 回复
      • yjms

        @老杨 同样问题 刷回 Webpad 改版 写入小钢炮 写入到EMMC 上电访问不了 路由器获取不到IP

        2020.08.14 11:27 # 回复
  10. 阿牛哥哥

    docker exec -it OpenWrt bash,这个执行出错
    [root@Wangcai-Nas:~]# docker exec -it OpenWrt bash
    Error: No such container: OpenWrt
    —–后来我用图形界面自定义命令搞定

    另外你的openwrt显示cpu架构么,我的是显示一个问号,刷了很多人的openwrt镜像都是一样

    2020.06.17 21:52 # 回复
    10楼
    • @阿牛哥哥 No such container: OpenWrt ——是因为你的 docker OpenWrt 不是叫 OpenWrt………………
      CPU 不是问号,可以显示架构。

      2020.06.18 09:22 # 回复

发表留言

Vultr 送$100,搬瓦工年付最低$49,优惠码 BWH3HYATVBJW,更多推荐VPS信息