>>>地址匹配。用于检查数据包的IP地址、网络地址。在iptables命令中使用“-s 源地址”和“-d 目标地址”的形式,分别对应于源(--source)地址和目标(--destination)地址。 eg: 拒绝转发来自192.168.1.11主机的数据,允许转发来自192.168.0.0/24网段的数据。 1 [root@node1 ~]# iptables -A FORWARD -s
2 [root@node1 ~]# iptables -A FORWARD -s 192.168.1.11 -j REJECT 192.168.0.0/24 -j ACCEPT >>>网络接口匹配。用于检查数据包从防火墙的哪一个接口进入或离开。在iptables命令中使用“-i 网络接口名”和“-o 网络接口名”的形式,分别对应于接收数据包(--in-interface)的网卡和发送数据包(--out-interface)的网卡
eg: 丢弃从外网接口(eth1)进入防火墙本机的源地址为私网地址的数据包。
1 [root@node1 ~]# iptables -A INPUT -i eth1 -s
2 [root@node1 ~]# iptables -A INPUT -i eth1 -s
3 [root@node1 ~]# iptables -A INPUT -i eth1 -s 192.168.0.0/16 -j DROP 172.16.0.0/12 -j DROP 10.0.0.0/8 -j DROP
eg: 管理员在网关服务器上检测到来自某个IP网段(如 10.20.30.0/24)的频繁扫描,希望设置iptables规则封堵该IP地址段,两小时后解封。
1 [root@node1 ~]# iptables -I INPUT -s 10.20.30.0/24 -j DROP
2 [root@node1 ~]# iptables -I FORWARD -s 10.20.30.0/24 -j DROP
3 [root@node1 ~]# at now +2 hours
4 at> iptables -D INPUT 1
5 at> iptables -D FORWARD 1
6 at><EOT> //此处按Ctrl+D组合键
7 job 4 at 2013-06-11 22:47 B、隐含(Implicit)条件匹配
这种匹配通常需要以指定的协议匹配为前提,其对应的功能由iptables自动(隐含)的装载入内核,一般不需要用户收到加载模块。常见的隐含匹配方式包括以下几种。
>>>端口匹配。用于检查数据包的TCP或UDP端口号,需要以“-p tcp”或“-p udp”匹配为前提。在iptables命令中使用“--sport 源端口号”、“--dport 目标端口”的形式,分别对应于源端口(--source-port)、目标端口(--destination-port)。端口可以表示为单个端口号或者用冒号“:”分割的端口范围。
eg: 。 1 [root@node1 ~]# iptables -A INPUT -p tcp --dport 22 -s 202.13.0.0/16 -j ACCEPT