91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

TC模塊限速實例

發布時間:2020-07-23 19:15:31 來源:網絡 閱讀:2831 作者:入九天 欄目:網絡安全

一、網絡拓撲

TC模塊限速實例

二、環境介紹

服務器系統是centos6.5,內核:2.6.32-431.el6.x86_64

Server:兩張網卡eth0:10.0.0.100

          eth2:192.168.0.1

PC:一張網卡eth0:192.168.0.10,gw:192.168.0.1

三、tc介紹

linux,tc有二種控制方法CBQHTBHTB是設計用來替換CBQHTBCBQ更加靈活,但是CPU 開銷也更大,通常高速的鏈路會使用CBQ,一般而言HTB使用的更加廣泛我們對tc中的 HTB的規則本質上是一個樹形結構,包括三個基本的構成塊:隊列規定qdisc(queueing discipline) ,(class)和分類器(Classifiers).

qdisc 隊列規則(queueing discipline):

    用來實現控制網絡的收發速度.通過隊列,linux可以將網絡數據包緩存起來,然后根據用戶的設置,在盡量不中斷連接(tcp)的前提下來平滑網絡流量.需要注意的是,linux 對接收隊列的控制不夠好,所以我們一般只用發送隊列,"控發不控收".它封裝了其他兩個主要 tc 組件(類和分類器).內核如果需要通過某個網絡接口發送數據包,它都需要按照為這個接口配置的 qdisc 隊列規則把數據包加入隊列.然后,內核會盡可能多地從 qdisc里面取出數據包,把它們交給網絡適配器驅動模塊.

最簡單的QDiscpfifo它不對進入的數據包做任何的處理,數據包采用先入先出的方式通過隊列.不過,它會保存網絡接口一時無法處理的數據包.常有的隊列規則包括 FIFO 先進先出,RED 隨機早期探測,SFQ隨機公平隊列和令牌桶 Token Bucket,類基隊列 CBQ,CBQ 是一種超級隊列,即它能夠包含其它隊列,甚至其它CBQ.

Class

class 用來表示控制策略.很顯然,很多時候,我們很可能要對不同的IP實行不同的流量控制策略,這時候我們就得用不同的class來表示不同的控制策略了.

Filter規則

    filter 用來將用戶劃入到具體的控制策略中(即不同的 class ).比如,現在,我們想對xxa,xxb兩個IP實行不同的控制策略(A,B),這時,我們可用 filter xxa 劃入到控制策略 A,xxb 劃入到控制策略 B,filter 劃分的標志位可用 u32 打標功能或 IPtables set-mark (大多使用iptables 來做標記)功能來實現.目前,tc可以使用的過濾器有:fwmark分類器,u32 分類器,基于路由的分類器和 RSVP 分類器(分別用于IPV6IPV4)等;其中,fwmark 分類器允許我們使用 Linux netfilter 代碼選擇流量,u32 分類器允許我們選擇基于 ANY 頭的流量 .需要注意的是,filter (過濾器)是在QDisc 內部,它們不能作為主體.

實施步驟

主要是建立隊列、分類、過濾器三步。

1 給物理設備建立一個隊列qdisc

2 在相關隊列上建立分類,一般是在該qdisc上建立一個根分類,然后在此根分類上建立子類。

3 為每一個分類建立基于路由的過濾器,并把過濾規則與特定的路由結合。一般只需要針對根分類提供一個過濾器,然后為每個子類提供路由映射。

四、實施

Server

sed -i 's#net.ipv4.ip_forward = 0#net.ipv4.ip_forward = 1#g' /etc/sysctl.conf

sysctl -p

nat命令如下:

iptables -F

iptables -t nat -F

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j SNAT --to 10.0.0.100

為流量控制做基于fw過濾器的標記

iptables -t mangle -I PREROUTING -o eth0 -s 192.168.0.0/24 -j MARK --set-mark 0x11

上傳速率做流量控制

tc 只能控制網卡發送包的速率,所以上傳速率的限制要在eth0上做

刪除舊有隊列

tc qdisc del dev eth0 root 2>/dev/null

加一個根隊列

tc qdisc add dev eth0 root handle 1:0 htb default 60

加一個根類

tc class add dev eth0 parent 1:0 classid 1:1 htb rate 100Mbit ceil 100Mbit prio 0

加一個子類用于內網速率限制為10Mbit

tc class add dev eth0 parent 1:1 classid 1:11 htb rate 10Mbit ceil 10Mbit prio 1 burst 96kbit

設置隊列規則  

tc qdisc add dev eth0 parent 1:11 handle 111:0 sfq perturb 10

將隊列和fw過濾器映射起來 其中hand 0x11 0x11是開始用iptables 做的標記

tc filter add dev eth0 parent 1:0 protocol ip prio 1 handle 0x11 fw classid 1:11                                                

做下載限制,過濾器是用u32 

tc qdisc del dev eth2 root 2>/dev/null
根隊列

tc qdisc add dev eth1 root handle 2:0 htb default 30
根類

tc class add dev eth1 parent 2:0 classid 2:1 htb rate 10Mbit ceil 10Mbit prio 0
子類
tc class add dev eth1 parent 2:1 classid 2:11 htb rate 1Mbit ceil 1Mbit prio 1

設置隊列規則

tc qdisc add dev eth1 parent 2:11 sfq perturb 10

tc filter add dev eth2 parent 2:0 protocol ip prio 2 u32 match ip dst 192.168.0.0/24 flowid 2:11

以下命令監視流量

tc -s qdisc ls dev eth0 
tc -s qdisc ls dev eth2 
tc -s class ls dev eth0 
tc -s class ls dev eth2 

參考:

http://lartc.org/howto/lartc.qdisc.classful.html

https://blog.csdn.net/eydwyz/article/details/53320612


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

西乡县| 财经| 林口县| 水富县| 吉林省| 仁化县| 贺州市| 上思县| 湛江市| 衢州市| 满城县| 富平县| 丰台区| 五华县| 磴口县| 元阳县| 铁岭市| 昌江| 仁寿县| 宣化县| 汨罗市| 尉犁县| 张家界市| 谢通门县| 灯塔市| 乐清市| 彭泽县| 南充市| 申扎县| 加查县| 荔浦县| 灵宝市| 黄梅县| 屏南县| 杨浦区| 徐水县| 琼结县| 蒙城县| 定日县| 铜鼓县| 蒲江县|