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

如何使用iptables保护Docker容器?实现容器差异化访问控制

控制Docker容器外部访问的iptables配置方案

我最近刚好实现了类似的需求:保护Docker容器免受任意外部IP(0.0.0.0)访问,同时允许部分容器公开访问,其余仅对特定IP开放。以下是我验证有效的iptables配置步骤:

配置细节

  1. 创建自定义访问控制链:先新建一个专门用于Docker访问管控的自定义链DOCKER-USER:
sudo iptables -N DOCKER-USER
  1. 设置默认拒绝策略:给这个链设置默认动作为拒绝所有请求,确保所有未被明确授权的访问都会被阻断:
sudo iptables -I DOCKER-USER -j DROP
  1. 允许特定IP访问:添加规则,让指定的外部IP(替换为你的目标IPx.x.x.x)可以访问所有受保护的容器:
sudo iptables -I DOCKER-USER -s x.x.x.x -j ACCEPT
  1. 开放公开访问端口:如果有需要对外公开的容器端口(替换为你的目标端口yyyy),添加规则允许所有IP访问该端口:
sudo iptables -I DOCKER-USER -p tcp --dport yyyy -j ACCEPT
  1. 关联转发规则:将docker0网卡的转发流量导向我们的自定义控制链,确保所有Docker相关的外部访问都经过这套规则集:
sudo iptables -I FORWARD -o docker0 -j DOCKER-USER

目前这套配置已经稳定运行,完美实现了“部分容器公开、其余仅特定IP访问”的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 09:48:18