1.查看规则 iptables -nvL

2.表类型 -t raw,mangle,nat,filter(默认)

3.链管理

 (1)新建链接: iptables -N test

 (2)删除空链: iptables -X test

 (3)启用和禁止: iptables -P INPUT ACCEPT|DROP

 (4)重命名: iptables -E test test2

 (5)清空: iptables -t nat -F 

4.规则管理

 (1)末尾追加: -A 

 (2)起始插入: -I number

 (3)删除: -D number

 (4)替换: -R number

5.基本匹配

 (1)原地址匹配: -s

 (2)目标地址匹配: -d

 (3)启用禁止和拒绝: -j ACCEPT|DROP|REJECT

 (4)协议匹配: -p tcp|udp|icmp

6.扩展匹配

 (1)tcp:

  -p tcp [-m tcp] --sport|dport 源端口和目标端口

  -p tcp -m tcp multiport --sports|dports 22,80 

  -p tcp -m tcp iprange --src|dst-range x.x.x.x-x.x.x.x

  -p tcp -m string --algo bm|kmp --string "xxxx"

  -p tcp -m connlimit --connlimit-upto|above 最大最小并发

  -p tcp -m stae INVALID|ESTABLISHED|NEW|RELATED|UNTRACKED

    INVALID:无法识别的链接

    ESTABLISHED:模板中存在记录

    NEW:模板中不存在

    RELATED:关联链接

    UNTRACKED:未追踪的链接

    追踪并记录的连接:/proc/net/nf_conntrack

    最大连接数:/proc/sys/net/nf_conntrack_max

    超时时长:/proc/sys/net/netfilter/xxxx_timeout

 (2)udp: -p udp [-m udp] --sport|dport 源端口和目标端口

 (3)icmp: -p icmp [-m icmp] --icmp-type 0|8 响应码和请求码

7.nat

 (1)使用SNAT和DNAT条件:

    开启核心转发:echo '1' > /proc/sys/net/ipv4/ip_forward

    将内网主机网关地址指向转发服务器的内网网卡

 (2)SNAT:

    iptables -t nat -A POSTROUTING -s 127.0.0.1/24 -j SNAT --to-source x.x.x.x外网网卡地址,或

    -j MASQUERADE 自动获取外网地址

 (3)DNAT:可让外网主机访问转发器上的80服务,而转发器没有提供该服务,直接交由内网主机处理

    iptables -t nat -A PREROUTING -s 0/0 -d x.x.x.x外网网卡地址 -p tcp --dport 80 -j DNAT --to-destination x.x.x.x内网主机地址

8.保存与加载

 (1)service iptables save 命令:

  它会保存在/etc/sysconfig/iptables这个文件中

 (2)iptables-save 命令:

  iptables-save > /etc/sysconfig/iptables

 (3)iptables-restore 命令:

  开机的时候,它会自动加载/etc/sysconfig/iptables

  iptables-restore < /etc/sysconfig/iptables.2

 (4)开机自起

 把命令扔进/etc/rc.d/rc.local内即可