恩山无线论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 10574|回复: 74

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

    [复制链接]
发表于 2019-11-6 16:30 | 显示全部楼层 |阅读模式
本帖最后由 muzilee 于 2019-11-16 09:45 编辑

首先感谢论坛中的各位大神,制作了方便小白的固件、写了一篇又一篇普及的教程、提供了一波又一波的工具,让我等没有系统学过网络基础知识的小白也有机会学习和折腾
本来想只刷个openwrt路由固件来测试哈的,但又觉得浪费了它的强大配置,何不先刷入armbian固件,再在docker中安装openwrt,今后想要添加别的功能还可以无限的发挥想象。由于对linux和docker一知半解,过程中走了不少弯路,为了给像我一样的小白指指路,也为自己做个备忘录,将折腾记录及注意事项分享如下:

一、大体流程:

1.将armbian刷入U盘

2.将N1降级

3.将armbian刷入N1的内部存储emmc

4.安装docker

5.在docker中安装openwrt软路由

6.主路由与旁路由的设置

7.其他事项

二、详细过程:

1.将armbian刷入U盘

1.1.下载适合N1的armbian镜像文件。有大神专门修改后适配N1的驱动dtb文件(包括降低运行负载等优化),更有大神制作好了集成驱动的armbian系统镜像。我用的是大神flippy制作的镜像在此膜拜并感谢】,只需要写入不做任何修改即可正常使用。下载链接:链接:https://pan.baidu.com/s/1UiCmdGVtG7OtmtntCQNzQw;提取码:ug54
大神原贴地址:https://www.right.com.cn/forum/thread-958173-1-1.html

1.2.准备U盘镜像写入软件,用绿色单文件软件rufus即可(可度娘搜到),运行该软件,选中你要写入镜像文件的U盘(注意:会清除U盘上所有,请提前做好备份),其它按缺省设置即可,点击开始写完即可拔下U盘备用。

2.将N1降级(若已降级直接跳到第3步)

2.1.打开N1的adb调试功能:将N1启动到nas主界面点击4次固件版本即可打开adb(会有提示)
N1在nas主界面点击4次固件版本打开adb.jpg
N1在nas主界面点击4次固件版本打开adb
2.2.下载论坛webpad大神【感谢大神开启了N1花样玩法的大门!提供的一键降级工具:

