Linux防火墙的功能是由linux的内核所提供,直接通过内核来处理,因此性能非常好,不过,不同内核版本防火墙软件是不一样的,因为内核支持的防火墙是不断演变的
#Version 2.0 :使用ipfwadm这个防火墙机制
#Version 2.2:使用的是ipchains这个防火墙机制
#Version 2.4与2.6 :使用的是iptabls这个防火墙机制。利用的是数据包过滤的机制,它会分析数据包的报头数据。根据报头数据与定义的规则来决定该数据是否可以进入主机或丢弃
因此不同的内核版本使用的防火墙机制不同,且支持的软件命令与语法也不同,所以在使用linux防火墙时,一定要先用uname -r 追踪一下内核版本。
当一个数据进入主机之前,会先被iptables的规则先匹配,检查通过则接受(ACCEPT)进入本机取得数据,如果通不过,则可能丢弃(DROP).iptables的规则是从上至下一条条进行匹配的,如果上面有一条符合规则,则不会理会剩下的规则.
iptables的表格(table)和链(chain)
INPUT:主要与想要进入Linux主机的数据包有关。
OUTPUT:主要与Linux本机要送出的数据包有关。
FORWARD:与Linux本机没有关系,它可以传递数据包到后端的计算机中,与NAT的table相关。
-
NAT(地址转换):是Network Address Translation的缩写,这个表格主要用来进行来源与目的 地的IP或prot的转换,与Linux本机无关,主要与Linux主机后的局域网有关系。
PREROUTING:在进行路由判断之前所进行的规则。
POSTROUTING:在进行路由判断之后所要进行的规则。
OUTPUT:与发送出去的数据包相关
Mangle:这个表格主要是与特殊的数据包的路由标志相关。由于表格与特殊标志相关性较高,因此在较少使用。
iptables语法与规则
实例
保存规则:
service iptables save
规则会被保存至/etc/sysconfig/iptables文件中;默认,start时也会读取此文件中的内容以设置规则;
# iptables-save > /path/to/some_rulefile
# iptables-restore < /path/from/some_rulefile