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

news/2024/9/25 14:58:39/

关于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.ppmy.cn/news/1530331.html

相关文章

Uniapp低版本的安卓不能用解决办法

Uniapp低版本的安卓不能用解决办法 语法例子: 语法 不要使用过于新的语法规则 例子: 1. ${aa} 字符变量替换报错 换成连接, 2.let const 报错,换成 var 声明变量 3.includes() 报错 用indexOf替换 4.()&…

银河麒麟高级服务器操作系统V10:提升普通用户操作权限

银河麒麟高级服务器操作系统V10:提升普通用户操作权限 1. 打开终端2. 切换到root用户(可选)3. 将用户加入到wheel组4. 验证用户组变更5. 使用sudo执行命令结论 💖The Begin💖点点关注,收藏不迷路&#x1f4…

跟王道学c记录

scanf int a; scanf("%d",&a); 一定要有取地址符 printf 用%f精度修饰符指定想要的小数位数。例如,%5.2f会至少显示5位数字并带有2位小 数的浮点数 用%s精度修饰符简单地表示一个最大的长度,以补充句点前的最小字段长度 printf 数的所有输出都是右对齐的,除非…

【Linux】Linux基本命令

目录 文件和目录操作: ls cd pwd cp mv rm mkdir rmdir touch clear history which/whereis 文件查看和编辑: cat less head tail vi 或 vim sz/rz echo 系统信息和管理: su uname hostname df free top ps ki…

ReactOS源码分析ReadFile函数分析

ReactOS源码分析ReadFile函数分析 ReactOS源码分析ReadFile函数分析 ReadFile(IN HANDLE hFile, IN LPVOID lpBuffer, IN DWORD nNumberOfBytesToRead, OUT LPDWORD lpNumberOfBytesRead OPTIONAL, IN LPOVERLAPPED lpOverlapped OPTIONAL) 文章目录 ReactOS源码分析ReadFile…

在Linux中运行flask项目

准备 这里我准备了一个GitHub上某个大佬写的留言板的Flask项目,就用这个来给大家做示范了。 查看留言板的目录结构 查看主程序所用的库函数 只有一个第三方库 Flask 安装pip sudo apt install python3-pip -y测试 pip 安装成功 修改pip镜像源 修改pip的默认下载…

Hadoop的安装

文章目录 一. 到Hadoop官网下载安装文件hadoop-3.4.0.tar.gz。二. 环境变量三. 配置 一. 到Hadoop官网下载安装文件hadoop-3.4.0.tar.gz。 随后点击下载即可 由于Hadoop不直接支持Windows系统,因此,需要修改一些配置才能运行 二. 环境变量 三. 配置 进…

2024双十一好物推荐 五款性价比高的好物分享

随着2024年的双十一日益临近,消费者们正翘首以待,期待着在这个年度盛事中淘到心仪的好物。今年的双十一,各大品牌和电商平台纷纷推出了众多优惠活动和新品,让消费者在享受购物乐趣的同时,也能以更实惠的价格入手高品质…