2023年10月14日星期六

docker安装openwrt(旁路由)

基于 Lean 源码编译的 OpenWrt 固件

summary/openwrt-aarch64
版本区分:latest 为多功能版本,mini为精简版本,RXX.X.X 为多功能历史版本
默认地址:192.168.1.1 默认用户:root 默认密码:password
项目地址:https://github.com/haiibo/OpenWrt
docker地址:https://hub.docker.com/r/summary/openwrt-aarch64

使用方法

1、打开网卡混杂模式
ip link set eth0 promisc on

如果正在使用的不是 eth0 接口,请将其更改为正在使用的接口

2、创建 macvlan 网络
docker network create -d macvlan –subnet=192.168.1.0/24 –gateway=192.168.1.1 -o parent=eth0 macnet

如果正在使用的不是 eth0 接口,请将其更改为正在使用的接口,若网络是桥接模式请使用下方命令创建
docker network create -d macvlan –subnet=192.168.1.0/24 –gateway=192.168.1.1 -o parent=br-lan macnet

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

3、拉取镜像并创建容器
docker run -d –name=openwrt –network macnet –privileged=true –restart always –ulimit nofile=16384:65536 -v /lib/modules/(uname -r) summary/openwrt-aarch64:mini

如需使用 mini 精简版固件,将后面的 latest 更改为 mini 即可,反之亦然

4、更改固件默认 IP 地址
docker exec openwrt sed -e “s/192.168.1.1/192.168.0.200/” -i /etc/config/network

将 IP 更改为与主路由同一网段的 IP 地址,更改完成后重启容器生效
docker restart openwrt

基本部署完成,接下来登录更改后的 IP 地址进行其他设置吧
5、更改固件默认 IP 地址的方法二
创建完容器后,需要登录到容器中,修改网络配置

登录openwrt

docker exec -it openwrt1 bash

编辑网络,容器内执行

vim /etc/config/network

镜像默认的ip和网关如下:.

config interface 'loopback'
option ifname 'lo'
option proto 'static'
option ipaddr '127.0.0.1'
option netmask '255.0.0.0'
config globals 'globals'
config interface 'lan'
option type 'bridge'
option ifname 'eth0'
option proto 'static'
option netmask '255.255.255.0'
option ip6assign '60'
option ipaddr '192.168.0.200'
option gateway '192.168.0.1'
option dns '192.168.0.1'
config interface 'vpn0'
option ifname 'tun0'
option proto 'none'

需要修改ip和网关还有dns
option ipaddr 这里填主路由网段的未使用的ip,不要填成主路由的ip,否者ip冲突上不了网
option gateway 网关这里填主路由的ip
option dns dns填主路由的ip就行,让主路由去解析

修改完后容器内执行网络重启

/etc/init.d/network restart

然后打开浏览器输入上面option ipaddr中填写的ip然后登录到openwrt中,
默认账号root
默认密码password

如果有部分功能不能用,进入openwrt网络—-接口——物理设置—-桥接勾掉