【教學】Coyote Linux 頻寬管制 (QoS) 設定教學 - 第4頁 - PCZONE 討論區

返回   PCZONE 討論區 > ▲ ADSL_CABLE_FTTH 寬 頻 上 網 討 論 > -- 網 路 技 術 版


PCZONE 討論區



通知

-- 網 路 技 術 版 較深入的網路方面技術問題,請來此這版討論

會員

這又讓我再多了解了
謝謝

==========================================
至於 Internet Interface (int-if) 和 Internet (int-net) 選項的差別

如上圖所示,從 source (來源)端,我們可以看出:

Internet Interface (int-if),實際結果是 anywhere,和 any 選項是一樣的

Internet (int-if),則是指 ISP 的閘道端 <====這邊是不是好像打錯了??

回覆
無線新手

小弟 在coyote2.24版設定QoS 的機制遇到一個問題
如果coyote 是以PPP0的方式撥接上網
接下來的QOS機制 就完全不按規則來
上傳部分 : 好像被全部都被歸到 default 類別
下載部分 : 都正常

但如果再coyote前加一台IP分享器 讓coyote以DHCP取得IP
QOS的機制就完全正常(上下傳都正常)
eht1---> 對外網卡
eth0--->對內網卡

快被搞瘋囉 誰來幫幫我吧

#!/bin/sh
#
# Coyote local command init script

# 清除 eth1 所有佇列規則
tc qdisc del dev eth1 root 2>/dev/null

# 定義最頂層(根)佇列規則,並指定 default 類別編號
tc qdisc add dev eth1 root handle 10: htb default 120

# 定義第一層的 10:1 類別 (總頻寬)
tc class add dev eth1 parent 10: classid 10:1 htb rate 64kbps ceil 64kbps

# 定義第二層葉類別
# rate 保證頻寬,ceil 最大頻寬,prio 優先權
tc class add dev eth1 parent 10:1 classid 10:10 htb rate 2kbps ceil 33kbps prio 0
tc class add dev eth1 parent 10:1 classid 10:20 htb rate 2kbps ceil 33kbps prio 0
tc class add dev eth1 parent 10:1 classid 10:30 htb rate 2kbps ceil 33kbps prio 0
tc class add dev eth1 parent 10:1 classid 10:40 htb rate 2kbps ceil 25kbps prio 0
tc class add dev eth1 parent 10:1 classid 10:50 htb rate 2kbps ceil 25kbps prio 1
tc class add dev eth1 parent 10:1 classid 10:60 htb rate 2kbps ceil 25kbps prio 1
tc class add dev eth1 parent 10:1 classid 10:70 htb rate 2kbps ceil 17kbps prio 1
tc class add dev eth1 parent 10:1 classid 10:80 htb rate 2kbps ceil 17kbps prio 1
tc class add dev eth1 parent 10:1 classid 10:90 htb rate 2kbps ceil 17kbps prio 2
tc class add dev eth1 parent 10:1 classid 10:100 htb rate 2kbps ceil 17kbps prio 2
tc class add dev eth1 parent 10:1 classid 10:110 htb rate 2kbps ceil 17kbps prio 2
tc class add dev eth1 parent 10:1 classid 10:120 htb rate 4kbps ceil 25kbps prio 2

# 定義各葉類別的佇列規則
# parent 類別編號,handle 葉類別佇列規則編號
# 由於採用 fw 過濾器,所以此處使用 pfifo 的佇列規則即可
tc qdisc add dev eth1 parent 10:10 handle 101: pfifo
tc qdisc add dev eth1 parent 10:20 handle 102: pfifo
tc qdisc add dev eth1 parent 10:30 handle 103: pfifo
tc qdisc add dev eth1 parent 10:40 handle 104: pfifo
tc qdisc add dev eth1 parent 10:50 handle 105: pfifo
tc qdisc add dev eth1 parent 10:60 handle 106: pfifo
tc qdisc add dev eth1 parent 10:70 handle 107: pfifo
tc qdisc add dev eth1 parent 10:80 handle 108: pfifo
tc qdisc add dev eth1 parent 10:90 handle 109: pfifo
tc qdisc add dev eth1 parent 10:100 handle 100: pfifo
tc qdisc add dev eth1 parent 10:110 handle 110: pfifo
tc qdisc add dev eht1 parent 10:120 handle 112: pfifo

