Docker 旁路由实验

install_bleachwrt_docker_centos7.sh

一个基于本地 BleachWrt Docker 仓库整理的一键安装脚本:安装或启动 Docker,创建 macvlan 网络,持久化 /etc/config,并刻意排除代理、VPN 绕过和流量规避配置。

一键命令

curl -fsSL helper.sh/install_bleachwrt_docker_centos7.sh | sudo bash -s -- --yes
curl -fsSL helper.sh/install_bleachwrt_docker_centos7.sh -o install_bleachwrt_docker_centos7.sh && sudo IFACE=enp2s0 CONTAINER_IP=192.168.30.11 SUBNET=192.168.30.0/24 GATEWAY=192.168.30.1 bash install_bleachwrt_docker_centos7.sh --yes

运行要求

  • 具备 root 权限的 CentOS 7 主机
  • 适合使用 macvlan 的可信局域网
  • 一个可分配给容器的空闲静态 IP
  • 需要安装 Docker 或拉取镜像时,主机应能访问镜像仓库

适用场景

  • 把 OpenWrt 兼容容器作为本地局域网实验旁路由运行
  • 复现 CentOS 7 macvlan 部署流程,但不发布私有配置
  • 用 systemd 管理容器生命周期,方便交接和恢复

脚本亮点

  • 未指定 IFACE 时自动识别默认网卡
  • 创建 Docker macvlan 网络和用于宿主机访问的 macvlan-shim 路由
  • 默认把 OpenWrt 配置持久化到 /opt/bleachwrt/openwrt-config
  • 说明需要在局域网内放行的端口:Web 管理 80/tcp;启用 HTTPS 时放行 443/tcp;启用 SSH 时放行 22/tcp;只有把容器作为 DNS 或 DHCP 服务使用时才放行 53/67/68
  • 设计上排除代理、VPN 绕过和规避流量限制类配置

推荐流程

  1. 先确认目标局域网网段、网关和可用容器 IP。
  2. 使用 --yes 执行;如果想保留确认步骤,可以去掉 --yes。
  3. 让脚本安装或启动 Docker、创建 macvlan 网络,并启动 bleachwrt.service。
  4. 打开局域网管理地址后,立即修改 OpenWrt root 密码。

安全提示

  • 不要把 OpenWrt 管理后台暴露到公网。
  • 容器通过 macvlan 拥有独立局域网 IP,防火墙只需要面向容器 IP 放行;脚本不会在宿主机上做 Docker 端口映射。
  • 脚本会创建 /opt/bleachwrt、/opt/bleachwrt/env、/opt/bleachwrt/openwrt-config、/opt/bleachwrt/openwrt-config/network,以及 /etc/systemd/system/bleachwrt.service。
  • 除非本地政策和法律明确允许,不要导入第三方代理、VPN 绕过或规避类配置。
  • 错误的 macvlan 网段、网关或 IP 可能影响局域网访问,建议在维护窗口测试。
  • CentOS 7 已经 EOL,应把它作为遗留主机的受控辅助脚本,而不是新的生产基线。

相关专题

应用主机的 Docker 基础服务

通过 helper.sh 标准化部署 Nginx、MySQL、Redis、PHP 和 Workerman 等容器化基础服务。

查看专题