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 等容器化基礎服務。

查看專題