# 設定過濾器
# 指定貼有 10 標籤 (handle) 的封包,歸類到 10:10 類別,以此類推
tc filter add dev eth1 parent 10: protocol ip prio 100 handle 10 fw classid 10:10
tc filter add dev eth1 parent 10: protocol ip prio 100 handle 20 fw classid 10:20
tc filter add dev eth1 parent 10: protocol ip prio 100 handle 30 fw classid 10:30
tc filter add dev eth1 parent 10: protocol ip prio 100 handle 40 fw classid 10:40
tc filter add dev eth1 parent 10: protocol ip prio 100 handle 50 fw classid 10:50
tc filter add dev eth1 parent 10: protocol ip prio 100 handle 60 fw classid 10:60
tc filter add dev eth1 parent 10: protocol ip prio 100 handle 70 fw classid 10:70
tc filter add dev eth1 parent 10: protocol ip prio 100 handle 80 fw classid 10:80
tc filter add dev eth1 parent 10: protocol ip prio 100 handle 90 fw classid 10:90
tc filter add dev eth1 parent 10: protocol ip prio 100 handle 100 fw classid 10:100
tc filter add dev eth1 parent 10: protocol ip prio 100 handle 110 fw classid 10:110
tc filter add dev eth1 parent 10: protocol ip prio 100 handle 120 fw classid 10:120


# QoS eth0 下載方面
#

# 清除 eth0所有佇列規則
tc qdisc del dev eth0 root 2>/dev/null

# 定義最頂層(根)佇列規則,並指定 default 類別編號
tc qdisc add dev eth0 root handle 10: htb default 120

# 定義第一層的 10:1 類別 (總頻寬)
tc class add dev eth0 parent 10: classid 10:1 htb rate 800kbps ceil 800kbps

# 定義第二層葉類別
# rate 保證頻寬,ceil 最大頻寬,prio 優先權
tc class add dev eth0 parent 10:1 classid 10:10 htb rate 12kbps ceil 300kbps prio 1
tc class add dev eth0 parent 10:1 classid 10:20 htb rate 12kbps ceil 300kbps prio 1
tc class add dev eth0 parent 10:1 classid 10:30 htb rate 12kbps ceil 300kbps prio 1
tc class add dev eth0 parent 10:1 classid 10:40 htb rate 12kbps ceil 500kbps prio 0
tc class add dev eth0 parent 10:1 classid 10:50 htb rate 12kbps ceil 250kbps prio 1
tc class add dev eth0 parent 10:1 classid 10:60 htb rate 12kbps ceil 250kbps prio 1
tc class add dev eth0 parent 10:1 classid 10:70 htb rate 12kbps ceil 250kbps prio 1
tc class add dev eth0 parent 10:1 classid 10:80 htb rate 12kbps ceil 250kbps prio 1
tc class add dev eth0 parent 10:1 classid 10:90 htb rate 12kbps ceil 250kbps prio 2
tc class add dev eth0 parent 10:1 classid 10:100 htb rate 12kbps ceil 250kbps prio 2
tc class add dev eth0 parent 10:1 classid 10:110 htb rate 12kbps ceil 250kbps prio 2
tc class add dev eth0 parent 10:1 classid 10:120 htb rate 12kbps ceil 200kbps prio 2

# 定義各葉類別的佇列規則
# parent 類別編號,handle 葉類別佇列規則編號
tc qdisc add dev eth0 parent 10:10 handle 101: pfifo
tc qdisc add dev eth0 parent 10:20 handle 102: pfifo
tc qdisc add dev eth0 parent 10:30 handle 103: pfifo
tc qdisc add dev eth0 parent 10:40 handle 104: pfifo
tc qdisc add dev eth0 parent 10:50 handle 105: pfifo
tc qdisc add dev eth0 parent 10:60 handle 106: pfifo
tc qdisc add dev eth0 parent 10:70 handle 107: pfifo
tc qdisc add dev eth0 parent 10:80 handle 108: pfifo
tc qdisc add dev eth0 parent 10:90 handle 109: pfifo
tc qdisc add dev eth0 parent 10:100 handle 110: pfifo
tc qdisc add dev eth0 parent 10:110 handle 111: pfifo
tc qdisc add dev eth0 parent 10:120 handle 112: pfifo

