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

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


PCZONE 討論區



通知

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

Kree
回覆: 【教學】Coyote Linux 頻寬管制 (QoS) 設定教學
引用:
作者: littlesa
先感謝linux_xp ~這篇文章對我非常的實用~
雖然我不是用Coyote Linux~我是用RedHat 9.0~
所以要使用l7-filter協定過濾~就必須重新編輯Kernel核心~
在網路上找了很多方法~最後也成功了~ ~真happy
....
喔喔,真高興碰到內行人,瞭解 Linux QoS 的價值

其實這篇開頭就說了,Linux QoS 是一個原理,或者技術
適用於所有的 Linux distro 版本
不過很多人卻誤以為,這是只能在 Coyote 執行的東西,殊為可惜

查網路教學,拜咕狗大神,想必很累吧
我以前也是這樣作,後來學聰明了
網路上的知識,都是片段的,出自於免費分享,自然不可能要求太多
真正要有系統的學習,必須買書來看

推薦一本書,有心學 Linux 頻寬管理,一定要看
旗標出版社,施威銘研究室出的:iptables 技術實務

關於 l7-filter,與核心編譯的實做,這本書都有說明
甚至還有 iproute2 多重路由,也就是多 wan 的知識

引用:
不過我有幾個問題想問一下~
如果我的這台server裡面有裝samba~
我非常清楚的這個問題,因為我也碰到了
實做 QoS 後,會連 samba 傳輸也給限速了....冏rz

網路上(中文),或書籍,都沒有解答方法
不過在下苦思很久,終於靈光一現,想出一個辦法解決
提供給有需要的朋友參考

方法是:必須有三片網卡
其中一片是不管制流量的,稱之為:快速通道
(就是有特權的,不受流量管制)

當然,不會是只增加一片網卡這麼簡單
這其中牽涉到路由問題,必須使用到多重路由

由於過程很複雜,就不解說了
這篇底下,會附加一個閘道防火牆 script 檔
把變數填一填,即可使用

該 script 是參考書籍範例,自行修改的
我已經在自己機器使用很久了,保證沒問題

裡頭有詳細註解,若有興趣,歡迎一起討論
看這個 script 是否還有什麼需要改進的地方
或是有什麼新奇的點子,可加入什麼新功能之類的


引用:
如果我的rate 設為 0kbps ~他會出現以下的訊息~
"rate" is required.
RTNETLINK answers: Invalid argument
出現這樣是警告的訊息嗎~有成功嗎?
tc 指令若正常執行,不會出現任何訊息 (自己 echo 的例外)

有出現訊息的,一定是不正常,不會發生作用

這個地方的問題是
rate 不能設 0,最低只能設 1kbps
詳細原因我也不知道,可能是該程式的限制
或者語法上,最低保證頻寬或許是可以省略的,省略就代表0

上傳的附加檔案
檔案類型: zip gw-firewall-utf8.zip (8.3 KB, 111 次觀看)
回覆
Chester
回覆: 【教學】Coyote Linux 頻寬管制 (QoS) 設定教學
先再次感謝linux_xp~
這個script 真的寫的太詳細了~
晚點再好好的瞭解一下~
其實我對linux瞭解算是東湊西湊~
要不是linux_xp寫的這麼清楚~說真的~
會很想放棄頻寬的管理~
還好你知道我所問的問題~我還怕你們會看不懂~
呵呵~網路就是有這個個好處~
我所遇到的問題~別人一定也會遇到的~
不過就像你說的一樣~
找得很累~而且學到的都是片段~
iptables 技術實務這本書我會去買來研究的~
我們公司現在要買幾十萬的check point~
你分享的知識~就值十幾萬~甚至幾百萬都有~
真的太感謝了~有任何問題~我會在請教你~
謝謝~

此篇文章於 2006-07-17 09:57 AM 被 littlesa 編輯。.
回覆
Chester
回覆: 【教學】Coyote Linux 頻寬管制 (QoS) 設定教學
linux_xp~你好~我想問一下~三張網路卡要怎麼接呢~是其中兩張網卡(對內)~接到同一個hub上嗎?我看你給的script 檔ip~應該是這樣沒錯~

