什么是iptables?我们首先应该知道它是Linux平台最著名的防火墙工具,系统自带的,从什么版本的内核开始自带的呢,好像是2.4以后。它的全称应该是netfilter/iptables,从这个名称上看,它其实是两个软件。netfilter是运行在内核之中的,对数据包进行分析处理;iptables是提供用户的一个配置管理工具,它可以设置一些表、表中有一些链条、链条上面有一些规则。通过iptables建立的一整个的规则体系,netfilter来对数据包进行分析处理。
netfilter/iptables 的最大优点是它可以配置有状态的防火墙,这是 ipfwadm 和 ipchains 等以前的工具都无法提供的一种重要功能。什么叫有状态的防火墙,它很牛B吗?当然的!举个简单的例子,我不想让其它主机连接本机的任何端口,但又希望,当我主动去连接别人的时候,别人回过来的包我可以收到。这看似很合理的一个想法,在无状态的防火墙中是根本不可能实现的。别人对我发起一个连接是一个NEW状态,我可以禁止它。我对别人发起一个连接后,状态就变成ESTABLISHED了,我可以允许它。
iptables除了做包过滤的防火墙外,做nat也一把好手。因为它有一个专门做nat的表。说说怎么启动及关闭iptables吧,其实iptables是一个服务,完全按照服务的方式去操作它就可以了。所以设置iptables开机启动的命令:chkconfig iptables on,开机不启动则为chkconfig iptables off。想马上启动iptables,命令:service iptables start,马上关闭的命令:service iptables stop。另外说说ubuntu中启动及关闭iptables,ubuntu,唉,怎么就这么烦呢?在ubuntu中由于不存在 /etc/init.d/iptales文件,所以无法使用service等命令来启动iptables,需要用modprobe命令。启动iptables的命令:modprobe ip_tables;而关闭iptables(关闭命令要比启动复杂)iptables -Fiptables -Xiptables -Ziptables -P INPUT ACCEPTiptables -P OUTPUT ACCEPTiptables -P FORWARD ACCEPTmodprobe -r ip_tables依次执行以上命令即可关闭iptables,否则在执行modproble -r ip_tables时将会提示:FATAL: Module ip_tables is in use.关于iptables就简单介绍到这里,后面有时间介绍一下iptables的具体配置。