针对容器化环境如何配置宿主机防火墙与容器网络的安全隔离

阿墨同学_9982

阿墨同学_9982

2026-05-09

543人浏览

原创

宿主机防火墙与容器网络隔离需协同配置:通过docker-user链做第一道过滤入口,禁用userland-proxy使iptables规则生效,按业务划分自定义桥接网络,并结合ufw分层管控流量。

针对容器化环境如何配置宿主机防火墙与容器网络的安全隔离

宿主机防火墙和容器网络隔离要协同配置,不能只靠 Docker 默认行为。核心思路是:宿主机 iptables 控制进出流量边界,Docker 网络模式与自定义策略控制容器间通信粒度。

用 DOCKER-USER 链做第一道过滤入口

Docker 启动时会自动创建 DOCKER-USER 链,这是用户可安全添加规则的起点——它在 Docker 自身规则之前执行,且重启 Docker 不会清空。

  • 禁止所有容器访问外网(仅限测试或高敏环境):
    iptables -I DOCKER-USER -i docker0 -j DROP
  • 只允许容器访问特定域名出口(需配合 DNS+IP 规则):
    先用 dig example.com +short 获取 IP,再加规则:
    iptables -A DOCKER-USER -i docker0 -d 93.184.216.34 -p tcp --dport 443 -j ACCEPT
    iptables -A DOCKER-USER -i docker0 -j DROP
  • 限制外部对映射端口的访问源:
    iptables -A INPUT -p tcp --dport 8080 -s 10.0.10.0/24 -j ACCEPT
    iptables -A INPUT -p tcp --dport 8080 -j DROP

按业务划分自定义桥接网络

默认 bridge 网络(docker0)下所有容器默认可互通,风险高。应为不同用途创建隔离网络:

  • 前端服务网络(允许 HTTP 入站):
    docker network create --driver bridge --subnet 172.21.0.0/16 --gateway 172.21.0.1 frontend-net
  • 后端服务网络(禁止外部访问,仅限内部调用):
    docker network create --driver bridge --internal --subnet 172.22.0.0/16 backend-net
  • 数据库专用网络(完全内网,不连外、不暴露端口):
    docker network create --driver bridge --internal --subnet 172.23.0.0/16 db-net

启动容器时显式指定网络:
docker run -d --name api --network backend-net my-api
docker run -d --name db --network db-net postgres

鲜艺AI抠图
鲜艺AI抠图

鲜艺AI抠图是一款AI图片处理工具,免费 AI 抠图工具,支持离线安装与使用。

下载

禁用 userland-proxy,让 iptables 直接接管端口转发

Docker 默认启用 userland-proxy(一个 Go 进程),它会绕过 iptables 规则,造成策略失效。关闭后,所有端口映射由内核 netfilter 处理,防火墙规则才真正生效。

  • 编辑 /etc/docker/daemon.json,加入:
    {"userland-proxy": false}
  • 重启 Docker:
    sudo systemctl restart docker
  • 验证是否生效:
    ss -tlnp | grep :8080 —— 若无 docker-proxy 进程,说明已切换成功

结合 UFW 管理宿主机层访问控制

UFW 是 iptables 的易用封装,适合运维人员日常维护。注意:UFW 默认不管理 DOCKER-USER 链,需手动启用支持。

  • 启用 UFW 对 Docker 的感知:
    echo 'INSERT_MODULES="nf_nat_ipv4 nf_nat_iptable"' | sudo tee -a /etc/default/ufw
  • 开放必要服务端口,其余默认拒绝:
    sudo ufw allow OpenSSH
    sudo ufw allow 443/tcp
    sudo ufw enable
  • UFW 不会干扰 DOCKER-USER 中的规则,二者分层协作:UFW 控制宿主机入口,DOCKER-USER 控制容器流量走向

关键原则是默认拒绝、按需放开、分层设防。容器不是防火墙,宿主机 iptables 和网络划分才是真正的安全边界。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

防火墙

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
服务器是什么
服务器是什么

服务器是一种计算机硬件设备或软件程序,它具有强大的计算和存储能力,用请求、存储数据和提供服务。它在互联网中着关重要的作用,为用户提供各种服务和资源。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.15

437

5

连接apple id服务器时出错
连接apple id服务器时出错

连接apple id服务器时出错的原因包括网络连接问题、服务器问题、Apple ID账户问题、设备问题、防火墙或安全软件问题、时间和日期设置问题、Apple服务器维护等。本专题为大家提供apple id相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.08

900

5

搭建互联网服务器
搭建互联网服务器

搭建互联网服务器需要:1、选择合适的硬件和操作系统,第一步是选择合适的硬件和操作系统;2、安装和配置操作系统,是搭建互联网服务器的关键步骤;3、安装和配置服务器软件,是搭建互联网服务器的下一步,常见的服务器软件包括Apache、Nginx、Tomcat等;4、配置防火墙和安全性,是搭建互联网服务器的重要步骤;5、域名解析和配置,是搭建互联网服务器的最后一步。

2023.09.19

2772

5

如何查看服务器状态
如何查看服务器状态

查看服务器状态的方法有使用命令行工具、图形界面工具、监控工具、日志文件和远程管理工具等。本专题为大家提供服务器状态相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.09

936

5

服务器域名转接慢怎么解决
服务器域名转接慢怎么解决

服务器域名转接慢的解决办法有DNS优化、服务器优化、CDN加速、前端优化和网络优化等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.17

829

5

服务器评测软件
服务器评测软件

服务器评测软件有PassMark Software、CPU-Z、GPU-Z、CrystalDiskMark、IOmeter、JMeter、LoadRunner、Apache Bench等等。详细介绍:1、PassMark Software是一款综合性的服务器性能测试软件,可以评估服务器在各种负载条件下的性能;2、CPU-Z是一款可以提供服务器CPU详细信息的软件等等。

2023.10.17

434

3

如何开启TFTP服务器
如何开启TFTP服务器

开启TFTP服务器的步骤包括选择TFTP服务器软件、下载和安装软件、配置TFTP服务器以及启动和测试服务器等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

2516

4

服务器负载不兼容怎么解决
服务器负载不兼容怎么解决

解决方法:1、增加服务器资源;2、负载均衡;3、优化应用程序;4、增加缓存机制;5、分布式架构;6、限流和熔断;7、自动化扩容。想知道更详细服务器负载不兼容的解决方法,可以访问本专题下面的文章。

2023.10.20

4652

4

宽带如何接入服务器
宽带如何接入服务器

宽带接入服务器的方法有ADSL宽带接入服务器、光纤接入服务器、无线接入服务器和以太网接入服务器等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.20

747

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Linux网络安全之防火墙技术汇总
Linux网络安全之防火墙技术汇总

共31课时 | 4.1万人学习