云计算核心技术Docker教程:Docker操纵iptables规则以提供网络隔离
在Linux上,Docker操纵iptables规则以提供网络隔离。尽管这是实现的详细信息,并且您不应修改Docker在iptables策略中插入的规则,但是如果您想要拥有自己的策略(而不是由Docker管理的策略),它云计确实会对您需要执行的操作产生一些影响。
如果您在暴露于Internet的主机上运行Docker,则可能需要适当的iptables策略,以防止未经授权访问您主机上运行的容器或其他服务。此页面描述了如何实现此目标以及需要注意的注意事项算核。
添加iptables政策的规则
Docker安装了两个名为DOCKER-USER和的自定义iptables链DOCKER,它确保始终由这两个链首先检查传入的数据包。
Docker的所有iptables规则都已添加到DOCKER链心技中。请勿手动操作此链条。如果您需要添加在Docker规则之前加载的规则,则将它们添加到DOCKER-USER链中。在Docker自动创建任何规则之前,将应用这些规则。
在这些链之后,FORWARD将评估添加到链中的规则(手术D动添加或通过另一个基于iptables的防火墙)。这意味着,如果您通过Docker公开端口,则无论防火墙配置了什么规则,该端口都会公开。如果您希望即使在通过Docker公开端口时也要应用这些规则,则必须将这些规则添加到 链oc中。
限制与Docker主机的连接
默认情况下,允许所有外部源IP连接到Docker主机。要仅允许特定的IP或网络访问容器,请在DOCKER-USER过滤器链的顶部插入一个否定的规则。例如,以下规则限制从以下所有IP地址进行ke的外部访问192.168.1.1:
$ iptables -I DOCKER-USER -i ext_if ! -s 192.168.1.1 -j DROP
请注意,您将需要更改ext_if以与主机的实际外部接口相对应。您可以改为允许来自源子网的连r教接。以下规则仅允许从子网进行访问192.168.1.0/24:
$ iptables -I DOCKER-USER -i ext_if ! -s 192.168.1.0/24 -j DROP
最后,您可以指定要接受的IP地址范围--src-range (程:请记住-m iprange在使用--src-range或时也要添加--dst-range):
$ iptables -I DOCKER-USER -m iprange -i ext_if ! --src-range 192.168.1.1-192.168Do.1.3 -j DROP
您可以结合使用-s或--src-range与-d或--dst-range一起控制源和目标。例如,如果Docker守护程序同时监听 192.168.1.99和10.1.2.3,则可以制定特定于10.1.2.3并保ck持 192.168.1.99打开的规则。
Docker路由
Docker还将FORWARD链的策略设置为DROP。如果您的Docker主机也充当路由器,这将导致该路由器不再转发任何流量。如果希望系统继续充当路由器,则可以ACCEPT向erDOCKER-USER链中添加明确的规则以允许它:
$ iptables -I DOCKER-USER -i src_if -o dst_if -j ACCEPT
防止docker操作iptables
可以在Docker引擎的配置文件中将iptabl操纵es密钥设置false为/etc/docker/daemon.json,但是此选项不适用于大多数用户。完全阻止Docker创建iptables规则是不可能的,事后创建规则非常复杂,超出了这些说明的范围。设置iptablesip为false很有可能会破坏Docker引擎的容器网络。
设置容器的默认绑定地址
默认情况下,Docker守护程序将公开0.0.0.0地址上的端口,即主机上的任何地址。如果要更改该行为以仅公开内部IP地址上的端口,则可以使用该--taip选项指定其他IP地址。但是,设置--ip仅更改 默认值,它不会将服务限制为该IP。
相关文章
当我们辛苦收集数据、数据清洗、搭建环境、训练模型、模型评估测试后,终于可以应用到具体场景,但是,突然发现不知道怎么调用自己的模型,更不清楚怎么去部署模型! 这也是今天“计算机视觉研究院”要和大家分享的2026-11-16
¼ * Discover 查询 * 预置查询 * 已保存查询 * 构建新查询 * 搜索查询 * 排序查询 * 编辑查询 * 共享查询 * 删除查询 * 查询结果 * 事件详情 * 查询生成器 * 按全2026-11-16
云安全日报210527:Ubuntu配套LZ4解压缩软件发现执行任意代码漏洞,需要尽快升级
Ubuntu是一个以桌面应用为主的Linux操作系统。它是一个开放源代码的自由软件,提供了一个健壮、功能丰富的计算环境,既适合家庭使用又适用于商业环境。Ubuntu将为全球数百个公司提供商业支持。 L2026-11-16
AI录音神器再进化!Plaud推出Pro版本,30小时续航+智能屏幕颠覆传统笔记体验
硬件创新的浪潮中,又一个令人瞩目的产品闪亮登场。本周三,硬件公司Plaud.ai正式发布了全新的物理笔记设备Plaud AI Pro,售价179美元,这距离原版Plaud Note的发布已过去两年时间2026-11-16
Meta 首席执行官马克・扎克伯格在最近的一次财报电话会议上表示,未来将有更多由人工智能生成的内容涌入社交媒体平台。他强调,随着 AI 技术的发展,创造和编辑内容变得更加简单,这将为社交媒体的推荐系统2026-11-16
北京时间1月22日凌晨消息,英特尔今天公布了2020财年第四季度及全年财报。报告显示,英特尔第四季度营收为199.78亿美元,与上年同期的202.09亿美元相比下降1%;净利润为58.57亿美元,与上2026-11-16

最新评论