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

如何配置DOCKER-USER链实现多子网访问Docker主机的连接限制

你的配置失效核心原因是最后一条全局DROP规则未限制入站接口,拦截了所有非允许网段的流量,包括docker网桥内部通信、回环接口流量等合法流量,导致所有访问都被阻断。


正确配置方案

步骤1:清空现有DOCKER-USER链的自定义规则,避免旧规则冲突

iptables -F DOCKER-USER

步骤2:逐条添加允许访问的网段规则,可单独添加注释

将ext_if替换为你服务器实际的外网接口名(如eth0、ens32等),每条规则均可通过-m comment --comment "自定义备注"添加注释,满足你多网段单独标注的需求:

# 允许192.168.1.0/24网段访问,示例注释:办公内网
iptables -A DOCKER-USER -i ext_if -s 192.168.1.0/24 -m comment --comment "办公内网网段" -j RETURN
# 允许10.0.0.0/24网段访问,示例注释:运维管理网段
iptables -A DOCKER-USER -i ext_if -s 10.0.0.0/24 -m comment --comment "运维管理网段" -j RETURN
# 可按需继续添加其余网段规则,格式同上

步骤3:添加最终拦截规则,仅拦截外网接口的未匹配流量

必须指定入站接口,避免影响内部网络通信:

iptables -A DOCKER-USER -i ext_if -j DROP

规则说明

你之前用RETURN的逻辑是正确的:DOCKER-USER是Docker预留的自定义规则链,RETURN表示匹配当前网段后跳出DOCKER-USER链,继续执行Docker默认的流量处理规则,符合官方设计逻辑,比直接使用ACCEPT更安全,不会跳过Docker内置的安全校验。

配置完成后可执行iptables -L DOCKER-USER -v --line-numbers查看规则,确认所有规则都绑定了正确的外网接口,且最终DROP规则仅作用于外网接口即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 06:15:04