還有一個問題是
有一條類別定義如下:
tc class add dev eth1 parent 10:1 classid 10:10 htb rate 2kbps ceil 4kbps prio 2
有封包貼標籤為10
iptables -t mangle -A PREROUTING -s 192.168.1.6 -m layer7 --l7proto skype -j MARK --set-mark 10
iptables -t mangle -A PREROUTING -s 192.168.1.6 -m layer7 --l7proto msn -j MARK --set-mark 10
那skype 和msn 所用的rate保證頻寬是各自有2kbps~
還是說總共只有2kbps呢~
回覆
Kree
回覆: 【教學】Coyote Linux 頻寬管制 (QoS) 設定教學
引用:
作者: littlesa
linux_xp~你好~我想問一下~三張網路卡要怎麼接呢~是其中兩張網卡(對內)~接到同一個hub上嗎?我看你給的script 檔ip~應該是這樣沒錯~

還有一個問題是
有一條類別定義如下:
tc class add dev eth1 parent 10:1 classid 10:10 htb rate 2kbps ceil 4kbps prio 2
有封包貼標籤為10
iptables -t mangle -A PREROUTING -s 192.168.1.6 -m layer7 --l7proto skype -j MARK --set-mark 10
iptables -t mangle -A PREROUTING -s 192.168.1.6 -m layer7 --l7proto msn -j MARK --set-mark 10
那skype 和msn 所用的rate保證頻寬是各自有2kbps~
還是說總共只有2kbps呢~

1 對外,2 對內
對內的兩條線,可接同一台 HUB 或 Switch

忘記說,
smb.conf 要指定使用 eth2
也就是快速通道那張網卡介面,才會有效果


總共 2KB

QoS 的限速是看 class 類別的
iptables 規則貼標籤,用途只是提供 filter 過濾器去抓取

舉個例子:
-----------------------------
高速公路,ETC 通道,限速 40 公里,這叫做 ETC 類別

而有安裝 ETC 的車子 (被貼上標籤),強迫走 ETC 通道,這是規則條件
車子有很多廠牌,有 skype 牌的,msn 牌的
不過 ETC 通道只有一條,就是限速 40 公里
不管車子是什麼牌,凡符合條件就必須走這一條通道,共享頻寬

過濾器的用途,可看作是收費站那個檢查車子有沒有 ETC 的裝置

(其實這是個爛例子 ,因為裝 ETC 高興不走 ETC 通道也行,不過看得懂就好了,實際上封包若被貼了標籤,100% 會被 過濾器抓取,沒有例外)
回覆
Chester
回覆: 【教學】Coyote Linux 頻寬管制 (QoS) 設定教學
linux_xp你好~
我剛剛試了你給的script~
修改完後~卻沒辦法上網~
但那台server是可以連到外面去~
內部的電腦都無法連出去~
不過samba 卻可以用~
我把script檔傳上來~
可以幫我看一下嗎?
不過我想應該是沒有設錯~
可能還有其他設定要改吧~
"eth0" 192.168.1.5 對外那張網路卡的ip~
因為我還有接一台ip 分享器~(IP是192.168.1.1)
才在接這台server的~
"eth1" 192.168.2.254 對內
"eth2" 192.168.2.253 內部區網快速通道
上傳的附加檔案
檔案類型: txt gw-firewall.txt (28.0 KB, 30 次觀看)
回覆
Chester
回覆: 【教學】Coyote Linux 頻寬管制 (QoS) 設定教學
唉~我昨天試到晚上兩點~不行了~還是要去睡~
我發現~如果我把第三個網路卡關起來~不去啟動它~
我的網路就會很正常~可以上網~如果我把第三網路卡加入~
設定好ip~結果就無法上網了~
所以錯誤點應該在第三個網路卡的設定~
我網路卡設定如下
ip 分享器 :192.168.1.1

eth0
IP :192.168.1.5
址網路遮罩:255.255.255.0
預設閘道 :192.168.1.1

