You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

双网卡RHEL8服务器Docker化应用路由及HTTP代理配置咨询

Docker双网卡强制走代理配置方案

Docker守护进程配置的可行性

Docker守护进程本身支持代理配置,但仅能覆盖部分场景:

  • 配置的HTTP_PROXY/HTTPS_PROXY环境变量,首先会作用于Docker daemon自身的镜像拉取操作,满足你eth0走代理下载镜像的需求。
  • 同时可以配置默认注入到所有新创建容器的代理环境变量,支持读取系统代理变量的应用可以直接生效,无需单独配置。
    但该方案无法覆盖原生不支持代理配置的应用,这类应用不会读取环境变量,因此无法强制其流量走代理。

Docker daemon代理配置方式如下:

  1. 创建daemon代理配置目录:mkdir -p /etc/systemd/system/docker.service.d
  2. 编辑配置文件/etc/systemd/system/docker.service.d/http-proxy.conf:
[Service]
Environment="HTTP_PROXY=http://<squid代理IP>:<squid端口>" "HTTPS_PROXY=http://<squid代理IP>:<squid端口>" "NO_PROXY=localhost,127.0.0.1,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16"
  1. 重载配置并重启Docker:
systemctl daemon-reload
systemctl restart docker

如果需要默认给所有容器注入代理环境变量,可以在/etc/docker/daemon.json中添加以下配置后重启Docker:

{
  "proxies": {
    "default": {
      "httpProxy": "http://<squid代理IP>:<squid端口>",
      "httpsProxy": "http://<squid代理IP>:<squid端口>",
      "noProxy": "localhost,127.0.0.1,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16"
    }
  }
}

iptables方案的实现逻辑

iptables可以实现透明代理,完全覆盖不支持代理配置的应用需求,无需修改任何应用代码,配置逻辑如下:

前置配置

首先开启内核IP转发:

echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
sysctl -p

同时修改squid配置文件squid.conf,开启透明代理模式:
把默认的http_port 3128改为http_port 3128 transparent,之后重启squid服务。

iptables规则配置

# 放行eth1网卡和Docker网络之间的双向流量,不影响用户访问业务
iptables -A FORWARD -i eth1 -o docker0 -j ACCEPT
iptables -A FORWARD -i docker0 -o eth1 -j ACCEPT

# 内网地址段流量不走代理,直接放行
iptables -t nat -A PREROUTING -i docker0 -d 10.0.0.0/8,172.16.0.0/12,192.168.0.0/16 -j RETURN

# 将容器发起的80、443端口TCP流量重定向到squid代理端口
iptables -t nat -A PREROUTING -i docker0 -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -i docker0 -p tcp --dport 443 -j REDIRECT --to-port 3128

规则配置完成后保存生效:

iptables-save > /etc/sysconfig/iptables

配置注意事项

  • 如果存在非HTTP/HTTPS的对外请求(比如SMTP发邮件、FTP传输等),squid无法代理这类流量,可以搭配redsocks实现全端口TCP流量的透明代理。
  • 需要确认系统路由配置:默认路由走eth0,eth1网卡对应的业务网段配置单独的静态路由,避免用户访问业务的流量出现回包路径错误。
  • 测试阶段可以先给iptables加日志规则,排查流量走向是否符合预期,避免影响现有业务。

内容的提问来源于stack exchange,提问作者potofski

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 06:24:03