# 設定過濾器
tc filter add dev eth0 parent 10: protocol ip prio 100 handle 10 fw classid 10:10
tc filter add dev eth0 parent 10: protocol ip prio 100 handle 20 fw classid 10:20
tc filter add dev eth0 parent 10: protocol ip prio 100 handle 30 fw classid 10:30
tc filter add dev eth0 parent 10: protocol ip prio 100 handle 40 fw classid 10:40
tc filter add dev eth0 parent 10: protocol ip prio 100 handle 50 fw classid 10:50
tc filter add dev eth0 parent 10: protocol ip prio 100 handle 60 fw classid 10:60
tc filter add dev eth0 parent 10: protocol ip prio 100 handle 70 fw classid 10:70
tc filter add dev eth0 parent 10: protocol ip prio 100 handle 80 fw classid 10:80
tc filter add dev eth0 parent 10: protocol ip prio 100 handle 90 fw classid 10:90
tc filter add dev eth0 parent 10: protocol ip prio 100 handle 100 fw classid 10:100
tc filter add dev eth0 parent 10: protocol ip prio 100 handle 110 fw classid 10:110
tc filter add dev eth0 parent 10: protocol ip prio 100 handle 120 fw classid 10:120


# uploads
# 設定上傳方面,先利用 iptables 給封包貼標籤,再交由 fw 過濾器進行過濾

iptables -t mangle -A PREROUTING -s 192.168.0.100 -j MARK --set-mark 10
iptables -t mangle -A PREROUTING -s 192.168.0.101 -j MARK --set-mark 20
iptables -t mangle -A PREROUTING -s 192.168.0.102 -j MARK --set-mark 30
iptables -t mangle -A PREROUTING -s 192.168.0.103 -j MARK --set-mark 40
iptables -t mangle -A PREROUTING -s 192.168.0.104 -j MARK --set-mark 50
iptables -t mangle -A PREROUTING -s 192.168.0.105 -j MARK --set-mark 60
iptables -t mangle -A PREROUTING -s 192.168.0.106 -j MARK --set-mark 70
iptables -t mangle -A PREROUTING -s 192.168.0.107 -j MARK --set-mark 80
iptables -t mangle -A PREROUTING -s 192.168.0.108 -j MARK --set-mark 90
iptables -t mangle -A PREROUTING -s 192.168.0.109 -j MARK --set-mark 100
iptables -t mangle -A PREROUTING -s 192.168.0.110 -j MARK --set-mark 110
# downloads
# 下載方面

iptables -t mangle -A POSTROUTING -d 192.168.0.100 -j MARK --set-mark 10
iptables -t mangle -A POSTROUTING -d 192.168.0.101 -j MARK --set-mark 20
iptables -t mangle -A POSTROUTING -d 192.168.0.102 -j MARK --set-mark 30
iptables -t mangle -A POSTROUTING -d 192.168.0.103 -j MARK --set-mark 40
iptables -t mangle -A POSTROUTING -d 192.168.0.104 -j MARK --set-mark 50
iptables -t mangle -A POSTROUTING -d 192.168.0.105 -j MARK --set-mark 60
iptables -t mangle -A POSTROUTING -d 192.168.0.106 -j MARK --set-mark 70
iptables -t mangle -A POSTROUTING -d 192.168.0.107 -j MARK --set-mark 80
iptables -t mangle -A POSTROUTING -d 192.168.0.108 -j MARK --set-mark 90
iptables -t mangle -A POSTROUTING -d 192.168.0.109 -j MARK --set-mark 100
iptables -t mangle -A POSTROUTING -d 192.168.0.110 -j MARK --set-mark 110
回覆
Kree
回覆: 【教學】Coyote Linux 頻寬管制 (QoS) 設定教學
引用:
如果coyote 是以PPP0的方式撥接上網
接下來的QOS機制 就完全不按規則來
上傳部分 : 好像被全部都被歸到 default 類別
下載部分 : 都正常

