[N1盒子] N1刷Armbian系统并在Docker中安装OpenWrt旁路由的详细教程 解决方案是修改/etc/network/interfaces文件

发布时间:2019年12月21日 阅读:3270 次

首先感谢论坛中的各位大神,制作了方便小白的固件、写了一篇又一篇普及的教程、提供了一波又一波的工具,让我等没有系统学过网络基础知识的小白也有机会学习和折腾
本来想只刷个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
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连接的上级路由器查看得到。


注意是按数字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才指向旁路由



----如果主路由采用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
   hwaddress 4a:05:88:44:39:88 →将eth0网卡的mac地址写成不同于wifi的地址,比如添加一行:

   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或者重启系统查看效果

Tag:
相关文章
发表评论

发表评论: