目录
二. iptables Processing Flowchart
一. iptalbes介绍
iptalbes是Android netd最依赖的三大网络管控工具(iptables/tc/ip)之一,iptables与Kernel中的netfilter(防火墙)模块配合工作,主要是为netfilter设置一些过滤(filter)或网络地址转换(NAT)的规则,当Kernel收到网络数据包后,也会依据iptables设置的规则进行相应的操作 。iptables也可以理解为netfileter对应的应用层程序。
iptables有如下3大部分构成:
1. 四表(Table):iptables内部(其实是Kernel的netfilter模块)维护着四个Table,分别是filter(对应的内核模块为iptable_filter)、 nat(对应的内核模块为iptable_nat)、mangle(对应的内核模块为iptable_mangle)和raw(对应的内核模块为iptable_raw);
2. 五链(Chain):每个Table都定义了Chain,一个Table可以支持多个Chain且每个Table都会有默认的Chain, 用户可以自定义Chain,也可以修改Chain中的Rule。iptables中有5个Chain:PREROUTING