linux限制網速
Ⅰ 關於linux網卡帶寬設置的問題
首先你得netem QDiscipline設置看起來沒什麼區別,limit太大,loss 0%和默認一樣,剩下的delay 10ms都是指所有pakcat按照延遲10ms進行發送
至於你的TBF設置,用了TBF自身提供的兩個途徑
TBF叫做Token Bucket Filter.總體的思路就是數據包要領到Token(令牌)才能被發送,而令牌的產生速率收到rate這個參數的限制。Token是一個抽象的概念,Token的大小都是指的Token所指向的數據包的大小。
當要發送的速率低於令牌產生的速度時,所有的數據包都能領到Token,並且多餘的Token會在你的Buffer里積累。積累的上限由Buffer/Burst這個參數指定。
當發送的速率等於Token產生的速度時,Token正好被完全消耗,所有的數據包都會發送,並且buffer不會積累多餘的Token
當發送的速率大於Token的速率,如果Buffer里還有多餘的Token,就會開始消耗Buffer的Token,同時允許數據包通過。如果buffer的Token耗盡,數據包就不被允許通過,並且進入Txqueue(發送隊列)排隊。如果排隊的尺寸大於limit(你的第一個TBF有指定),則隊列不能再增長,新到來的數據包會被drop。
明白上面的概念之後你的兩條命令的區別也就容易看懂了。
第一個是用的Buffer/Limit
Buffer就是瞬間可以額外提供的Token的數量。Rate限制了你的持續上傳速率為1Mb/s,然後在你長時間網路流量很低時,你得Token會積累,最後你可以有Buffer這么大(1600b)的緩沖無視rate的限制(可以瞬間發送1600b,所以叫做突發)。至於後面的limit 3000,是指你當你的緩沖區(Txqueue)超過3000b時,新來的包會被Drop
第二個用的是Burst/latency/rate組合
這里的burst和上面的buffer含義完全相同,都是能夠以高於rate所限定的速度發送的數據量(4Mb,比第一個的大很多)。至於Latency,是對應limit的量。Latency規定的是數據包能在Txqueue中呆的最長的時間(你的是1S),在Txqueue中呆超過1s的包都會被Drop。所以結合你的rate來計算,latency 1s+rate 1Mbit/s 等價於 limit為1Mbit*1s=1Mb
*tc只能規整egress traffic,就是從NIC流出的流量(上傳),對於下載,要用IFB將ingress(下載)模擬成egress
Ⅱ linux千兆網卡只能識別10m
需要重置的,因為千兆的連接速度是1Gbps,有些路由器標稱千兆路由,但LAN口實際是百兆的,買路由器的時候要留意一下哦!
百兆路由器配備的是百兆網口,不支持100M以上的寬頻,即使接入也只能被限制到一百兆,這種情況最多,所以更換千兆路由器即可解決,要認准全千兆,也就是千兆WAN口和千兆LAN口,無線速率也要千兆以上。
首先要客戶找一下環境原因,路由器,交換機,網線等是不是千兆的,看看設備連接路由器是100M的,如果連接交換機要看看交換機的LAN口是不是千兆的,2.4GWiFi速度只有3M只有,移動設備在區域網盡量連接5GWiFi,速度達不到的可以看看手機連接WiFi的速率。
網線限制網速。
五類線只連接了四芯到水晶頭上,也就是以前的只連接1236這四芯的網線,最大隻能支持100Mbps的傳輸速度。如果你家的網線是這樣的話,你下載也就只能達到10MB/s了。如果想要跑到大於10MB/s的網速,至少需要五類線八芯都連接才能達到,而且需要五類線的質量比較好。
Ⅲ linux伺服器要怎樣針對IP流量限制
不是木馬,是設置問題,下面是流量的控制方法一、Linux流量控制過程分二種:1、隊列控制即QOS,瓶頸處的發送隊列的規則控制,常見的有SFQPRIO2、流量控制即帶寬控制,隊列的排隊整形,一般為TBFHTB二、Linux流量控制演算法分二種:1、無類演算法用於樹葉級無分支的隊列,例如:SFQ2、分類演算法用於多分支的隊列,例如:PRIOTBFHTB三、具體實現:1.在網卡上建立以SFQ演算法的限流#tcqdiscadddeveth0roothandle1:sfqSFQ參數有perturb(重新調整演算法間隔)quantum基本上不需要手工調整:handle1:規定演算法編號..可以不用設置由系統指定..#tcqdiscshdeveth0顯示演算法#tcqddeldeveth0root刪除注:默認eht0支持TOS2.在網卡建立以TBF演算法的限流#tcqdadddeveth1roothandle1:速率256kbit突發傳輸10k最大延遲50ms#tc-sqdshdeveth1統計#tcqddeldeveth1root刪除3.在網卡建立PRIO#tcqdiscadddeveth0roothandle1:prio#此命令立即創建了類:1:1,1:2,1:3(預設三個子類)#tcqdiscadddeveth0parent1:1handle10:sfq#tcqdiscadddeveth0parent1:2handle20:注:此為TBF限速的另一寫法,前文有講解.#tcqdiscadddeveth0parent1:3handle30:sfq4.WEB伺服器的流量控制為5Mbps,SMTP流量控制在3Mbps上.而且二者一共不得超過6Mbps,互相之間允許借用帶寬#tcqdiscadddeveth0roothandle1:#tcclassadddeveth0parent1:0classid1:.這部分按慣例設置了根為1:0,並且綁定了類1:1.也就是說整個帶寬不能超過6Mbps.#tcclassadddeveth0parent1:1classid1:.#tcclassadddeveth0parent1:1classid1:.建立了2個類.注意我們如何根據帶寬來調整weight參數的.兩個類都沒有配置成"bounded",但它們都連接到了類1:1上,而1:1設置了"bounded".所以兩個類的總帶寬不會超過6Mbps.別忘了,同一個CBQ下面的子類的主號碼都必須與CBQ自己的號碼相一致!#tcqdiscadddeveth0parent1:3handle30:sfq#tcqdiscadddeveth0parent1:4handle40:sfq預設情況下,兩個類都有一個FIFO隊列規定.但是我們把它換成SFQ隊列,以保證每個數據流都公平對待.#tcfilteradddeveth0parent1::3#tcfilteradddeveth0parent1::46.過濾器過濾示例#::1在10:節點添加一個過濾規則,優先權1:凡是去往22口(精確匹配)的IP數據包,發送到頻道10:1..#::1在10:節點添加一個過濾規則,優先權1:凡是來自80口(精確匹配)的IP數據包,發送到頻道10:1..#:prio2flowid10:2在eth0上的10:節點添加一個過濾規則,它的優先權是2:凡是上二句未匹配的IP數據包,發送到頻道10:2..#tcfilteradddeveth0parent10:.3.2.1/32flowid10:1去往4.3.2.1的包發送到頻道10:1其它參數同上例#tcfilteradddeveth0parent10:.2.3.4/32flowid10:1來自1.2.3.4的包發到頻道10:1#:prio2flowid10:2凡上二句未匹配的包送往10:2#tcfilteradddeveth0parent10:.3.2.1/:1可連續使用match,匹配來自1.2.3.4的80口的數據包
Ⅳ linux下有什麼可以限制網速的軟體
專門的限速軟體,只有linux防火牆如:pfsence,不過默認的iptables防火牆也可以限速的
如以ip地址來限速
iptables -A FORWARD -m limit -d 202.96.209.6 --limit 2400/s --limit-burst 100 -j ACCEPT
iptables -A FORWARD -d 202.96.209.6 -j DROP
iptables -A FORWARD -m limit -s 202.96.209.6 --limit 2400/s --limit-burst 100 -j ACCEPT
iptables -A FORWARD -s 202.96.209.6 -j DROP
限制某網段
iptables -A FORWARD -s 192.168.100.0/24 -m limit --limit 100/s -j ACCEPT
iptables -A FORWARD -s 192.168.100.0/24 -j DROP
以協議icmp放ddos限速
iptables -A INPUT -f -m limit --limit 150/sec --limit-burst 100 -j ACCEPT
限制ssh接入頻率
iptables -A INPUT -p tcp –dport 22 -s 10.1.0.0/16 -j ACCEPT
iptables -A INPUT -p tcp –dport 22 -j ratelimit
Ⅳ linux如何限制每個進程的網速
1、用 iptables 的 owner 模塊,給 --pid-owner 加上 MARK,然後 tc 里針對這個 MARK 做限速 現在的伺服器上,基本已經普及了 SMP ,更進一步的,內核已經在自動發現支持 SMP 的時候,在 iptables 里把 owner 模塊的 pid/cmd/sid 三個 match 都去掉了!現在的 owner 里只有 uid/gid 兩個。所以這條路,在生產環境上基本行不通。所以推薦下面的兩種方法:2、使用 pipeviewer和 trickle這兩個工具。trickle 是在BSD 上誕生的項目,這個工具使用ELF 的 preloader 機制,在命令執行的時候替換掉標准庫中的 socket recv()() 和 send() 部分,達到限速的效3、cgroup ,它有 net_cls 控制器。不過和其他控制器不太一樣的是它不直接控制網路讀寫,只是給網路包打上一個標記,然後把專業的事情交給專業的 TC 去做。嗯,思路和原先的 iptable 是很類似的。Ⅵ linux系統下可以限制某個程序的上傳速度嗎
可以的,你可以在Linux系統中安裝一個Trickle,通過Trickle啟動程序,就能限制這個程序的上傳、下載網速了,不過只對部分tcp連接有效。
樓主如果對Linux系統感興趣,想學習更多Linux系統知識,可以網路《Linux就該這么學》,裡面有很多實用的命令可以參考學習。
Ⅶ Linux網速慢問題解決之——配置DNS
一、最近發現Linux的打開網頁的網速賊慢,經過排查,發現網上 的一些認為是無線路由器不支持802.11n,其實已經過時,現在的路由器早以802.11b/g/n向下兼容。
二、後來發現是原來配置DNS伺服器設置成114.114.114.114,這個dns伺服器的響應速度太慢,於是打通運營商的客服查找最快的DNS(以山西聯通為例:首選202.99.192.68,備用 202.99.192.66)
```
vi /etc/resolv.conf
#打開後配置如下:
# Generated by NetworkManager
search DHCP HOST
nameserver 202.99.192.68
nameserver 202.99.192.66
```
