1、multiport扩展
以离散方式定义多端口匹配,最多指定15个端口:
[!] --source-ports, --sports port[,port|,port:port].....: 指明多个源断口口;
[!] --destination-ports, --dports port[,port|,port:port].....: 指明多个离散的目标端口;
[!] --ports port[,port|,port:port]...
~]#iptables -I INPUT -s 172.16.0.0/16 -d 172.16.100.9 -p tcp -multiport --dports 22,80 -j ACCEPT
~]#iptables -I OUTPUT -d 172.16.0.0/16 -s 172.16.100.9 -P tcp -multiport --sports 22,80 -j ACCEPT
2、iprange 扩展
指明连续的(但一般是不能扩展为整个网络)IP地址范围时使用;
[!] --src-range from[-to]: 指明连续的源IP地址范围;
[!] --dst-range from[-to]: 指明连续的目标IP地址范围;
~]# iptables -I OUTPUT -s 172.16.100.9 -p tcp -m multiport --sports 22:23,80 -m iprange --dst-range 172.16.100.1-172.16.100.120 -j ACCEPT
~]# iptables -I INPUT -d 172.16.100.9 -p tcp -m multiport --dports 22:23,80 -m iprange --src-range 172.16.100.1-172.16.100.120 -j ACCEPT
3、string扩展
检查报文中出现的字符串;
[!] --string pattern
~]# iptables -I output -m string --algo bm --string 'movie' -j REJECT
4、time 扩展
根据报文到达的时间与指定的时间范围进行屁配
--datestart
--datestop
--timestart
--timestop
--monthdys
--weekdays
~]# iptables -I INPUT -d 172.16.100.9 -P tcp --dport 80 -m time --timestart 14:00 --timestop 16:00 -j REJECT
5、connlimit扩展
根据每客户端IP(也可以是地址块)做并发连接数数量配配;
--connlimit-above n: 连接的数量大于n
--connlimit -upto n: 连接的数量小于等于n
~]iptables -I INPUT -p tcp --dport 22 -m connlimit --connlimit-above 3 -j REJECT
6、limit扩展
基于收发报文的速率做检查
令牌桶过滤器
--limit [/second|/minute|/hour|/day]
--limit-burst number
~]#iptables -A INPUT -d 172.16.100.9 -p icmp --icmp-type 8 -m limit --limit-burst 5 --limit 30/minute -j ACCEPT
7、state扩展
根据连接追踪机制检查连接的状态:
调整连接追踪功能所能够容纳的最大连接数量:
/proc/sys/net/nf_conntrack_max
已经追踪到并记录下的连接
/proc/net/nf_conntrack
可追踪的连接状态:
NEW: 新发出的请求:连接追踪模板中不存此连接相关的信息条目,因此,将其识别为第一次发出的请求:
ESTABLISHED: NEW状态后,连接追踪模板中为其建立的条目失效之前期间内所进行的通信的状态:
RELATED:相关的连接:如FTP协议的命令连接与数据连接之间的关系:
INVALIED: 无法识别的连接:
--state
~]# iptables -I INPUT -d 172.16.100.9 -p tcp --dport 80-m start --state NEW,ESTABLISHED -j ACCEPT
~]#iptables -I OUTPUT -S 172.16.100.9 -p tcp--sport 80 -m start --state ESTABLISHED -j ACCEPT
~]#iptables -A INPUT -d 172.16.100.9 -p icmp --icmp-type 8 -m state --state NEW,ESTABLISHED -j ACCEPT
~]#iptables -A OUTPUT -s 172.16.100.9 -p icmp --icmp-type 0 -m state --ESTABLISHED -j ACCEPT