Iptables防火墻limit模塊擴(kuò)展匹配規(guī)則詳解
Iptables防火墻limit模塊擴(kuò)展匹配規(guī)則
@[TOC]
limit模塊的作用是針對(duì)報(bào)文的速率進(jìn)行限制,限制的單位有秒、分鐘、小時(shí)、天等,例如一分鐘內(nèi)只接收10個(gè)請(qǐng)求報(bào)文,多余的報(bào)文則會(huì)被丟棄。
limit模塊的常用參數(shù):
--limit rate[/second|/minute|/hour|/day]
:指定限制的平均速率單位,以秒(s)、分(m)、時(shí)(h)、天為單位,默認(rèn)是3小時(shí)。--limit-burst
:要匹配的最大初始包的數(shù)量,例如1分鐘內(nèi)限制10個(gè)請(qǐng)求報(bào)文,那么首先一次性會(huì)接收我們指定初始化包的數(shù)量,剩余請(qǐng)求包按著速率單位來(lái)進(jìn)行接收,默認(rèn)值為5個(gè)報(bào)文。
1.限制每分鐘接收10個(gè)ICMP數(shù)據(jù)報(bào)文
1.先添加一條規(guī)則,限制1分鐘內(nèi)只收10個(gè)icmp協(xié)議的請(qǐng)求報(bào)文。
[root@jxl-1 ~]# iptables -t filter -I INPUT -p icmp -m limit --limit 10/minute -j ACCEPT2.然后添加第二條規(guī)則,超出10個(gè)報(bào)文后,其余的報(bào)文全部丟棄。
[root@jxl-1 ~]# iptables -t filter -A INPUT -p icmp -j DROP3.查看添加的防火墻規(guī)則
[root@jxl-1 ~]# iptables -L -n -v --line-number
Chain INPUT (policy ACCEPT 1331 packets, 1111K bytes)
num pkts bytes target prot opt in out source destination
1 0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 limit: avg 10/min burst 5
2 0 0 DROP icmp -- * * 0.0.0.0/0 0.0.0.0/0Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
num pkts bytes target prot opt in out source destinationChain OUTPUT (policy ACCEPT 1334 packets, 1844K bytes)
num pkts bytes target prot opt in out source destination
查看效果,可以看到前5個(gè)數(shù)據(jù)包都可以正常接收,那是因?yàn)閘imit默認(rèn)初始包就是5個(gè),因此沒(méi)有任何問(wèn)題,從第六個(gè)數(shù)據(jù)包開(kāi)始后,每隔6秒才會(huì)正常處理一個(gè)數(shù)據(jù)包,因?yàn)?分鐘限制10次數(shù)據(jù)包的接收,那就表示6秒收一個(gè),效果如下圖所示。
也可以理解為是一開(kāi)始可以快速通過(guò)5個(gè)數(shù)據(jù)報(bào)文,后面的數(shù)據(jù)報(bào)文是每分鐘通過(guò)10個(gè)。
2.允許10個(gè)數(shù)據(jù)報(bào)文快速通過(guò),然后限制每分鐘接收1個(gè)個(gè)ICMP數(shù)據(jù)報(bào)文
實(shí)現(xiàn)思路和1)中一模一樣,只不過(guò)就是調(diào)整一下初始包的數(shù)量。
1.先添加一條規(guī)則,限制1分鐘內(nèi)只收10個(gè)icmp協(xié)議的請(qǐng)求報(bào)文。
[root@jxl-1 ~]# iptables -t filter -I INPUT -p icmp -m limit --limit 1/m --limit-burst 10 -j ACCEPT
2.然后添加第二條規(guī)則,超出10個(gè)報(bào)文后,其余的報(bào)文全部丟棄。
[root@jxl-1 ~]# iptables -t filter -A INPUT -p icmp -j DROP
效果如下,首先發(fā)送了10個(gè)數(shù)據(jù)包正常接收,剩下的數(shù)據(jù)包每隔1分鐘接收1個(gè)。
3.限速案例,限制網(wǎng)絡(luò)傳輸?shù)膸挷豢梢猿^(guò)500k/s
限速如何通過(guò)limit模塊來(lái)實(shí)現(xiàn)呢?其實(shí)也很簡(jiǎn)單,我們可以計(jì)算出1個(gè)數(shù)據(jù)包的大小,然后用500k的大小除以數(shù)據(jù)包的大小,得出500k能換算出多少個(gè)數(shù)據(jù)包,例如是300個(gè),那么最后設(shè)置1秒鐘接收的數(shù)據(jù)包的數(shù)量為300個(gè),就可以實(shí)現(xiàn)每秒的傳輸速率帶寬在500k左右。
一個(gè)數(shù)據(jù)包的大小大概在1500字節(jié)。
公式:(限制的帶寬速率*1000)/(單個(gè)數(shù)據(jù)包的大?。?/p>
500k的限速,每秒可限制的數(shù)據(jù)包數(shù)量大概為(500*1000/150 = 300個(gè))300個(gè)。
[root@jxl-1 ~]# iptables -t filter -I OUTPUT -p tcp -m limit --limit 300/s -j ACCEPT [root@jxl-1 ~]# iptables -t filter -A OUTPUT -p tcp -j DROP
速率帶寬多多少少是由落差的,如果就想限制在500k以內(nèi),可以根據(jù)測(cè)試的結(jié)果來(lái)調(diào)整每秒數(shù)據(jù)包的效果,如下圖所示,拉取文件的速率為327k/s,此時(shí)數(shù)據(jù)包的數(shù)量我是設(shè)置的120個(gè)。
以上就是Iptables防火墻limit模塊擴(kuò)展匹配規(guī)則詳解的詳細(xì)內(nèi)容,更多關(guān)于Iptables防火墻limit模塊的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
網(wǎng)站中的隱形WebEditor文件上傳漏洞補(bǔ)丁
這篇文章主要介紹了網(wǎng)站中的隱形WebEditor文件上傳漏洞補(bǔ)丁2007-02-02Iptables防火墻iprange模塊擴(kuò)展匹配規(guī)則詳解
這篇文章主要為大家介紹了Iptables防火墻iprange模塊擴(kuò)展匹配規(guī)則詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08攻擊方式學(xué)習(xí)之SQL注入(SQL Injection)
有些網(wǎng)站將直接拿用戶的輸入 來(lái)拼接SQL語(yǔ)句,進(jìn)行查詢等操作,同時(shí)也將錯(cuò)誤信息暴露給用戶。2008-09-09