首页 > 极客资料 博客日记
iptables 工作过程整理
2024-09-01 17:30:05极客资料围观22次
转载注明出处:
1.概念和工作原理
iptables是Linux系统中用来配置防火墙的命令。iptables是工作在TCP/IP的二、三、四层,当主机收到一个数据包后,数据包先在内核空间处理,若发现目标地址是自身,则传到用户空间中交给对应的应用程序处理,若发现目标不是自身,则会将包丢弃或进行转发。
1.1 四表:
- filter(用于过滤)
- nat(用于 NAT)
- mangle(用于修改分组数据)
- raw(用于原始数据包)
最常用的是filter 和 nat。
1.2 五链:
- PREROUTING:用于路由判断前所执行的规则,比如,对接收到的数据包进行 DNAT。
- POSTROUTING:用于路由判断后所执行的规则,比如,对发送或转发的数据包进行 SNAT 或 MASQUERADE。
- OUTPUT: 类似于 PREROUTING,但只处理从本机发送出去的包。
- INPUT: 类似于 POSTROUTING,但只处理从本机接收的包。
- FORWARD
流入本机:PREROUTING --> INPUT-->用户空间进程
流出本机:用户空间进程 -->OUTPUT--> POSTROUTING
转发:PREROUTING --> FORWARD --> POSTROUTING
内网至外网用postrouting SNAT
外网至内网用prerouting DNA
下图中白色背景方框,则表示链(chain)
2.iptables命令
2.1 链管理:
-N: new 自定义一条新的规则链
-X: delete 删除自定义的空的规则链
-P:policy 设置默认策略
ACCEPT:接受
DROP:丢弃
-E:重命名自定义链
2.2 查看:
-L: list
-n:以数字格式显示地址和端口号
-v:详细信息
2.3 规则管理:
-A : append 追加
-I:insert 插入
-D:delete 删除
-F:flush 清空指定规则链
-R:replace 替换指定链上的规则编号
-Z: zero :置零
3.iptables命令使用
iptables -L 列出规则,默认为filter表的规则。
iptables -t nat -L 列出nat表的规则。
[root@node100 ~]# iptables -t nat -L Chain PREROUTING (policy ACCEPT) target prot opt source destination DOCKER all -- anywhere anywhere ADDRTYPE match dst-type LOCAL Chain INPUT (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination DOCKER all -- anywhere !loopback/8 ADDRTYPE match dst-type LOCAL Chain POSTROUTING (policy ACCEPT) target prot opt source destination MASQUERADE all -- 172.17.0.0/16 anywhere Chain DOCKER (2 references) target prot opt source destination RETURN all -- anywhere anywhere
iptables中的第一个选项可以是-A, 表明向链(chain)中添加一条新的规则,也可以是-I,表明将新的规则插入到规则集的开头。接下来的参数指定了链。
所谓链就是若干条规则的集合
OUTPUT链它可以控制所有的出站流量(outgoing traffic)。
INPUT链它能够控制所有的入站流量(incoming traffic)。
- -d指定了所要匹配的分组目的地址,
- -s指定了分组的源地址。
- -j指示iptables执行到特定的处理(action)
标签:
相关文章
最新发布
- Nuxt.js 应用中的 prerender:routes 事件钩子详解
- 【问题解决】Tomcat由低于8版本升级到高版本使用Tomcat自带连接池报错无法找到表空间的问题
- 【FAQ】HarmonyOS SDK 闭源开放能力 —Vision Kit
- 六、Spring Boot集成Spring Security之前后分离认证流程最佳方案
- 《JVM第7课》堆区
- .NET 8 高性能跨平台图像处理库 ImageSharp
- 还在为慢速数据传输苦恼?Linux 零拷贝技术来帮你!
- 刚毕业,去做边缘业务,还有救吗?
- 如何避免 HttpClient 丢失请求头:通过 HttpRequestMessage 解决并优化
- 让性能提升56%的Vue3.5响应式重构之“版本计数”