1. 项目地址
借助OpenWrt作为旁路由的一种实现方式
镜像地址:https://hub.docker.com/r/sulinggg/openwrt
项目地址:https://github.com/SuLingGG/OpenWrt-Docker
国内镜像地址:registry.cn-shanghai.aliyuncs.com/suling/openwrt:x86_64
部署方式
以下方式任选其一
2.1 Docker Compose方式
docker-compose.yaml
version: '3.8'
services:
openwrt:
image: sulinggg/openwrt:x86_64
container_name: openwrt
command: /sbin/init
privileged: true
restart: always
networks:
macnet:
ipv4_address: 192.168.137.2 # 容器IP
networks:
macnet:
driver: macvlan # 网络模式
driver_opts:
parent: ens160 # 绑定的网卡名称
ipam:
config:
- subnet: 192.168.137.0/24 # 网段
gateway: 192.168.137.1 # 网关
操作
# docker-compose.yaml文件所在目录执行
docker-compose up -d
# 切入容器
docker exec -it openwrt bash
# 修改网络配置
vim /etc/config/network
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.137.2' # 修改为容器IP
option gateway '192.168.137.1' # 修改为网关
option dns '192.168.137.1' # 修改为网关
# esc 输入 :wq
# 重启网络
/etc/init.d/network restart
# 退出
exit
# 局域网内其他的主机访问,注意是非OpenWRT部署的主机访问
http://192.168.137.2 root password
2.2 Docker Cli方式
# 创建macvlan网络
docker network create \
-d macvlan \
--subnet=192.168.137.0/24 \
--gateway=192.168.137.1 \
-o parent=ens160 macnet
# 启动容器
docker run -itd \
--restart always \
--name openwrt \
--network macnet \
--ip 192.168.137.2 \
--privileged \
sulinggg/openwrt:x86_64 \
/sbin/init
# 切入容器
docker exec -it openwrt bash
# 修改网络配置
vim /etc/config/network
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.137.2' # 修改为容器IP
option gateway '192.168.137.1' # 修改为网关
option dns '192.168.137.1' # 修改为网关
# esc 输入 :wq
# 重启网络
/etc/init.d/network restart
# 退出
exit
# 局域网内其他的主机访问,注意是非OpenWRT部署的主机访问
http://192.168.137.2 root password
评论区