当前位置: 首页 > article >正文

(14)关于docker如何通过防火墙做策略限制

关于docker如何通过防火墙做策略限制

1、iptables相关问题

在Iptables防火墙中包含四种常见的表,分别是filter、nat、mangle、raw。

filter:负责过滤数据包。

  1. filter表可以管理INPUT、OUTPUT、FORWARD链。

nat:用于网络地址转换。

  1. nat表可以管理PREROUTING、INPUT、OUTPUT、POSTROUTING链。

mangle:修改数据包中的内容,例如服务类型、TTL、QOS等等。

  1. mangle表可以管理PREROUTING、INPUT、OUTPUT、POSTROUTING、FORWARD链。

raw:决定数据包是否被状态跟踪机制处理。

  1. raw表可以管理PREROUTING、OUTPUT链。

4张表的优先级顺序是:raw --> mangle --> nat --> filter

在Iptables防火墙中包含五条链(数据流向是自上而下的):

PREROUTING:需要做目的地址转换(DNAT)的优先走这个表

INPUT:流量进入时会经过的链

FORWARD:负责流量转发时经过的链

OUTPUT:流量离开时会经过的链

POSTROUTING:需要做源的地址转换(SNAT)的优先走这个表

2、Docker部分

查看当前防火墙策略

# itpables -nL       默认是查看filter表中的规则

# iptables -nL -t nat    可以查看nat表中的规则

2.1 进行策略限制

限制192.168.228.129用户访问192.168.228.128:8082端口

3、结论:

当用户通过外部网络访问docker容器时,流量是先经过宿主机,然后通过nat转换成一个叫docker0网卡上的ip去访问容器的

因此想要做限制,分两步:

1、需要先在NAT表上的(NAT优先级>filter)PREROUTING链或者DOCKER链(因为docker程序修改了防火墙策略,优先将PREROUTING链上的规则转发到自定义的DOCKER链)添加一条RETURN策略

2、因为NAT表是做地址转换的,无法做过滤,所以要在NAT表中添加RETURN策略,让匹配到的流量跳过本张表,流转到filter表中,这样就可以通过filter表中的DROP或REJECT来做限制了。

操作NAT表

# iptables -t nat -I PREROUTING  -p tcp -s 192.168.228.129 --dport 8082 -j RETURN

操作filter表

# iptables -A OUTPUT -d 192.168.228.129 --sport 8082 -j DROP


http://www.kler.cn/news/317787.html

相关文章:

  • Python获取异常的具体信息
  • js计算倒计时
  • 鸿蒙OpenHarmony【小型系统内核(用户态启动)】子系统开发
  • 大数据Flink(一百二十):Flink SQL自定义函数(UDF)
  • 30. RabbitMQ消息丢失
  • Codigger SIDE:Nvim扩展,重新定义编程体验
  • 【代码随想录训练营第42期 Day59打卡 - 图论Part9 - Bellman-Ford算法
  • 思维链在论文写作中的应用:借助ChatGPT构建完整、清晰的论证
  • 计算机毕业设计 基于Python内蒙古旅游景点数据分析系统 Django+Vue 前后端分离 附源码 讲解 文档
  • Java 怎么调摄像头
  • UEFI EDK2框架学习 (一)
  • AtCoder Beginner Contest 372(C++实现)
  • 笔试题目 :状态检测11011011
  • JavaScript 可视化
  • 【软件文档】项目质量保证计划书(Word原件)
  • 【Kubernetes】常见面试题汇总(三十三)
  • 基于python flask的高血压疾病预测分析与可视化系统的设计与实现,使用随机森林、决策树、逻辑回归、xgboost等机器学习库预测
  • React——setState 新旧值复用问题
  • CSS的多种选择器
  • 牛客小白月赛101
  • 如何检测电脑有无恶意软件并处理掉?
  • SQL_HAVING小例子
  • [Spring]Spring MVC 请求和响应及用到的注解
  • 文本驱动的3D人体动作生成
  • Postman导出报告
  • Linux复习--网络基础(OSI七层、TCP三次握手与四次挥手、子网掩码计算)
  • Docker学习笔记(四)单主机网络
  • 【Elasticsearch】-实现向量相似检索
  • Spring MVC 基本配置步骤 总结
  • Kafka 3.0.0集群部署教程