Globe

Kratos
专注于用户阅读体验的响应式博客主题
  1. 首页
  2. 斐讯N1刷机教程
  3. 正文

N1 Armbian docker安装OpenWrt

2024年3月4日 127点热度 0人点赞 0条评论

1.安装docker

1
curl -fsSL https://get.docker.com/ | sh

#一句话,就安装了docker,建议n1网络在科学环境下,不然会慢或者失败!

1
2
systemctl start docker
systemctl enable docker

2.安装portainer汉化版
ssh,到根目录,新建目录

1
2
mkdir /public
cd /public

wget 下载portainer汉化包

1
wget http://soft.zhujitips.com/n1/7.docker/Portainer-CN.zip

解压,删除压缩包,赋权限

1
2
3
unzip -o Portainer-CN.zip
rm -rf *.zip
chmod -R 777 /public

安装portainer

1
2
docker volume create portainer_data
docker run -d --name portainer -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data -v /public:/public portainer/portainer:linux-arm64

应该用上面那一条命令,下面这个是英文版,没汉化的,

1
docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer:linux-arm64 #博主自己留着看看的,别运行这条

3.开启网卡的混杂模式(即接收内网中所有数据包,无论其目的地是否是本地)
永久开启网卡的混杂模式:
打开文件:

1
vim /etc/rc.local

添加下面代码:

1
ip link set eth0 promisc on

临时开启(xshell输入):

1
ip link set eth0 promisc on

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

1
docker network create -d macvlan --subnet=192.168.0.0/24 --gateway=192.168.0.1 -o parent=eth0 macnet

#这是添加macvlan网络
#subent 指网段
#gateway 主路由的ip
注意:如果正在使用的不是 eth0 接口,请将其更改为正在使用的接口,若网络是桥接模式请使用下方命令创建

1
docker network create -d macvlan --subnet=192.168.0.0/24 --gateway=192.168.0.1 -o parent=br-lan macnet

注意:macnet 为名称,macvlan 为模式,将 IP 更改为主路由网段与 IP 地址

5.设置portainer开机自动运行, 先找到 ID:

1
2
3
docker ps -a
docker container ls #查看id
docker update --restart=always id

6.拉取openwrt镜像(建议科学环境下,不然慢且可能失败)
#网址:https://hub.docker.com/search?q=openwrt-aarch64,可以找自己想要的镜像,下面以一个为例

1
docker pull witchone/openwrt-aarch64

#默认IP 127.0.0.1 账号 root 密码 password

1
docker run -d --name=OpenWrt --restart always --privileged --network macnet witchone/openwrt-aarch64:latest

#以后台方式运行openwrt容器。
(万一openwrt设置出错,删除容器后重新运行容器:需要把添加的macvlan网络那条删掉,才删除得了这容器,然后再先运行添加macvlan网络那条,这时候,不用再去拉取镜像了,本地已经有了,直接运行容器了)

进去修改root密码

1
2
docker exec -it OpenWrt bash
passwd

7.下面这个是armbian下,命令行方式操作openwrt容器的方法

1
2
docker exec -it OpenWRT /bin/bash
vi /etc/config/network #更改 openwrt 网卡信息

vi命令使用方法
先按字母 i 才可以输入文字
在 interface 'lan' 里面改
option proto 'static'
option ipaddr '192.168.0.30' #(注意改这个IP地址为不冲突的地址,后面你可以直接用这个IP访问OpenWrt)
option gateway '192.168.0.1'#(这个是你主路由的IP,其实改不改无所谓,等会登录网页修改即可)
按esc退出编辑模式按冒号 : 输入 w q 回车 编辑完成保存
此时可以在内网的终端设备上通过 192.168.0.30 访问 luci 界面进行配置。

8.进入后防火墙规则记着添加下面这条:

1
iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE

9.网络-接口-物理设置-桥接接口,去除勾选,然后保存应用(不然出现国外通,国内不通的问题)

这时候,会发现和你的openwrt失联了。去portainer上,重启一下该容器,即可。

万一openwrt设置错误,启动不了了,那么来这里删除网络,删除openwrt容器;再新建网络,运行openwrt容器。

注意:最新版本的uhttpd有问题,需要将https监听屏蔽,不然重启进不去后台。

1
vim /etc/config/uhttpd

下面两行前面加#:
# list listen_https '0.0.0.0:443'
# list listen_https '[::]:443'

ftp连接不上openwrt的时候可以安装openssh-sftp-server:

1
2
opkg update
opkg install openssh-sftp-server

luci-app-adguardhome插件下载地址:

1
https://github.com/rufengsuixing/luci-app-adguardhome/releases/tag/1.8-9

安装iStore商店(ARM64 & x86-64通用)

1
wget -qO imm.sh https://cafe.cpolar.top/wkdaily/zero3/raw/branch/main/zero3/imm.sh && chmod +x imm.sh && ./imm.sh

标签: 暂无
最后更新:2025年6月21日

free

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

COPYRIGHT © 2024 EverythingIThink. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang