打比方老地方-讲啥基本很少用!-动漫色图!!!
raw
表: 关闭nat表上启用的连接追踪机制;iptable_raw
raw表:主要用来决定是否对数据包进行状态跟踪。对应的内核模块为:iptable_raw,其表内包括两个链:output、prerouting
raw
表是iptables的一个内置表,它可以控制一个数据包的初始状态,如控制是否绕过任何其他的iptables规则。在Linux系统中,所有数据包到达本机的第一条规则都必须经过raw表,然后才能继续往下匹配其他表的规则。
在raw
表中,output
链用于处理从本机发出的数据包的处理,而prerouting
链用于处理到达本机之前的数据包,它们的作用是为后续的iptables规则做一些预处理。比如在raw
表中使用PREROUTING
链,可以让所有数据包都绕过 NAT 处理(不进行地址转换),从而不改变数据包的源 IP 和端口。而在output
链中,可以通过对数据包进行标记(mark)等操作,对数据包进行流量控制或者 QoS(Quality of Service)优化。
举个例子,就像旅行中的安检一样,乘客在登机之前需要经过安检,安检人员会对乘客进行检查,确保乘客没有携带违禁品等物品,并进行登机牌的核验。类比到iptables规则中,就相当于prerouting
链对数据包进行处理,检查数据包是否合法,并进行一些预处理。而在乘客登机之后,机长会根据航班计划和机场情况制定飞行计划,以确保飞机按照正确的路线、正确的时间到达目的地。类比到iptables规则中,就相当于output
链对从本机发出的数据包进行处理,根据预设的规则对数据包进行标记、控制流量等操作。