您现在的位置是:首页 >技术教程 >浅入浅出 iptables 网络隔离原理网站首页技术教程

浅入浅出 iptables 网络隔离原理

谐云 2024-08-21 12:01:03
简介浅入浅出 iptables 网络隔离原理

在这里插入图片描述

01 iptables简介

iptables

在这里插入图片描述

ipfirewall(内核1.x时代)
ipchains(内核2.x时代)
iptables

网络协议栈

在这里插入图片描述

Link Layer 数据链路层的数据流向,根据mac寻址找到对应的网卡后向上进入网络层

Network Layer 网络层的数据流向,与数据链路层不同的是使用ip路由寻址的方式寻找网卡。iptables/ipvs将会在这层生效

Protocol Layer 传输层的数据流向,根据传输的协议寻找对应的应用

Application Layer 应用层,拆除所有包结构后处理真实数据的地方
iptables四表五链

在这里插入图片描述

Raw表——连接追踪机制表
Mangle表——拆解报文,做出修改,并重新封装 的功能
Nat表——地址转换
filter表——过滤数据包
PREROUTING链——路由选择前的规则
FORWARD链——转发数据包策略
INPUT链——入栈数据包策略
OUTPUT链——出栈数据包策略
POSTROUTING链——路由选择后规则
02

iptables链路规则

iptables查询

在这里插入图片描述

iptables处理动作

ACCEPT:允许数据包通过。
DROP:直接丢弃数据包,不给任何回应信息,这时候客户端过了超时时间才会有反应。
REJECT:拒绝数据包通过,必要时会给数据发送端一个响应的信息,客户端刚请求就会收到拒绝的信息。
ChainName:别的链路名称,在iptables中通过链路的调用构建庞大的链路体系。
RETURN:返回调用者链路

在这里插入图片描述

iptables常用模块

在这里插入图片描述

03

iptables网络隔离

iptables网络隔离

iptables -t filter -I INPUT -s 10.120.1.81 -j DROP

在这里插入图片描述

iptables -t filter -I OUTPUT-d 10.120.1.81 -j DROP

在这里插入图片描述

容器网络需求

IP-per-Pod,每个 Pod 都拥有一个独立 IP 地址,Pod 内所有容器共享一个网络命名空间。
集群内所有 Pod 都在一个直接连通的扁平网络中,可通过 IP 直接访问。
所有容器之间无需 NAT 就可以直接互相访问。
所有 Node 和所有容器之间无需 NAT 就可以直接互相访问。
容器自己看到的 IP 跟其他容器看到的一样。
Service cluster IP 尽可在集群内部访问,外部请求需要通过 NodePort、LoadBalance 或者 Ingress 来访问。

iptables容器网络隔离

在这里插入图片描述

容器网络隔离规则定义

在这里插入图片描述

iptables容器网络隔离

在这里插入图片描述

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。