===============iptables-filter.sh==================
#!/bin/bash
#iptables [-t filter][-AI INPUT,OUTPUT,FORWARD][-io interface][-p tcp,udp,icmp,all][-s IP/network]#[--sport ports][-d IP/network][--dport ports] -j [ACCEPT,DROP]
#-A:在原规则后新增加条规则
#I插入条规则,默认插入后为第一条
#-i:设定封包进入的网络介质
#-o:设定封包留出的网络介质
#interface :网络介质如:ppp0,eth0,..
#-p :封包的协议 如tcp udp icmp ; all表示所有封包
#-s :来源封包的ip或网域
#-d:目标主机ip或网域(network)
# --sport ,--dpord分别是来源封包端口号和目标主机端口号
#-j:动作
#ACCEPT:接收该封包
#DROP:丢弃封包
#LOG:记录下该封包的信息(默认在/var/log/messages中)
#所有来自lo介质的封包都接收
/sbin/iptables -A INPUT -i lo -j ACCEPT
#来自特定ip的封包都接收
/sbin/iptables -A INPUT -i eth0 -p tcp -s 211.67.190.8 -j ACCEPT
#来自特定网域(段)的都接收
/sbin/iptables -A INPUT -i eth0 -p tcp -s 211.67.190.0/24 -j ACCEPT
#来自特定的ip的封包都丢掉! 主意下边这条和前边的规则的顺序,下边这条应该不会不起作用
#原因是211.67.190.106在上边211.67.190.0/24这个网段内,iptables在上边的规则里已经让106
#通过啦! 所以定义规则时还要考虑规则顺序这个基本问题...!
/sbin/iptables -A INPUT -i eth0 -p tcp -s 211.67.190.106 -j DROP
#丢掉所有进入本机80端口的封包
/sbin/iptables -A INPUT -i eth0 -p tcp --dport 80 -j DROP
#丢掉特定主机到本地主机端口80到65535的所有封包
/sbin/iptables -A INPUT -i eth0 -p tcp -s 211.67.190.200 --dport 80:65535 -j DROP
#记录本地特定端口的访问连接
/sbin/iptables -A INPUT -p tcp --dport 110 -j LOG
###########################LEVEL 2###################################
#将来自特定主机的主动连接丢掉
/sbin/iptables -A INPUT -p tcp -i eth0 -s 211.67.190.9 --syn -j DROP
#不回应其他主机的ping探测
/sbin/iptables -A INPUT -p icmp --icmp-type 8 -j DROP
#将来自特定网卡的所有封包丢掉
/sbin/iptables -A INPUT -p all -m mac --mac-source 01:01:01:01:02:01 -j DROP
#让已建立或与本地主机有关的回应封包通过,让不合法的,以及想要尝试新建立的封包被抵挡在外
/sbin/iptables -A INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
/sbin/iptables -A INPUT -p tcp -m state --state INVALID,NEW -j DROP
########################nat 80---------------60003port################
#将要求与80端口的封包传递到60003端口
/sbin/iptables -t nat -A PREROUTING -p tcp --dprot 80 -j REDRIRECT --to-ports 60003
#将来自特定的ip或网域的封包ip伪装成本地eth0:1的ip
/sbin/iptables -t nat -A POSTROUTING -s 211.67.190.8 -o eth0:1 -j MASQUERADE
==================iptables-define.sh ==================
#!/bin/bash
#/sbin/iptables [-t tables] [-P] [INPUT.OUTPUT.FORWARD][PREROUTING,OUTPUT,POSTROUTING][ACCEPT,DROP]
#定义Policy(默认规则)
#-P :定义Policy.
#INPUT :封包输入本地主机
#OUTPUT:封包输出本地主机
#FORWARD:封包不进入本地主机而是向外再传输出
#FREROUTING:在进入路由之前进行的工作
#OUTPUT:封包输出本地主机
#POSTROUTING:在进入路由之后进行的工作
/sbin/iptables -P INPUT DROP
/sbin/iptables -P OUTPUT ACCEPT
/sbin/iptables -P FORWARD ACCEPT
/sbin/iptables -t nat -P PREROUTING ACCEPT
/sbin/iptables -t nat -P OUTPUT ACCEPT
/sbin/iptables -t nat -P POSTROUTING ACCEPT
=====================iptables-clear.sh ==============
#!/bin/bash
#清除防火墙规则
/sbin/iptables -F
/sbin/iptables -X
/sbin/iptables -Z
/sbin/iptables -t nat -F
===============iptables-save-restore.sh =============
#!/bin/bash
/sbin/iptables-save >iptables-rule.txt
/sbin/iptables-restore < iptables-rule.txt