但如果再coyote前加一台IP分享器 讓coyote以DHCP取得IP
QOS的機制就完全正常(上下傳都正常)
eht1---> 對外網卡
eth0--->對內網卡

快被搞瘋囉 誰來幫幫我吧

上傳管制的部份,把網卡介面改成 「ppp0」試試看

本來:eth1
改成:ppp0
回覆
無線新手
回覆: 【教學】Coyote Linux 頻寬管制 (QoS) 設定教學
引用:
作者: linux_xp
上傳管制的部份,把網卡介面改成 「ppp0」試試看

本來:eth1
改成:ppp0
tc qdisc del dev eth1 root 2>/dev/null
^^^
把eth1 換成ppp0 對嗎(全部的eth1都換成ppp0)

今天早上試了一下 還是不行
需要把防火牆規則加入 - i ppp0 or -i eth1
iptables -t mangle -A PREROUTING ( - i ppp0 or -i eth1 )-s 192.168.1.100 -j MARK --set-mark 100


補充一下: 已經換為BrazilFW 2.26 可是以上的情形依然存在

此篇文章於 2006-03-06 08:17 PM 被 harvey9368 編輯。.
回覆
會員
回覆: 【教學】Coyote Linux 頻寬管制 (QoS) 設定教學
請問 固三IP ADSL 後方 接線應該如何接呢?

目前 是 ADSL --> HUB --> 各個IP ,有 WEB / MAIL / FTP 各一台PC

由於 網路頻寬是3個IP 共用的

coyote 的主機 應該 裝在哪一個環結呢?
回覆
無線新手
回覆: 【教學】Coyote Linux 頻寬管制 (QoS) 設定教學
今天試了一下 BrazilFW 本身的QOS 手動設定配置檔
上下傳可以依照 所設定的流量 來管制 , 但是好像只有一個parent類別 設定起來 總覺得不是很順心,沒有辦法依照自己的意思來設定 綁手綁腳的 ,
有人知道要如何再QOS手動配置裡新增一個parent類別 嗎
回覆
無線新手
回覆: 【教學】Coyote Linux 頻寬管制 (QoS) 設定教學
引用:
作者: cappella
請問 固三IP ADSL 後方 接線應該如何接呢?

目前 是 ADSL --> HUB --> 各個IP ,有 WEB / MAIL / FTP 各一台PC

由於 網路頻寬是3個IP 共用的

coyote 的主機 應該 裝在哪一個環結呢?

就小弟所知道的範圍 coyote主機 應該是要裝在ADSL 之後

ADSL--->coyote--->HUB--->各台主機

可是coyote好像只能用一個public IP 在coyote後方的主機 只能用private IP

再以port 來對應相關的服務

以上愚見 如有錯誤請大家指正
回覆
Kree
回覆: 【教學】Coyote Linux 頻寬管制 (QoS) 設定教學
引用:
作者: harvey9368
tc qdisc del dev eth1 root 2>/dev/null
^^^
把eth1 換成ppp0 對嗎(全部的eth1都換成ppp0)

今天早上試了一下 還是不行
需要把防火牆規則加入 - i ppp0 o...
假設:
對外界面:ppp0
對內介面:eth0

上傳的走向: -i eth0 -o ppp0
可簡寫為:-o ppp0

下傳的走向:-i ppp0 -o eth0
可簡寫為:-o eth0


ppp0 比較麻煩的地方,在於它並不是一開機即存在
PPPoE 撥接成功後,才會出現 ppp0 這個介面
而這撥接動作,需要花費數秒的時間,等待 ISP 回應

如果將 iptables 的規則,寫在 /etc/rc.local 中
/etc/rc.local 是類似 windows autoexec.bat 的東西
為開機程序最後的時候,會執行一次的 script

那麼就會有一個問題,如果 /etc/rc.local 執行前
ppp0 這個介面,都還未產生 (還未撥接上)
iptables 下了針對 ppp0 的規則,肯定會出錯
因為此時 ppp0 介面根本不存在