eth1
IP :192.168.2.254
址網路遮罩:255.255.255.0
預設閘道 :192.168.1.1

eth2
IP :192.168.2.253
址網路遮罩:255.255.255.0
預設閘道 :

麻煩你了~
對了~我剛剛想到~
你說加上第三張網路卡會牽涉到路由問題
也就是多重路路由的設定~
那表示兩張對內的網卡~
應該要設在不同網域是吧~
如果是這樣~那就太對不起你了~
沒有注意你說的~

此篇文章於 2006-07-18 09:14 AM 被 littlesa 編輯。.
回覆
Kree
回覆: 【教學】Coyote Linux 頻寬管制 (QoS) 設定教學
引用:
作者: littlesa
linux_xp你好~
我剛剛試了你給的script~
修改完後~卻沒辦法上網~
但那台server是可以連到外面去~
內部的電腦都無法連出去~
不過samba 卻可以用~
我把script檔傳上來~
可以幫我看一下嗎?
不過我想應該是沒有設錯~
可能還有其他設定要改吧~
"eth0" 192.168.1.5 對外那張網路卡的ip~
因為我還有接一台ip 分享器~(IP是192.168.1.1)
才在接這台server的~
"eth1" 192.168.2.254 對內
"eth2" 192.168.2.253 內部區網快速通道
基本上設定並沒有錯誤,但網路環境配置錯誤

那支閘道防火牆 script,預設啟動 NAT
可以取代 IP 分享器,甚至取代頻寬管理器、防火牆設備

或者說,前端不能再接 IP 分享器
那台主機本身就必須擔任 IP 分享器的地位
對外網卡,必須為固定真實 IP (Public IP)

如果 server 是單純的 web、ftp、samba、mail ...之類
並不擔任閘道防火牆主機功能
應使用另一支單機防火牆 script
且只要一片網卡即可

註:對內區網限速的 QoS 配置,只能在閘道端生效


當然這樣會有一個疑慮
主機直接對外,會不會被攻擊,或資料被偷
因此那支閘道防火牆 script,有特別強調,它是 「防火牆」script

理論上,對外不開 port,尤其是 port 22 (SSH)
可以防止被 WAN 端登入操作

對外只開啟必要的 port
例如:
tcp 80 (web 服務)
tcp 443 (https)
tcp 25 (mail)
tcp 110 (pop3)
udp 53 (dns)

那麼除非該服務本身就有漏洞
例如:apache 有漏洞,或 PHP/JSP 程式寫的有 bug
才有可能被入侵

假如是這樣的話,那其實主機放前面,放後面,結果都是一樣的

即使 web 主機是放 IP分享器 或 硬體防火牆 後面
表面上好像受到保護
但事實上 IP 分享器當然也要設轉 port 或 DMZ
web 主機才能對外服務
那麼相對來講,該 web 主機不也是直接曝露在外
該 service 若有漏洞的話,還不是照樣被攻擊入侵
所以這可以說是多此一舉的

反而如果 IP 分享器不夠力,效能不好
還會影響到上網的速度,網速都給低階的 IP分享器拖垮了

但多數的資料,或書籍,都會說放 IP 分享器後面,能夠受到保護
理由是這樣子內部電腦就沒有 public IP,只有虛擬 IP (Private IP)
而 Internet 上,虛擬 IP 是無法直接連接的

這種說法,基本上並沒有錯
只不過這是針對不開 port 轉換或 DMZ 的情況下來講
如果開了 port 轉換 或 DMZ,不管主機放哪,都是直接對外
而一台 server 如果對外不開 port,又要如何對外服務呢
所以結論是,這句話只適用於單純的 client 端電腦
如果是擔任 server 服務的電腦,則不適用