百度云:链接:https://pan.baidu.com/s/1KBxq4MveOAQ-n4pBOcfrHQ;密码:0uxv
微云:链接:https://share.weiyun.com/5klmuxd;密码:yaefa9
(大神原贴地址:https://www.right.com.cn/forum/thread-340279-1-1.html)
原目录结构解压至计算机

2.3.在计算机(需与N1在同一网段)运行onekey 子目录下的 run.bat ,按提示操作:(注意是按数字2并回车,并将盒子ip修改为你自己的!N1的ip可以通过N1连接的上级路由器查看得到。
N1降级图示.jpg

注意是按数字2并回车,并将盒子ip修改为你自己的
3.将armbian刷入N1的内部存储emmc

3.1.将N1启动进入刷机模式:在计算机(需与N1在同一网段)中运行如下命令(在前述的onekey目录中有adb.exe及其所需文件)

------①.adb connect N1的ip(可用ifconfig查询得到)

-------②.adb shell
-------③.reboot update(黑屏重启时迅速插入U盘

-----注意:如果在N1进入原生固件(哪怕是已经降过级但未重刷系统固件)的nas界面时插入U盘,会将U盘中文件夹的访问权限从root修改为别的,导致刷入系统后出现很多莫名其妙的问题,所以务必按前述流程操作。否则只有重新制作U盘。

----只要U盘成功启动进入系统一次,以后就不再需要用命令方式,直接在N1关机状态插入U盘即可启动到U盘系统。

3.2.U盘启动进入armbian系统

U盘系统启动后【此时可以给N1接上显示器和键鼠直接进行后续操作,也可在同网段计算机上通过ssh方式操作】需要输入用户名及密码,缺省值是root,1234,并要求修改密码(不能与1234相同或相近)---------务必记住修改后的密码。

3.3.将系统写入emmc

用root账户deng登录后,直接运行./install.sh即可自动安装,所有脚本运行完毕后,关机,拔掉U盘,开机即可正常进入emmc的armbian系统,用户名和密码即为刚才在U盘系统中修改的。

4.安装docker

flippy大神的armbian5.98已经集成了install-docker.sh脚本,直接用root登录运行./install-docker.sh即可完成安装。

5.在docker中安装openwrt软路由

5.1.寻找适合你的在docker中运行的openwrt源或镜像包,我依然用的是flippy大神的(再次感谢,在前述armbian下载链接里有),现在已经更新到r9.10.24版了。

5.2.下载并导入openwrt镜像包

----①.将docker-img-openwrt-aarch64-r9.10.24.gz文件上传至N1的/root目录
----②.ssh到N1
----③.导入软路由docker包:
----gzip -dc docker-img-openwrt-aarch64-r9.10.24.gz | docker load
----或者docker pull unifreq/openwrt-aarch64:r9.10.24(如果未按第①步事先下载并上传镜像包的话)

5.3.开启网卡的混杂模式(这样是为了目前这个阶段能正常安装并配置,要永久开启需修改配置文件,稍后详述)

ip link set eth0 promisc on

5.4.创建docker的虚拟网络(可用docker network ls查看已创建了哪些)

docker network create -d macvlan --subnet=192.168.12.0/24 --gateway=192.168.12.1 -o parent=eth0 macnet

【名称为macnet,macvlan模式,将12.x修改为你自己主路由的网段】

5.5.开启openwrt容器:

docker run --restart always -d --network macnet --privileged unifreq/openwrt-aarch64:r9.10.24 /sbin/init

----------注意路由包名与前述导入的保持一致,后面的/sbin/init可以省略-

5.6.进入openwrt容器修改network设置(当然也可以安装docker的图形管理界面然后修改-----我的没有成功,所以就只能在ssh中敲命令啰)
------docker exec -it cranky_faraday bash→相当于进入openwrt的shell(这是我的理解,不知对否,网大神们指正),其中cranky_faraday为openwrt容器名,可以通过运行docker container ls 显示出的NAMES字段获得(也可以在5.5.步骤中-n的方式zhid指定容器名)

------vi /etc/config/network,将option ipaddr 192.168.X.1替换为你想登录op的ip,注意其应在主路由网段内,如192.168.12.5,ESC,:wq
5.7.reboot或者/etc/init.d/network restart,此时已经可以在浏览器中输入192.168.12.5登录openwrt软路由了!

6.主路由与旁路由的设置

6.1.openwrt旁路由:关闭dhcp,网关填主路由ip,dns可以为主路由ip或114等公共dns,且将其【物理设置】中的【桥接接口】取消掉。还有最重要的1点:务必在防火墙添加规则设置:iptables -t nat -I POSTROUTING -j MASQUERADE并重启防火墙

6.2.主路由:开启dhcp,网关和dns填旁路由ip。

如果主路由是openwrt固件可在dhcp服务器的dhcp选项中按下图填入-如此设置网关和dns依然不变,只有通过主路由dhcp分配到ip的设备之网关和dns才指向旁路由
主路由是openwrt时接口lan的dhcp设置.jpg


----如果主路由采用padavan及开启硬加速, 而用N1做旁路由时可能出现不兼容情况,导致网络卡顿,关闭主路由硬加速可以解决(将主路由padavan的外部网络WAN -> 外网设置选项卡 -> IPv4硬件加速,由OFFLOAD TCP/UDP for LAN/WLAN,修改为OFFLOAD TCP/UDP for LAN----

7.其他事项

如此设置后,会存在如下问题:

①.同网段设备均可以正常访问(包括ping)N1和op,但N1和op之间是不能互访的【需要将armbian的ip设置为静态的才行

②.N1重启网卡混杂模式会失效,需设为永久开启

解决方案是修改/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

改完后重启网络systemctl restart networking或者重启系统查看效果

评分

参与人数 9恩山币 +10 收起 理由
ooohtvooo + 1 感谢你的分享,无论怎样,你都是最无私的人!来,说说,你E盘上还有啥一起给我吧!
Renxuequn + 1 强大的恩山!(以下重复1万次)
amnaux + 1 现在有什么好的办法下载百度云 。太慢了论坛资源一个下不来。。。。。。。。。
synoman + 1 感谢你的分享,无论怎样,你都是最无私的人!来,说说,你E盘上还有啥一起给我吧!
584521abc + 1 感谢你的分享,无论怎样,你都是最无私的人!来,说说,你E盘上还有啥一起给我吧!
gyshy + 1 别光喝酒啊,吃菜吃菜~~~
TensorLake + 1 恩山全体路由党向你学习!
saigwok + 1 恩山全体路由党向你学习!
sunjun1989 + 2 感谢你的分享,无论怎样,你都是最无私的人!来,说说,你E盘上还有啥一起给我吧!

查看全部评分

我的恩山、我的无线 The best wifi forum is right here.
发表于 2019-11-6 16:35 | 显示全部楼层
谢谢指导,闲下来也刷了看看。
来自苹果客户端来自苹果客户端
我的恩山、我的无线 The best wifi forum is right here.
发表于 2019-11-6 16:47 | 显示全部楼层
好样的!
来自安卓客户端来自安卓客户端
我的恩山、我的无线 The best wifi forum is right here.
发表于 2019-11-6 17:04 来自手机 | 显示全部楼层
支持!!!
我的恩山、我的无线 The best wifi forum is right here.
发表于 2019-11-6 17:31 | 显示全部楼层
我也在docker下弄了op
卡成翔,跟另一个直刷的N1简直不能比。
不知道是不是就是这个插入方式不对,回去试一下看看。
我的恩山、我的无线 The best wifi forum is right here.
发表于 2019-11-6 21:44 | 显示全部楼层
学习学习,支持折腾
来自安卓客户端来自安卓客户端
我的恩山、我的无线 The best wifi forum is right here.
发表于 2019-11-6 23:47 | 显示全部楼层
写教程不易,感谢分享!
我的恩山、我的无线 The best wifi forum is right here.
发表于 2019-11-7 06:15 | 显示全部楼层
我主路由是个tp路由,n1直刷的op,然后主路由关闭的dhcp,n1开启的dhcp,不知道为啥不稳定
来自安卓客户端来自安卓客户端
我的恩山、我的无线 The best wifi forum is right here.
发表于 2019-11-7 09:40 | 显示全部楼层
楼主好人啊
我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2019-11-7 14:33 | 显示全部楼层
synoman 发表于 2019-11-7 09:40
楼主好人啊

共同进步!
来自安卓客户端来自安卓客户端
我的恩山、我的无线 The best wifi forum is right here.
发表于 2019-11-7 21:56 | 显示全部楼层
按照楼主的方法刷了5.98,但是有线网卡eth0获取不到IP啊,设置静态IP路由器中也看不到设备,什么情况啊,愁死了

点评

确信每一步都按教程来的?启动N1后用ifconfig命令截图来看哈  详情 回复 发表于 2019-11-7 22:07
我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2019-11-7 22:07 | 显示全部楼层
qhdalong 发表于 2019-11-7 21:56
按照楼主的方法刷了5.98,但是有线网卡eth0获取不到IP啊,设置静态IP路由器中也看不到设备,什么情况啊,愁 ...

确信每一步都按教程来的?启动N1后用ifconfig命令截图来看哈

点评

连WiFi是没有问题的,而且也可以正常ssh。但是就是有线网络不行,如果改成静态IP,WiFi的SSH也会失效。  详情 回复 发表于 2019-11-7 22:19
确信,ifconfig之后eth0没有IP,我这里没有截图,但是实际情况是这样  详情 回复 发表于 2019-11-7 22:17
我的恩山、我的无线 The best wifi forum is right here.
发表于 2019-11-7 22:17 | 显示全部楼层
muzilee 发表于 2019-11-7 22:07
确信每一步都按教程来的?启动N1后用ifconfig命令截图来看哈

确信,ifconfig之后eth0没有IP,我这里没有截图,但是实际情况是这样
我的恩山、我的无线 The best wifi forum is right here.
发表于 2019-11-7 22:19 | 显示全部楼层
muzilee 发表于 2019-11-7 22:07
确信每一步都按教程来的?启动N1后用ifconfig命令截图来看哈

连WiFi是没有问题的,而且也可以正常ssh。但是就是有线网络不行,如果改成静态IP,WiFi的SSH也会失效。

点评

编辑/etc/network/interfaces文件,将eth0网卡的mac地址写成不同于wifi的地址,比如添加一行: hwaddress 4a:05:88:44:39:88 试一下看看  详情 回复 发表于 2019-11-8 11:33
我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2019-11-8 11:33 | 显示全部楼层
qhdalong 发表于 2019-11-7 22:19
连WiFi是没有问题的,而且也可以正常ssh。但是就是有线网络不行,如果改成静态IP,WiFi的SSH也会失效。

编辑/etc/network/interfaces文件,将eth0网卡的mac地址写成不同于wifi的地址,比如添加一行:
hwaddress 4a:05:88:44:39:88

试一下看看

点评

额,两者的mac本来就是不一样的  详情 回复 发表于 2019-11-8 16:18
我的恩山、我的无线 The best wifi forum is right here.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )|网站地图

GMT+8, 2020-2-27 18:21

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表