分类: LINUX
2010-03-09 13:39:14
iptables
iptables有三个表 :filter,nat,mangle
五个链:INPUT,OUTPUT,FORWARD ,PREROUTING,POSTROUTING
filter表可以定义三种链INPUT,OUTPUT,FORWARD
nat表可以定义三个链PREROUTING,POSTROUTING ,OUTPPUT
nangle可以用所有的链INPUT,OUTPUT,FORWARD ,PREROUTING,POSTROUTING
规则的格式
iptables [ -t tablename ] COMMAND Chains [NUM] match condition –j action
COMMAND ()命令选项:
-A (在尾部追加一个规则)
–I [N](在第N行插入一条规则)
–R [n](替换一条规则)
-D[n](删除一条规则)
Chains:
-F,(清空链,如果没指链清空表)
-P {DROP|ACCEPT}(制定链的默认规则的)
–N,new(自定义一条链的)
-X,(删除自定义的空链的)
-E old-chain-name new-chain-name(重命名自定义链 )
-Z 清空计数器的
iptables查看
–L ,list
-S (打印规则显示的是/etc/ssysconfig/iptables的规则)
match 匹配:包括通用匹配和扩展匹配
通用匹配 :
-p{tcp|UDP|ICMP}(指定协议)
-s(指定数据包源ip地址)
-d (指定数据包目的ip地址)
-i (in_interface指定从哪块网络接口输入)
–o (out_interface指定从哪块网络接口输出 )
扩展匹配:扩展匹配包括隐含扩展和显示扩展
隐含扩展:tcp –dpoort|--sport|--tcp-flags|--syn
udp –sport|--dport
icmp –icmp-types 8(echo-request)|0(echo-reply)|3|destination unreachable
显式扩展:-m (扩展)
-m state –state
-m multiport –port
-m limit –limit
-m mac –mac-source
-m string --string
-j 跳转 :
DORP 丢弃数据包
REJECT 接受数据包
REDIRECT 转发(通常用于透明代理和对外公开内网)
SNAT 源地址转换
DNAT 目的地址转换
LOG 将符合规则的数据包相关信息记录日志
MASQUERADE IP伪装当主机的地址是动态分配的时候用否则如果是静态的用SNAT
iptables 规则定义格式:
iptables -t filter|nat|mangle -A|I|D|R INPUT|OUTPUT|FORWARD|PREROUTING|POSTROUTING [n 编号] [-i|o 网卡名] [-s 源IP] [--sport 源端口号 ] [-d 目标IP] [--dport 目的端口号] -j
DORP|REJECT|SNAT|DNAT|LOG|MASQUERADE