iptables表的概念:
每个规则链上都设置了一串规则,我们就可以把不同的规则链组合成能够完成某一个特定功集合分类,而这个集合分类我们就称为表,iptables中共有5张表,学习iptables就是要搞明白每种表的作用。
filter:过滤功能,确定是否放行该数据包,属于真正的防火墙。其他的表严格意义不属于防火墙。内核模块:iptables_filter
nat:网络地址转换,修改数据包中的源地址、目的IP地址或者端口;内核模块:iptables_nat
mangle:对数据包进行重新封装的功能,为数据包设置标记;内核模块:iptables_mangle
raw:确定是否对数据包进行跟踪:内核模块:iptables_raw
security:是否定义强制访问控制规则:
iptables中表链之间的关系:
我们在应用防火墙的是以表为操作入口的,只要在相应的表中的规则链中添加规则即可实现某一功能。那我们就应该知道哪张表包含哪些规则链,然后在规则链上操作即可。
这个不需要强记,参考就行。
总结:
1)表:能够完成某特定功能的链的集合。
2)filter、nat、mangle、raw、security。
3)表是操作防火墙的入口,如果在表里面的链上定义规则,要选择表和选择链。
4)每个表中包含了哪些链。
iptables表的优先级:
raw->mangle->nat->filter(由高到低)
数据包经流iptables流程: