1)filter:主要跟Linux本机有关,是默认的table. 


 -->> INPUT:主要与数据包想要进入Linux本机有关 


 -->> OUTPUT:主要与linux本机所要送出的数据包有关 


 -->> FORWARD:与linux本机没有关系,它可以将数据包转发到后端的计算机中,与NAT表的相关性很高 


 查看防火墙规则 

 #iptables [-t tables] [-L] [-nv] 


 参数: 


 -->> -t:后面接table,例如nat 或 filter,若省略此项目,则使用默认的filter. 


 -->> -L:列出目前的table的规则 


 -->> -n:不进行IP与HOSTNAME的反查,显示信息的速度会快很多 


 -->> -v:列出更多的信息,包括通过该规则的数据包的总个数,相关的网络接口等 



 清除防火墙规则 

 #iptables [-t tables] [-FXZ] 


 参数: 


 -->> -F:清除所有的已定规则 


 -->> -X:除掉所有用户“自定议”的链(应该说的是tables) 


 -->> -Z:将所有的chain的计数与流量统计都归零 


 定义默认策略 

 #iptables [-t nat] -P [INPUT,OUTPUT,FORWARD] [ACCEPT/DROP] 

 参数 

 -->> -P:定义策略(policy)。注意,这个为大写的P 


 -->> ACCEPT:该数据包可以接收 


 -->> DROP:该数据包直接丢弃,不让client端知道为何被丢弃 


 IP与网段策略 

 #iptables [-AI 链] [-io 网卡接口] [-p 协议] [-s 源ip/网段] [-d 目标ip/网段] -j [ACCEPT/DROP] 

 参数: 

 -AI:链:针对某条链进行规则的“插入”或“添加” 


 -->> -A:新增加一条规则。该规则增加在原规则的最后面 


 -->> -I:插入一条规则。如果没有指定此规则的顺序,默认是插入娈成第一条 

 。 

 ---->> 例如原本有四条规则,使用-I插入一条规则后则刚插入的那条变成第一条,原来的四条规则都向后移一位。例如在-I指定了顺序(-I INPUT 3),则插入后,此条规则变成了第三的位置。 


 -io 网络接口:设置数据包进出的接口规范。 


 -->>-i:数据包所进入的那个网络接口,例如eth0等,需要跟INPUT链配合 


 -->>-o:数据包传出的那个网络接口,需与OUTPUT链配合 


 -p:协议:设置此规则适用于哪种数据包格式。主要的数据包格式有:tcp/udp/icmp/all 


 -s:源IP/网段:设置此规则的数据包来源地址,可以是IP,也可以是一个网段,例如: 


 -->>IP:192.168.1.1 


 -->>网段:192.168.1.0/24  192.168.1.0/255.255.255.0 均可以。 


 -->>如果设置为“不许”时,在IP或网段前面加个“!”,表示除了哪个IP/网段。 


 -d:目标IP/网段:同-s一样,只是这里指的是目标IP/网段 


 -j:后面接操作,主要的操作有接受(ACCEPT)、丢弃(DROP)、记录(LOG) 


 端口规则 

 #iptables [-AI 链] [-io 网络接口] [-p tcp,udp] [-s 源IP/网段] [--sport 端口范围] [-d 目标IP/网段] [--dport 端口范围] -j [ACCEPT|DROP] 


 参数: 

 --sport 端口范围:限制来源的端口号码,端口号码可以是连续的,例如 1024:65535 
--dport 端口范围:限制目的地的端口号码。


示例:
 -A INPUT -s 123.123.123.123/74 -i eth0 -j ACCEPT 
 -A INPUT -s 123.123.123.123/74 -i eth0 -j ACCEPT 
 -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT 
 -A INPUT -s 123.123.123.123/74 -i eth0 -j ACCEPT 
 -A INPUT -s 123.123.124.124/74 -i eth0 -j ACCEPT 
 -A INPUT -s 124.124.124.124/74 -i eth0 -j ACCEPT 
 -A INPUT -p tcp -m tcp --sport 94 -j ACCEPT 
 -A INPUT -p udp -m udp --sport 94 -j ACCEPT 
 -A INPUT -s 123.123.123.0/21 -i eth0 -j ACCEPT 
 -A INPUT -s 123.123.123.123/34 -i eth0 -j ACCEPT 
 -A INPUT -i eth1 -j ACCEPT 
 -A INPUT -p icmp -j ACCEPT 
 -A INPUT -i lo -j ACCEPT 
 -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 
 -A INPUT -s 123.123.123.1123/56 -i eth0 -j ACCEPT