iptables

原文:https://mp.weixin.qq.com/s/XRL1io-cGeljgU7880MB1A
image

表与链

iptables 的四个表分别是 filter,mangle,nat,raw,默认表是filter。
filter 表:用来对数据包进行过滤,具体的规则要求决定如何处理一个数据包。
nat 表:主要用来修改数据包的 IP 地址、端口号信息。
mangle 表:主要用来修改数据包的服务类型,生存周期,为数据包设置标记,实现流量整形、策略路由等。
raw 表:主要用来决定是否对数据包进行状态跟踪。

iptables 的五个链分别是 PREROUTING,INPUT,FORWARD,OUTPUT,POSTROUTING。
input 链:当收到访问本机地址的数据包时,将应用此链中的规则。
output 链:当本机向外发送数据包时,将应用此链中的规则。
forward 链:当收到需要转发给其他地址的数据包时,将应用此链中的规则,注意如果需要实现forward转发需要开启Linux内核中的ip_forward功能。
prerouting 链:在对数据包做路由选择之前,将应用此链中的规则。
postrouting 链:在对数据包做路由选择之后,将应用此链中的规则。

表和链的对应关系如下图所示:

image

我们可以将数据包通过防火墙的流程总结为下图:

image

posted @ 2022-12-07 17:19  源世  阅读(47)  评论(0编辑  收藏  举报