[bingo] Iptables笔记1-introduce&conntrack
来源:http://iptables-tutorial.frozentux.net/
Iptables 指南1.1.9
1. 表:
mangle: 改变包的(TOS/TTL/MARK)属性。建议不加任何过滤。
nat: 用于转换包的源地址和目标地址。流的第一个包会进行匹配,后面的包会做按第一个包一样处理。包括DNAT/SNAT/MASQUERADE。
filter: 用于过滤,对包的抉择ACCEPT或者DROP。
[bingo] Iptables笔记1-introduce&conntrack
来源:http://iptables-tutorial.frozentux.net/
Iptables 指南1.1.9
1. 表:
mangle: 改变包的(TOS/TTL/MARK)属性。建议不加任何过滤。
nat: 用于转换包的源地址和目标地址。流的第一个包会进行匹配,后面的包会做按第一个包一样处理。包括DNAT/SNAT/MASQUERADE。
filter: 用于过滤,对包的抉择ACCEPT或者DROP。
2. 链:
PREROUTING: 所有进入的包最先进入的链
POSTROUTING: 所有发送包最后通过的链
INPUT: 进入本地的链
OUTPUT: 本地发送出去的链
FORWARD: 转发的链,不进入本地
通常有三种状态:
a) 进入本地的包:NETWORK-->(mangle)PREROUTING-->(nat)PREROUTING--><Routing decision>-->(mangle)INPUT-->(filter)INPUT--><Local process>
b) 从本地发出的包:<Local process>-->(mangle)OUTPUT-->(nat)OUTPUT-->(filter)OUTPUT-->(mangle)POSTROUTING-->(nat)POSTROUTING-->NETWORK
c) 路由的包:NETWORK-->(mangle)PREROUTING-->(nat)PREROUTING--><Routing decision>-->(mangle)FORWARD-->(filter)FORWARD-->(mangle)POSTROUTING-->(nat)POSTROUTING-->NETWORK
3. 状态防火墙:所有状态的改变和计算都是在nat表中的PREROUTING链和OUTPUT链里完成的。
4. 状态记录表:/proc/net/ip_conntrack
[UNREPLIED]连接还没有收到回应
[ASSURED]两个方向已无流量
当记录表慢的时候,没有[ASSURED]标记的记录将被删除。
记录条数目可以设置:/proc/sys/net/ipv4/ip_conntrack_max
5. 数据包的四种状态:
NEW: conntrack看到的某个连接的第一个包,并没有收到对方的应答。
ESTABLISHED: 数据已经在两个方向进行了传输。有应答就算,比如ICMP的错误返回包。
RELATED: 当和ESTABLISHED状态又发生新连接时候。比如ftp-data和ftp-control。
INVALID: 无效,通常DROP。