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

下载

docker pull sulinggg/openwrt

1.打开网卡混杂模式

eth0默认第一个以太网口

sudo ip link set eth0 promisc on

正常模式 vs 混杂模式

正常模式

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

混杂模式

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

2.使用 Docker 创建 Macvlan 网络

什么是macvlan

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

### 如何在QNAP NAS 使用 Docker 容器部署 OpenWRT 实现软路由 #### 准备工作 为了确保顺利安装并运行 OpenWRT 软路由环境,需确认 QNAP 设备已启用 Docker 功能,并更新至最新固件版本。建议提前备份重要数据以防意外情况发生。 #### 创建 Docker 容器 进入 QTS 操作系统的应用商店找到 Docker 并启动该应用程序。点击左侧菜单中的「容器」选项卡,再按右上方的「创建」按钮来新建一个容器实例。搜索 `openwrt` 或者特定版本标签如 `v19.07.7` 的官方镜像文件下载到本地仓库中[^1]。 ```bash docker pull openwrt:v19.07.7 ``` #### 设置网络模式 对于希望充当路由器角色使用的 OpenWRT 来说,推荐采用桥接(Bridge)方式连接物理网卡以便于管理和维护内部局域网结构;如果仅用于测试目的也可以考虑使用宿主机(Host)模式共享同一张外网接口。 #### 启动参数配置 当选择了合适的镜像之后就可以继续设置启动参数了。这里需要注意的是要给定足够的资源限制(CPU/Memory),并且正确指定挂载点使得能够持久保存配置文件以及日志记录等信息。另外还需要开放必要的端口转发规则让外部流量可以正常访问内网服务。 ```json { "Image": "openwrt:v19.07.7", "Cmd": [ "/sbin/init" ], "ExposedPorts": { "22/tcp": {}, "80/tcp": {} }, "HostConfig": { "PortBindings": { "22/tcp": [ { "HostPort": "2222" } ], "80/tcp": [ { "HostPort": "8080" } ] }, "Binds": [ "/path/to/config:/etc/config:rw" ] } } ``` #### 初始化与基本设定 首次登录 SSH 进入新建立好的容器环境中,默认用户名为 root 密码为空白可以直接回车跳过验证过程。按照提示完成初始向导操作,比如更改管理员账户的安全凭证、调整时间区域与时区等等基础属性定制化处理。 #### DHCP 服务器管理 由于存在其他设备已经在提供相同功能的服务,因此为了避免冲突应该先关闭当前LAN侧自动分配 IP 地址的功能。编辑 `/etc/config/dhcp` 文件添加如下所示的一行代码以达到忽略本机作用范围内的请求效果: ```ini config dhcp 'lan' option interface 'lan' option ignore '1' ``` #### 测试连通性 最后一步就是检验整个架构是否能稳定运作啦!尝试从 WAN 口 ping 一下公网目标节点看看能否成功返回响应包;同时也要检查 LAN 下面各个客户端获取到了预期之内的 IPv4/IPv6 编号才行哦~
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值