新聞中心
在網(wǎng)絡(luò)應(yīng)用中,流量控制是一項非常重要的技術(shù)。通過限制網(wǎng)絡(luò)中的流量,可以保證網(wǎng)絡(luò)安全、提升網(wǎng)絡(luò)性能,并且避免網(wǎng)絡(luò)擁塞問題。在Linux系統(tǒng)中,我們可以使用一些工具和方法來限制網(wǎng)絡(luò)流量。下面介紹一些最常見的方法。

為臨西等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及臨西網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都做網(wǎng)站、成都網(wǎng)站制作、成都外貿(mào)網(wǎng)站建設(shè)、臨西網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!
方法一:使用iptables限制網(wǎng)卡流量
iptables是Linux中最常用的防火墻軟件之一,它可以通過網(wǎng)絡(luò)控制來限制網(wǎng)卡流量。接下來將介紹一些使用iptables限制網(wǎng)卡流量的方法。
1. 限制出站流量
要限制某個接口的出站流量,首先需要查找該接口的名稱,可以使用ifconfig命令來查找,如下所示:
$ ifconfig
eth0 Link encap:Ethernet HWaddr 00:11:22:33:44:55
inet addr:192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1000 errors:0 dropped:0 overruns:0 frame:0
TX packets:1000 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:100000 (100.0 KiB) TX bytes:100000 (100.0 KiB)
要限制該接口的出站流量,可以使用下面的iptables命令:
$ iptables -A OUTPUT -o eth0 -m limit –limit 10/s –limit-burst 20 -j ACCEPT
參數(shù)說明:
-A:添加一條規(guī)則
OUTPUT:限制流量出站
-o:限制出站接口為eth0
limit:限制速率
–limit 10/s:限制每秒傳輸?shù)臄?shù)據(jù)包數(shù)為10
–limit-burst 20:允許在超時前發(fā)送的更大數(shù)據(jù)包數(shù)為20
-j:指定動作為接受
ACCEPT:允許符合規(guī)則的數(shù)據(jù)包通過
2. 限制入站流量
要限制某個接口的入站流量,可以使用以下iptables命令:
$ iptables -A INPUT -i eth0 -m limit –limit 10/s –limit-burst 20 -j ACCEPT
參數(shù)說明:
-A:添加一條規(guī)則
INPUT:限制流量入站
-i:限制入站接口為eth0
limit:限制速率
–limit 10/s:限制每秒傳輸?shù)臄?shù)據(jù)包數(shù)為10
–limit-burst 20:允許在超時前發(fā)送的更大數(shù)據(jù)包數(shù)為20
-j:指定動作為接受
ACCEPT:允許符合規(guī)則的數(shù)據(jù)包通過
3. 刪除限制規(guī)則
如果要刪除某個已經(jīng)添加的限制規(guī)則,可以使用以下命令:
$ iptables -D OUTPUT 1
參數(shù)說明:
-D:刪除一條規(guī)則
OUTPUT:刪除限制流量出站的規(guī)則
1:刪除規(guī)則序號為1的規(guī)則
方法二:使用tc限制網(wǎng)卡流量
tc是Linux系統(tǒng)中的一個工具,它可以用來管理網(wǎng)絡(luò)流量和流速,實現(xiàn)對網(wǎng)絡(luò)帶寬進(jìn)行調(diào)節(jié)和限制。下面介紹一些使用tc限制網(wǎng)卡流量的方法。
1. 查看接口
使用ifconfig命令可以查看網(wǎng)絡(luò)接口的信息,如下所示:
$ ifconfig
eth0 Link encap:Ethernet HWaddr 00:11:22:33:44:55
inet addr:192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1000 errors:0 dropped:0 overruns:0 frame:0
TX packets:1000 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:100000 (100.0 KiB) TX bytes:100000 (100.0 KiB)
2. 限制出站流量
要限制某個接口的出站流量,可以使用下面的tc命令:
$ tc qdisc add dev eth0 root handle 1: htb default 11
$ tc class add dev eth0 parent 1: classid 1:1 htb rate 1024kbps ceil 1024kbps
$ tc class add dev eth0 parent 1:1 classid 1:11 htb rate 512kbps ceil 1024kbps
參數(shù)說明:
qdisc:隊列規(guī)則
add:添加規(guī)則
dev:網(wǎng)絡(luò)接口名稱
root:根節(jié)點
handle:句柄
1:句柄名稱
htb:層次化令牌桶
default:默認(rèn)句柄
11:句柄編號
class:分類規(guī)則
parent:父節(jié)點
classid:類別句柄
rate:限速
ceil:峰值速率
3. 限制入站流量
要限制某個接口的入站流量,可以使用以下tc命令:
$ tc qdisc add dev eth0 ingress
$ tc filter add dev eth0 parent ffff: protocol ip prio 50 u32 match ip src 0.0.0.0/0 police rate 1mbit ceil 1mbit burst 32k drop flowid :1
參數(shù)說明:
qdisc:隊列規(guī)則
add:添加規(guī)則
dev:網(wǎng)絡(luò)接口名稱
ingress:入站流量限制
filter:限制規(guī)則
parent:父節(jié)點
ffff:限制所有網(wǎng)絡(luò)流量
protocol:限制IP協(xié)議
prio:優(yōu)先級
u32:過濾器類型
match:過濾器匹配條件
src:源IP地址
police:限速
rate:速率
ceil:峰值速率
burst:突發(fā)緩沖區(qū)大小
drop:丟棄
flowid:流ID
4. 刪除限制規(guī)則
如果要刪除某個已經(jīng)添加的限制規(guī)則,可以使用以下命令:
$ tc qdisc del dev eth0 root
$ tc qdisc del dev eth0 ingress
參數(shù)說明:
del:刪除規(guī)則
eth0:網(wǎng)絡(luò)接口名稱
root:根節(jié)點
ingress:入站流量限制
通過上述方法,我們可以將網(wǎng)卡的流量限制控制在一定的范圍內(nèi),從而達(dá)到保護(hù)網(wǎng)絡(luò)安全、提升網(wǎng)絡(luò)性能等目的。當(dāng)然,根據(jù)網(wǎng)絡(luò)需要,可以用不同的命令進(jìn)行調(diào)整,以達(dá)到更佳的流量控制效果。
成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián),建站經(jīng)驗豐富以策略為先導(dǎo)10多年以來專注數(shù)字化網(wǎng)站建設(shè),提供企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計,響應(yīng)式網(wǎng)站制作,設(shè)計師量身打造品牌風(fēng)格,熱線:028-86922220關(guān)于Linux網(wǎng)卡帶寬設(shè)置的問題
首先你得netem QDiscipline設(shè)置看起來沒什么區(qū)別,limit太大,loss 0%和默認(rèn)一樣,剩下的delay 10ms都是指所有pakcat按照延遲10ms進(jìn)行發(fā)送
至于你的TBF設(shè)置,用了TBF自身提供的兩個途徑
TBF叫做Token Bucket Filter.總體的思路就是數(shù)據(jù)包要領(lǐng)到Token(令牌)才能被發(fā)送,而令牌的產(chǎn)生速率收到rate這個參數(shù)的限制。Token是一個抽象的概念,Token的大小都是指的Token所指向的數(shù)據(jù)包的大小。
當(dāng)要發(fā)送的速率低于令牌產(chǎn)生的速度時,所有的數(shù)據(jù)包都能領(lǐng)到Token,并且多余的Token會在你的Buffer里積累。積累的上限由Buffer/Burst這個參數(shù)指定。
當(dāng)發(fā)送的速率等于Token產(chǎn)生的速度時,Token正好被完全消耗,所有雹顫的數(shù)據(jù)包都會發(fā)送,并且buffer不會積累多余的Token
當(dāng)發(fā)送的速率大于Token的速率,如果Buffer里還有多余的Token,就會開始消耗Buffer的Token,同時允許數(shù)據(jù)包通過。如果buffer的Token耗盡,數(shù)據(jù)包就不被允許通過,并且進(jìn)入Txqueue(發(fā)送隊列)排隊。如果排隊的尺寸大于limit(你的之一個TBF有指定),則隊列不能再增長,新到來的數(shù)據(jù)包會被drop。
明白上面的鎮(zhèn)好概念之后你的兩條命令的區(qū)別也就容易看懂了。
之一個是用的Buffer/Limit
Buffer就是瞬間可以額外提供的Token的數(shù)量。Rate限制了你的持續(xù)上傳速率為1Mb/s,然后在你長時間網(wǎng)絡(luò)流量很低時,你得Token會積累,最后你可以有Buffer這么大(1600b)的緩沖無視rate的限制(可以瞬間發(fā)送1600b,所以叫做突發(fā))。至于后面的limit 3000,是指你當(dāng)你的緩沖區(qū)(Txqueue)超過3000b時,新來的包會被Drop
第二個用的是御肆鉛Burst/latency/rate組合
這里的burst和上面的buffer含義完全相同,都是能夠以高于rate所限定的速度發(fā)送的數(shù)據(jù)量(4Mb,比之一個的大很多)。至于Latency,是對應(yīng)limit的量。Latency規(guī)定的是數(shù)據(jù)包能在Txqueue中呆的最長的時間(你的是1S),在Txqueue中呆超過1s的包都會被Drop。所以結(jié)合你的rate來計算,latency 1s+rate 1Mbit/s 等價于 limit為1Mbit*1s=1Mb
*tc只能規(guī)整egress traffic,就是從NIC流出的流量(上傳),對于下載,要用IFB將ingress(下載)模擬成egress
linux禁用網(wǎng)口收發(fā)報文,網(wǎng)卡ip還在
因為禁用的只是網(wǎng)卡對外收發(fā)報文功能,并沒有禁用網(wǎng)卡的IP地址,所以網(wǎng)卡的ip地址還在。
linux限制網(wǎng)卡的介紹就聊到這里吧,感謝你花時間閱讀本站內(nèi)容,更多關(guān)于linux限制網(wǎng)卡,Linux如何限制網(wǎng)卡流量?,關(guān)于Linux網(wǎng)卡帶寬設(shè)置的問題,linux禁用網(wǎng)口收發(fā)報文,網(wǎng)卡ip還在的信息別忘了在本站進(jìn)行查找喔。
創(chuàng)新互聯(lián)【028-86922220】值得信賴的成都網(wǎng)站建設(shè)公司。多年持續(xù)為眾多企業(yè)提供成都網(wǎng)站建設(shè),成都品牌建站設(shè)計,成都高端網(wǎng)站制作開發(fā),SEO優(yōu)化排名推廣服務(wù),全網(wǎng)營銷讓企業(yè)網(wǎng)站產(chǎn)生價值。
分享標(biāo)題:Linux如何限制網(wǎng)卡流量?(linux限制網(wǎng)卡)
分享URL:http://m.5511xx.com/article/coepdce.html


咨詢
建站咨詢
