Docker部署OpenWrt,实现旁路由功能

下载

docker pull sulinggg/openwrt

1.打开网卡混杂模式

eth0默认第一个以太网口

sudo ip link set eth0 promisc on

正常模式 vs 混杂模式

正常模式

在正常模式下,网络接口只接收目的地址是它自身的数据包。这样可以减少主机处理不相关数据包的负担,提升网络效率。

混杂模式

在混杂模式下,网络接口会接收它所能看到的所有网络流量,无论数据包的目的地址是什么。这个模式常用于网络监控、数据包捕获和安全分析等需要全面了解网络流量的场景。

2.使用 Docker 创建 Macvlan 网络

什么是macvlan

Macvlan 是一种用于创建虚拟网络接口的技术,可以让多个虚拟网络接口共享一个物理网络接口。这些虚拟接口每个都有一个独立的 MAC 地址,从而使每个虚拟接口都能像独立的物理接口一样进行网络通信。Macvlan 适用于需要高性能网络连接的容器和虚拟机环境。

创建macvlan

# --subnet
# 作用: 指定网络的 IP 地址范围(子网)。
docker network create -d macvlan \
  --subnet=192.168.10.0/24 \
  --gateway=192.168.10.1 \
  -o parent=eth0 \
  openwrt

查看macvlan网络

docker network ls

docker network inspect <network_name>

docker network rm openwrt

启动openwrt镜像

docker run --restart always \
  --name openwrt \
  -d \
  --network openwrt \
  --privileged \
  sulinggg/openwrt:latest \
  /sbin/init

解释

docker run:运行 Docker 容器的命令。

--restart always:设置容器总是自动重启。这意味着,一旦容器停止(不管是正常退出还是异常退出),Docker 将自动重新启动容器。

--name my_openwrt:给容器指定一个名称为 my_openwrt。

-d:在后台运行容器(detached mode),即使容器启动后,你可以继续使用当前的命令行窗口。

--network my_openwrt:将容器连接到名为 my_openwrt 的 Docker 网络。前提是 my_openwrt 网络已经存在或者将会被创建。

--privileged:赋予容器特权。这允许容器在宿主机上执行一些特权操作,如访问硬件设备或者修改宿主机上的网络配置。

arm64v8/openwrt:指定要使用的 Docker 镜像,这里是一个适用于 ARM64 架构的 OpenWrt 镜像。

/sbin/init:指定容器启动时执行的命令。在这里,/sbin/init 是容器的初始化进程,它负责启动和管理其他进程。这对于使用类似于 systemd 的系统初始化进程来管理容器中的服务非常有用。

3配置容器网络

docker exec -it openwrt bash

vim /etc/config/network
## 配置网络接口 start
config interface 'lan'
	option type 'bridge'
    option ifname 'eth0'
    option proto 'static'
    option ipaddr '192.168.10.160'
    option netmask '255.255.255.0'
    option gateway '192.168.10.1'
    option dns '8.8.8.8 8.8.4.4'
## 配置网络接口 end

# 重启网络
/etc/init.d/network restart

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

路由器手动设置dhcp

0.0.0.0默认就是路由器自己
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值