linux:模块

linux模块


   简介:模块的主要功能是扩展iptables

ps:-m 指定模块

     一、连续匹配多个端口

1 --dports  : 指定多个端口(不同端口之间以逗号分割,连续的端口使用冒号分割)。

     二、指定一段连续的IP地址范围(iprange)

1 --src-range form【-to】:  源地址范围
2 --dst-range form【-to】:  目标地址范围

     三、匹配指定字符串(string)

--string pattern   指定要匹配的字符串
--algo{bm|kmp}     匹配的查询算法

      四、根据时间段匹配报文(time)

--timestart  hh:mm【:ss】  开始时间
--timestop   hh:mm【:ss】 结束时间
--monthdays  day【,day...】 指定一个月的某一天
--weekdays day【,day...】 指定周  还是  周天

      五、禁ping,默认本机无法ping别人、别人无法ping自己

--icmp-type {type【/code】| typename}
echo-request  (8) 请求
echo-reply    (0)回应

      六、限制链接数,并发链接数(connlimit)

--connlimit-upto n     如果现有连接数小于或等于 n 则匹配
--connlimit-above n   如果现有链接数大于n则匹配

      七、针对  报文速率  进行限制.秒、分钟、小时、天

--limit rate[/second|/minute|/hour|/day]     报文数量 
--limit-burst number                 报文数量(默认:5)

       八、案例

       1>要求将22,80,443以及30000-50000之间所有的端口向外暴露,其他端口拒绝

linux:模块
1 iptables -t filter -A INPUT -p TCP -m multiport --dports 22,80,443,30000:50000 -j ACCEPT
2 iptables -f filter -A INPUT -p TCP -j DROP
案例1

       2>要求访问数据包中包含HelloWorld的数据不允许通过。

linux:模块
1 iptables -t filter -A INPUT -p TCP -m string --string "HelloWorld" --algo kmp -j DROP
案例2

       3>要求192.168.15.1 - 192.168.15.10之间的所有IP能够连接192.168.15.81,其他拒绝

linux:模块
1 iptables -t filter -A INPUT -p TCP -m iprange --src-range 192.168.15.1-192.168.15.10 -j ACCEPT 
2 iptables -f filter -A INPUT -p TCP -j DROP
案例3

       4>要求每天的12到13之间,不允许访问

linux:模块
1 iptables -t filter -A INPUT -p TCP -m time  --timestart 4:00   --timestop 5:00 -j DROP
2 
3 必须使用UTC时间
案例4

       5>要求别人不能ping本机,但是本机可以ping别人

linux:模块
1 iptables -t filter -A INPUT -p TCP -m icmp --icmp-type "echo-request" -j DROP
案例5

       6>要求主机连接最多有2个

linux:模块
1 iptables -t filter -A INPUT -p TCP --dport 22 -m connlimit --connlimit-above 2 -j DROP
案例6

       7>要求限制速率在500k/s左右

linux:模块
1 iptables -t filter -A INPUT -p TCP -m limit 333/s -j ACCEPT
2 iptables -t filter -A INPUT -p TCP -j DROP
案例7

 

上一篇:iptables的使用以及模块


下一篇:lptables的使用