分类: 网络与安全
2012-03-21 10:29:16
Netfilter是linux内核实现的一个框架
iptables是netfilter实现的一个工具
table(表) 存放在netfilter中 chain(链) 存放在table中 rule(规则) 存放在chain中
filter表 主要用于处理进入、离开、本机转发的包 nat表 主要用户修改目的地址和源地址 mangle表 对指定的包做修改,例如TTL、TOS等
PREROUTING 存在于nat表中,主要用来修改目的地址 INPUT链 存在于filter表中,用来处理进入本机的封包 FORWARD链 存在于filter表中,用来处理转发的封包 OUTPUT链 存在于filter表中,用来处理离开本机的封包 POSTROUTING 存在nat表中,主要用来修改源地址
Table Chain Action description filter input
output
forwardaccept
drop
reject
log
tos包过滤 nat prerouting
postrouting
outputsnat
masquerade
dnat
redirectIP NAT和伪装 mangle prerouting
postrouting
output
input
forwardttl
tos
mark包修正
NAT function SNAT 转换源地址,多在包离开时候 DNAT 转换目的地址,躲在包进入时候 MASQUERADE 转化源地址为某个接口,不明确指定ip地址
第二章:iptables配置
iptables [-t table] command [match] [target/jump]
-t table == --table table
table parameter: specifies the packet matching which table while operated on
Table Function filter This is the default table
contains the built-in chains INPUT、FORWARD、OUTPUTnat when a packet that creates a new connection is encountered
PREROUTING、OUTPUT、POSTROUTINGmangle This table is used for specialized packed alterarion
PREROUTING、OUTPUT、INPUT、FORWARD、POSTROUTINGraw This table is used mainly for configuring exemptions from connection tracking
PREROUTING、OUTPUT