iptables系列四

简介: iptables系列之常用扩展模块iptables-s,-d -s IP,NET 172.16.0.0/16,172.16.

iptables系列之常用扩展模块

iptables
-s,-d 
-s IP,NET 
    172.16.0.0/16,172.16.100.7 
-m iprange 
   This matches on a given arbitrary range of IP addresses. 
   
-m iprange 
    --src-range 
    --dst-range 
iptables  -t filter  -A INPUT -p tcp -m iprange --src-range 172.16.100.3-172.16.100.100 --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT 

-m connlimit :连接数限制 
    [!] --connlimit-above n 连接数的上限 
允许您限制每个服务器的并行连接数量,客户端地址(或客户端地址块)。
同一个地址允许同时发起多少个连接。
iptables -t filter -A INPUT -d 172.16.1.3 -p tcp 90 -m connlimit ! --connlimit-above 2 -j ACCEPT 

服务器的cpu,内存,网卡带宽有限。瞬间涌入大量的请求,后面的请求就是等待。
流量控制  
   ip,tc  流量整形 reshape 
流量控制

流量控制是对已经成功分类的具体流量执行的一种管制行为,这控制行为从实施特性上大致可分为两种:流量监管(policing),事实上就是限速,如果可能它将超过限定速率的流量丢弃,或者重标记流量行为,流量整形(shaping)事实上就是尽量最大努力缓存并平滑流量。

接入速率(Access Rate):

是指物理接口的接入速率

认购速率(traffic contract):

认购流量也叫“契约流量”,所谓契约流量就是指用户花钱在ISP(Internet服务供应商)处购买的网络流速,这个速度是指ISP在任何时候都应该为用户保障的速率。通常它还有一个名称叫CIR(承诺信息速率CommittedInformation Rate)。

理解流量控制中的监管(限速)行为:

如图5所示,为流量的监管前后的示意图,可清晰的看出,没有被监管之前的流量,在限定速率之上的那部分,在执行监管这后,流量的波峰被丢弃,流量监管这种行为仅仅是对超过限定速率的流量进行丢弃或者重标记流量(一般重标记会降级流量的优先程度),不对流量做缓存,所以不会为那些没有超过限定的流量造成更大的延迟。更直接的讲流量监管实际上是一种限速行为,超额部分被丢弃的流量会引发重传。

理解流量控制中的整形(缓存)行为:

流量整形与流量监管有着不同的实质,流量整形是将超过限额的流量进行缓存,然后基于特定的策略和规则来传递这部分缓存的流量,达到平滑流量的效果。如图6所示,超过整形速率之上的流量在被实施流量整形后,这部分超额流量将以换回更大的转发延迟为代价来得到发送,而不是丢弃,所以在图6的环境中虚线所示的流量就是被整形后的流量,可看出它更加的平滑,但是在时间轴上的转发延迟将更大。

tc:令牌桶机制

令牌桶算法是网络流量整形(Traffic Shaping)和速率限制(Rate Limiting)中最常使用的一种算法。典型情况下,令牌桶算法用来控制发送到网络上的数据的数目,并允许突发数据的发送。
大小固定的令牌桶可自行以恒定的速率源源不断地产生令牌。如果令牌不被消耗,或者被消耗的速度小于产生的速度,令牌就会不断地增多,直到把桶填满。后面再产生的令牌就会从桶中溢出。最后桶中可以保存的最大令牌数永远不会超过桶的大小。
传送到令牌桶的数据包需要消耗令牌。不同大小的数据包,消耗的令牌数量不一样。
令牌桶这种控制机制基于令牌桶中是否存在令牌来指示什么时候可以发送流量。令牌桶中的每一个令牌都代表一个字节。如果令牌桶中存在令牌,则允许发送流量;而如果令牌桶中不存在令牌,则不允许发送流量。因此,如果突发门限被合理地配置并且令牌桶中有足够的令牌,那么流量就可以以峰值速率发送。

-m limit 
      此模块匹配使用令牌桶筛选器的有限速率。规则使用此扩展将匹配到该限制(除非'!'使用标志。它可以与日志目标结合使用有限的日志记录,如。
     --limit rate :
          最大平均匹配率:指定为一个数字,用一个可选的“/second”,“/minute”,“/hour”,或“/day”的后缀,默认是3/hour。
    --limit-burst  number 
         最大初始数据包数匹配:这个数字得到接受每一个时间达不到上述规定的限制,这个数字最多,默认为5。

iptables -t filter -I INPUT -d 172.16.1.3 -p tcp --dport 22 -m limit --limit 3/minute --limit-burst 3 -j ACCEPT

iptables -t filter -A INPUT -d 172.16.1.3 -p icmp --icmp-type 8 -j ACCPET 

iptables -t filter -A INPUT -d 172.16.1.3 -p icmp --icmp-type 8 -m limit --limit=1/second --limit-burst=4 -j ACCEPT  
             

             
-m string 
     --algo {bm|kmp}
     --string "string"
    
iptables -I OUTPUT -s  172.16.1.3 -m string --algo kmp --string "nihao" -j REJECT 

-j lOG  
    --log-prefix "string"


iptables -t -I INPUT -d 172.16.1.3 -p icmp --icmp-type 8 -j LOG --log-prefix "--firewall log for icmp"

注意:防止磁盘IO,修改写入的速率。
目录
相关文章
|
安全 网络协议 Linux
扒一下一直不求甚解的 iptables
iptables 是用于配置 Linux 2.4.x 及更高版本包过滤规则集的用户空间命令行程序。它针对系统管理员。 由于网络地址转换 (NAT) 也是从包过滤规则集配置的,iptables 也用于此。 iptables 包还包括 ip6tables。ip6tables 用于配置 IPv6 包过滤器。
扒一下一直不求甚解的 iptables
|
网络协议 Linux 测试技术
iptables超全详解
数据包先经过PREOUTING,由该链确定数据包的走向:     1、目的地址是本地,则发送到INPUT,让INPUT决定是否接收下来送到用户空间,流程为①--->②;     2、若满足PREROUTING的nat表...
1848 0
|
网络协议
iptables
工作原理:     基础: 规则(rules)其实就是网络管理员预定义的条件,规则一般的定义为“如果数据包头符合这样的条件,就这样处理这个数据包”。规则存储在内核空间的信息包过滤表中,这些规则分别指定了源地址、目的地址、传输协议(如TCP、UDP、ICMP)和服务类型(如HTTP、FTP和SMTP)等。
954 0
|
网络协议 安全 Linux
|
网络协议 网络安全 网络虚拟化
|
网络协议 网络安全
|
网络协议 算法 网络安全
|
Web App开发 网络协议 网络安全