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 |
文章评论