養成定時更新 (update) 的習慣,才是防止服務漏洞被攻擊的不二法門
例如:yum -y update
會自動更新所有套件 (distro 必須支援 yum 更新系統)
將這個指令,寫入 crontab 排程,每日或每週自動執行
則可以避免忘記,或者不用手動,而達到全自動更新
回覆
Chester
回覆: 【教學】Coyote Linux 頻寬管制 (QoS) 設定教學
嗯嗯~先謝謝你的回答~我會在了解一下這隻script~
其實我也很想把我前端的ip分享器拿走~
不過因為我是剛剛接觸linux的防火牆~
對它的設定還不是很了解~
所以還不放心把它放在跟外部連線~
(很久以前~我就是把它放在跟外部連線~結果被人竄改密碼~唉~不過那時才剛碰linux啦~什麼東不懂~連防火牆都沒架~所以被侵入是一定的)
等我了解完這隻script~對防火牆的設定了解後~我會將它放在最前面的~
我沒有申請固定的ip所以我用的是浮動的~不過我有去申請ddns~
我想不管是浮動ip或是前面有接ip分享器~這應該不是最大的問題~
這隻script應該還是有辦法改成我要的~我會試著改改看~到時我會分享我改的script~畢竟初學者在架linux~還是先架在IP分享器後~要不然會跟我一樣~一開始就被侵入~到時就有人會說~Linux怎麼這麼容易被侵入壓~哈~
回覆
Chester
回覆: 【教學】Coyote Linux 頻寬管制 (QoS) 設定教學
linux_xp
你好~
我現在把eth2 設在不同網段~
不過跟eth1接在同一個hub上~
現在是可以上網了~
我想請問一下~
smb.conf 要指定使用 eth2
是要在smb.conf上設定嗎??
我找了很久~好像沒有這樣的設定~
還是有其他的設定方法壓??
回覆
Kree
回覆: 【教學】Coyote Linux 頻寬管制 (QoS) 設定教學
引用:
作者: littlesa
linux_xp
你好~
我現在把eth2 設在不同網段~
不過跟eth1接在同一個hub上~
現在是可以上網了~
我想請問一下~
smb.conf 要指定使用 eth2
是要在smb.conf上設定嗎??
我找了很久~好像沒有這樣的設定~
還是有其他的設定方法壓??
假設
eth0 對外網卡
eth1 對內網卡,有 NAT 、QoS 的
eth2 對內網卡,快速通道

估計可能是預設閘道設錯,才導致無法上網
eth1 是內部電腦的預設閘道 default Gateway

eth2 同一網段即可,IP 任意,沒衝到即可
這是它最主要的用處
如果要分網段,其實插張網卡就行了,不需要多重路由
但是這樣內部 Client 端電腦,都要插雙網卡,或者虛擬一塊網卡
麻煩之程度,就不用說了吧.....

「內部區網快速通道」不受 QoS 管制
用來解決 smb 被限速的問題

只適用於像 smb 這類,可以自行調整要走哪一條介面的 service

vi /etc/samba/smb.conf
----------------------------------------
# Configure Samba to use multiple interfaces
# If you have multiple network interfaces then you must list them
# here. See the man page for details.

interfaces = eth2
-------------------------------------------

/etc/rc.d/init.d/smb restart


ssh 也可以調要走哪一條介面

vi /etc/ssh/sshd_config
-------------------------------------------
ListenAddress 0.0.0.0 # (指定監聽 eth2 的 IP)

# 監聽介面可以設多組,假如要允許 外部 to 內部 ssh
# 可以多設一組
-------------------------------------------

諸如此類,有很多 service 都可以自定監聽介面
如果不想讓閘道主機的某 service 被 QoS 限速
指定到快速通道,方可解決被限速的問題



PS.
當插很多片同樣晶片的網卡時
有時候會很難搞清楚,那片到底是 eth 多少
網路線就有可能插錯格,對外孔,插到對內線...之類的

建議要把網卡的 MAC 位址,都記下來
能貼個標籤或貼紙,在網卡孔旁邊,方便辨識,這樣更好
有些網卡買的時候,會附送 MAC 貼紙,作用就是在這個地方

指令:ifconfig
可以查網卡的:介面編號,IP,MAC 位址
對照一下紀錄的 網卡 MAC,可以確認該網卡是何介面,避免插錯


回覆


類似的主題
主題 主題作者 討論版 回覆 最後發表
【教學】進入 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] 處理。