docker之openwrt
介绍
如何用docker部署openwrt(本人一般用于挂代理)
下载镜像
无账号的可以注册一个
点击第二个,复制右边的命令,回到操作系统里粘贴
找到适合自己架构拉取镜像即可,我的是aarch64,所以拉取tag为armv8的
1 | docker pull sulinggg/openwrt:armv8 |
查看镜像
1 | docker images |
打开网卡混杂模式
1 | sudo ip link set eth0 promisc on |
创建网络
1 | docker network create -d macvlan --subnet=192.168.1.0/24 --gateway=192.168.1.254 -o parent=eth0 macnet |
须结合实际网络情况,不能照抄命令
–subnet=192.168.1.0/24 #eth0网卡正所处在192.168.1.x网段
–gateway=192.168.1.254 #eth0网卡的网关(即路由器ip)
parent=eth0 #这个是物理网卡名字
macvlan #这是创建的一个驱动程序管理网络(已经创建了192.168.254这个网络段给它)
macnet #macnet创建的网络名字
查看创建的macnet网络
1 | docker network ls |
创建并启动容器
1 | docker run --restart always --name openwrt -d --network macnet --privileged sulinggg/openwrt:armv8 /sbin/init |
进入容器并修改相关参数
1 | docker exec -it openwrt bash |
执行此命令后我们便进入 OpenWrt 的命令行界面,首先,我们需要编辑 OpenWrt 的网络配置文件:
1 | vim /etc/config/network |
我们需要更改 Lan 口设置:
1 | config interface 'lan' |
所有的
192.168.1.x
需要根据eth0网卡所处网段修改,option gateway
填写eth0的网关。
option ipaddr
项目定义了 OpenWrt 的 IP 地址,在完成网段设置后,IP最后一段可根据自己的爱好修改(前提是符合规则且不和现有已分配 IP 冲突)。
重启网络
1 | /etc/init.d/network restart |
输入完成这段命令之后,按住键盘的ctrl+p+q
就能退出openwrt
容器的命令行界面。
管理页面
进入控制面板
在浏览器中输入option ipaddr
项目中的 IP 进入 Luci 控制面板,若option ipaddr
的参数为 192.168.1.100
,则可以在浏览器输入 http://192.168.1.100
进入控制面板。
用户名:root
密码:password
登进去后建议修改账号密码,不然别人直接不用密码能ssh连接你这个容器