這種情況下,必須改造一下 script 的寫法
shell script 其實是一種程式語言
加入「do 迴圈」和「if 判斷式」
先檢查 ppp0 這個介面是否存在?
如不存在,則 sleep 2秒,繼續迴圈
如存在,則跳出迴圈,繼續下面的設定
這部份在那本書籍中,有範例


另一個除錯的方法是:
開機等個幾秒或一分鐘,確定 ppp0 已經存在後 (已經撥接成功)
開啟終端機,ssh 登入,或是直接主機操作
以 root 權限,執行 /etc/rc.local 那個檔
檢查是否有錯誤訊息

語法正確的話,不會顯示東西
語法錯誤,程式會提示第幾行錯誤

chmod +x /etc/rc.local
/etc/rc.local
回覆
Kree
回覆: 【教學】Coyote Linux 頻寬管制 (QoS) 設定教學
引用:
作者: cappella
請問 固三IP ADSL 後方 接線應該如何接呢?

目前 是 ADSL --> HUB --> 各個IP ,有 WEB / MAIL / FTP 各一台PC

由於 網路頻寬是3個IP 共用的

coyote 的主機 應該 裝在哪一個環結呢?
要用 BrazilFW 2.26版

2.26版,支援 DMZ,需三片網卡

第一片網卡:對內 NAT
第二片網卡:對外
第三片網卡:DMZ 專用

主機板如有內建網卡,插兩片即可,共三個實體網卡

ATU-R → (對外孔) BrazilFW 2.26 (DMZ 孔) → 交換器 → WEB / MAIL / FTP

設定方面:
1. 把 NAT 功能關閉
2. 於 DMZ 設定頁,設定相關資料
3. 設定防火牆,或 QoS
回覆
無線新手
回覆: 【教學】Coyote Linux 頻寬管制 (QoS) 設定教學
引用:
作者: linux_xp
假設:
對外界面:ppp0
對內介面:eth0

上傳的走向: -i eth0 -o ppp0
可簡寫為:-o ppp0

下傳的走向:-i ppp0 -o eth0
可簡寫為:-o eth0


ppp0 比較麻煩的地方,在於它並不是一開機即存在
PPPoE 撥接成功後,才...
謝謝您的回答
今天試了一下
直接執行/etc/rc.d/rc.local 這個檔

如果對外的網卡設為"eth1" 則會顯示 找不到 eth1 這個裝置

如設為ppp0 則什麼都沒顯示

接下來把裝置都改成ppp0 發現一些好玩的事情

如果用 yahoo,hinet 的webmail 來寄信 觀察流量 DUmeter 的流量會在 3-30kB 上上下下亂跑 可是不會超過 我所設的最大頻寬 (30KB)
用FTP 到hinet 測試上傳 DUmeter的流量 就會很穩定的在30KB左右徘迴
這是什麼問題阿??

回覆


類似的主題
主題 主題作者 討論版 回覆 最後發表
【教學】進入 AR4031B 設定教學 (2張圖解一次明瞭) ㄚ偉 ---- ADSL 軟 硬 體 技 術 36 2009-01-28 10:51 AM
登峰造極Kaspersky IntelnetSecurity 7 設定教學 ㄚ一 -- 防 駭 / 防 毒 版 7 2007-09-14 12:19 AM
【教學】Coyote/IPCOP 教學文件 threesecond -- 網 路 硬 體 版 6 2007-01-01 09:47 AM
【教學】Coyote/IPCOP 教學文件 threesecond -- 網 路 硬 體 版 0 2006-01-05 05:52 PM
【推薦】講 Linux QoS 的第一本繁體中文書 linux_xp ---- PCZONE 讀 書 會 3 2005-06-06 10:00 AM






 XML   RSS 2.0   RSS 
本站使用 vBulletin 合法版權程式
站務信箱 : [email protected]

本論壇所有文章僅代表留言者個人意見,並不代表本站之立場,討論區以「即時留言」方式運作,故無法完全監察所有即時留言,若您發現文章可能有異議,請 email :[email protected] 處理。