Netfilter模块是提供某些过滤匹配的功能,如果希望Netfilter能为我们做些事,就必须给予Netfilter执行“规则”,有了规则之后,Netfilter才会知道哪些数据包是可以被接受的,哪些数据包是必须丢弃的,又有哪些包是必须以特殊方式来处理的。而赋予Netfilter规则的方式,则是将规则填写到一块结构化内存中,这样Netfilter就会按照防火墙管理人员所给出的命令来运行。
如下即为Netfilter存放规则的内存块,可以看到内存被分为四个表(Table),分别是filter、nat、mangle及raw表,这也是目前Netfilter机制所提供的四大功能:
filter
- INPUT
- FORWARD
- OUTPUT
nat
- PREROUTING
- POSTROUTING
- OUTPUT
mangle
- PREROUTING
- INPUT
- FORWARD
- OUTPUT
- POSTROUTING
raw
- PREROUTING
- OUTPUT