很多linux系统都采用iptables来构建防火墙,因此有必要对iptables进行深入的了解。

4表5链

iptables 或 netfilter 说白了,就是一堆规则,只有包符合这些规则,才可以通过。而这些规则有着类别和优先级关系,下图给出了这些类别及包在netfilter经过的路径

iptables

iptables 命令

linux 提供了 iptables 用于编辑这些规则,下面列出 iptables 命令常用的选项

-t 				指定 table,默认是 filter
-A				末尾追加规则
-D				删除规则
-L 				列出规则
-R				替换规则
-I 				插入规则
-p 				指定协议,all 表示所有
-v 				详细信息
--line-numbers 	显示行号,方便删除
-s				指定源地址
-d 				指定目的地址
-i 				interfaces, eth0等
-n 				数字化
-j 				动作,ACCEPT、DROP 等
-F 				清空所有规则

为了方便理解,给出一些简单的例子

#禁止所有主机访问80端口
iptables -t filter -A INPUT -d 192.168.1.108 -p tcp --dport 80 -j REJECT

# 查看所有规则(filter)
iptables -nvL

# 清空规则
iptables -F

注意:以上配置都是临时的,可以通过配置/etc/sysconfig/iptables或/etc/init.d/iptables save来固化