找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 16803|回复: 30

太美老大以及众位高人有空来一下:)

[复制链接]
发表于 2006-8-3 20:01:32 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

×
我用了你的COYOTE防尖兵版 感觉很好 就是不知道具体的几项设置

1: 我COYOTE服务器用 2块网卡 一块集成INTEL559 另一块530TX
它的WAN默认是 530 LAN 为559  路由后面只有10台机器 我想把559作为WAN口网卡530接LAN 具体在路由里面怎么设置? 我很菜 看不懂命名行
2:关于限制每个IP的连接数具体怎么设置呢?
3:我想禁用网内P2P在路由里面 QoS Layer7 设置里 我没搞明白 能不能讲一下

个人感觉土狼还是听好用的
那位老大有空写一个详细的教程来普渡众生阿
routeros
 楼主| 发表于 2006-8-3 20:27:27 | 显示全部楼层
2块网卡的交换是不是下面的:

我在主配置文件里面发现一条

IF_LOCAL='eth0'
IF_INET='eth1'

是不是换一下改为

IF_LOCAL='eth1'
IF_INET='eth0'

然后OK-》保存-》重起就好了?
routeros
回复

使用道具 举报

发表于 2006-8-7 10:05:00 | 显示全部楼层
用559作内网接入不是挺好的吗,559的负载能力强很多!干吗要换?
限制并发连结数要用BFW2.28,它有一个插件conlimit.tgz可以实现,QoS Layer7 中只能限速,不能完全禁止,要完全禁止要用命令行方式。
routeros
回复

使用道具 举报

 楼主| 发表于 2006-8-7 22:44:51 | 显示全部楼层
原帖由 hzl88688 于 2006-8-7 10:05 发表
用559作内网接入不是挺好的吗,559的负载能力强很多!干吗要换?
限制并发连结数要用BFW2.28,它有一个插件conlimit.tgz可以实现,QoS Layer7 中只能限速,不能完全禁止,要完全禁止要用命令行方式。


谢谢老大
BFW2.28 是什么DD?我才学习路由知识
我用的是从你那里下载的太美老大的放尖兵的ISO那个2。4。31的Coyote


这个 conlimit.tgz 那个地方有的下载?

它直接放在Coyote下就可以用?

[ 本帖最后由 dgclan 于 2006-8-7 22:49 编辑 ]
routeros
回复

使用道具 举报

发表于 2006-8-7 23:08:13 | 显示全部楼层
原帖由 dgclan 于 2006-8-7 22:44 发表


谢谢老大
BFW2.28 是什么DD?我才学习路由知识
我用的是从你那里下载的太美老大的放尖兵的ISO那个2。4。31的Coyote


这个 conlimit.tgz 那个地方有的下载?

它直接放在Coyote下就可以用?

你留个EMAIL,我发一个BFW2.28 的ISO给你,其中已经包含了防尖兵补丁和conlimit.tgz,安装方法同原来的一样。
routeros
回复

使用道具 举报

 楼主| 发表于 2006-8-7 23:30:40 | 显示全部楼层
xufangqing@sina.com

老大把你QQ PM我把

这个是SM 咚咚


MiniFirewall 3.0 无色版 下载

推荐学校和家庭网络使用.
支持RTL8139/INTEL PRO100 /3COM 59X /530TX 网卡.
默认为稳定的防火墙,只需简单配置网络即可作为一个高效的路由器,内核的TCP参数修改后上网更快速,方便使用过滤功能.

增加的功能:
1)过滤WEB页面的色情内容,如成 人 电 影/文 章 小 说/论 坛等.
2)限制很多脚本类的未知网页木马.
3)超强的BT限制能力.限制多种P2P软件的使用.

如果过滤一台计算机呢?
      iptables -t nat -A PREROUTING -s 192.168.0.5 -p tcp -j REDIRECT --to 8080
    表示对192.168.0.5机器使用过滤功能,建议限制IP数不要超过20,防止速度很......,内存溢出.该规则可以写到自定义防火墙中自动启动.

      我自己的网络300人上网,只限制10多个喜欢BT下载/看灰色文章的几个IP地址.适合学校和家庭.AIJUN根据学校的使用情况写教程.

  免费下载,希望能得到您的测试效果.
下载地址:         http://219.223.96.9/

支持病毒过滤的大型企业版本在测试中.


wuhuasan 2006-06-22 13:26
包含中文主机名识别的DHCP,优化了DNS服务,过滤关键词由24K变为3K,但是过滤效果没有明显降低,速度更快。

包含有最新的教程,可以参考。希望能将测试结果返回。
如果需要被更新过LINUX的TCP参数的内核可以下载我使用过的
http://219.223.96.9/minifw3.0-1.rar
此版本和我主页上的版本主要区别在于采用了最新的过滤引擎,并且内核参数作了优化,如对TCP的TIMEOUT设置对快速网络非常有利。
安装使用方法上则完全没有任何区别。
routeros
回复

使用道具 举报

 楼主| 发表于 2006-8-8 00:05:05 | 显示全部楼层
从TW找了个指南
转自:
PCZONE 2005.4.2  (图片大部分失效 )



                               
登录/注册后可看大图



簡介:

免費「軟體路由器」Coyote Linux (北美小銀狼)

Linux 核心,GPL授權,開放原始碼

硬體最低需求:486以上,12MB RAM,兩片網卡,軟碟機一台

硬體建議配備:P-200 以上,32MB以上 RAM,兩片網卡,軟碟機一台 或 CF to IDE 電子硬碟

內建功能:NAT,DHCP,Firewall (iptables),QoS

外掛功能:需安裝外掛程式才有的功能,TinyPorxy(經量級 proxy),Cron (排程),DDNS (動態 DNS)....etc

路由效率:依硬體性能而定,CPU愈快,效率愈高,媲美一台幾萬元的硬體路由器。

支援語言:簡體中文,English,繁體中文 (需修改繁體語系檔)

附件:繁體中文語系檔,使用方法請參考補充02。


相關鏈結:
----------------------------------------------------------
美商 Coyote Linux 公司,官方網站

下載 Coyote Linux 2.2X 版 (原始官方版),Windows下的開機磁片製造軟體 (選擇 Windows Disk Creation Wizard v2.2X )

美商 Coyote Linux,是一家專門生產專業路由器的產商
Floppy Firewall (磁片版,軟體防火牆路由器)
為其公司下的一項計畫,提供免費產品
此計劃官方於 2.24 版之後終止

後續版本開發,委交給巴西 BrazilFW 民間組織接手
一樣是 GPL 授權,任何人可以免費使用,以及開放/修改原始碼

BrazilFW

巴西版的下載處 (主程式含硬碟安裝程式)

此處下載為開機片製作程式,分win32及Linux兩種平台
請依據要製作開機片的電腦之作業系統,選擇下載

巴西版的主程式,可以做出兩片開機片
第一片是 Coyote 開機片
第二片是用於「Install HD」安裝到硬碟時,要使用的工具磁片(選擇性)

----------------------------------------------------------

廢話不多說,開始進入圖解教學:

Coyote (北美小銀狼) 需由磁碟片開機執行
首先,下載windows下的路由器開機磁片製作軟體
解壓縮後,執行它
管理介面預覽:

網址列打:http://路由器的IP:8180

- END -
圖解教學完畢


已知問題:
使用 RTL8139 系列網卡
會一直出現 Too much work at interrupt,中斷過多的錯誤訊息
這是因為 Coyote 內建的 8139too.o 驅動,有問題的關係
但不會影響運作

解決方法:
更換成 NAPI 版的驅動
因為方法有點複雜,所以這邊不做介紹
若有需要請參考下面鏈結

--------------------------------------------------------------------

研究參考資源:

軟件路由器論壇 (大陸簡體字網站) :
http://www.routerclub.com/forumdisplay_2.html

各種給 Coyote 使用的外掛程式,Add-Ons (英文網站):
http://dolly.czi.cz/coyote/packages.asp


Coyote LCD 教學及電路設計圖 (英文網站):
http://paginas.terra.com.br/informatica/LCD/

Coyote LCD 是利用電腦的 print port 來控制 LCD 電子零件
在上面顯示一些 Coyote 資訊的東西,例如:網路流量圖

如果要用 Coyote 來 DIY 一台商業性的路由器
這玩意可以參考看看,算是增加一些硬體的附加價值
讓 Coyote 軟體路由器看起來更專業,更接近專業的硬體路由器
不說的話,人家還不知道那是 Linux 做出來的呢
外殼弄小台漂亮一點,說不定還會被誤以為是萬元等級的機器



                               
登录/注册后可看大图




                               
登录/注册后可看大图
routeros
回复

使用道具 举报

 楼主| 发表于 2006-8-8 00:06:28 | 显示全部楼层
Coyote 軟體路由器,由於核心非常精簡
即使被入侵,也無法做什麼事,因為裡頭幾乎什麼 shell 指令也沒有
和 IPCOP 那一類的龐然大物比較起來,效率會更高,安全性也更高

歡迎有興趣的朋友,一起加入研究討論的行列
若有任何心得,請發表此篇後面
謝謝




############## [補充] ####################

補充 01:

網路架構圖


-----------------------------------------------------------------------
補充 02: 2006/02/14

如何繁體中文化? (適用於 2.24 , 2.26 版)

1.下載本篇末尾的附件,解開後得到一個檔案 webadmin.cht

2.將這個檔案丟到
官方下載的開機片製作程式的目錄 languages 中

2.24 版的位置在:
例如:x:\wizard-2.24.0\Files\languages

2.26 版的位置在:
例如:x:\BrazilFW\languages

3.
如果是 2.24 版
修改 \wizard-2.24.0\Data\languages.txt 這個文字檔
裡頭內容加入一行:
Chinese-Taiwan,cht

2.26 版無須修改
(因為沒有這個檔案,2.26 安裝程式具有自動搜尋功能)

4.使用官方開機片製作程式,製作 Coyote 開機片
注意最後選擇語言的時候,languages 要選 cht ,或者 Chinese Taiwan
即可繁體中文化

5.此繁體中文化語系,使用萬國碼 UTF-8
如果登入web 管理介面時出現空白,請將瀏覽器語系切換到 UTF-8。

ps.此繁體中文語系檔,小弟已盡量改到完美狀態,其中資訊用語比較符合台灣的習慣,並大量修正 QOS 部分原先簡體中文翻譯不妥善的地方。保證讓您對 Coyote 刮目相看。

------------------------------------------------------------
補充 03 :2005/09/11

如何把 Coyote 安裝到硬碟 (或是 CF to IDE 電子硬碟)?

方法有兩種:手動,自動。這邊只說明自動的方法

自動安裝,需要一個叫做 Coyote install HD 的工具磁片

製作這個工具磁片的程式,包含在巴西版的 Coyote Linux 主程式裡
下載巴西版的主程式後,當製作出 Coyote 開機片後
會繼續問,要不要製作 Install HD 工具磁片,選要即可製作

巴西版主程式下載處:
http://www.brazilfw.com.br/forum/dload.php

註:感謝網友 kevinst 告知軟體下載處

使用一台電腦,調成軟碟開機
上面有硬碟或電子硬碟,請注意硬碟中的資料會全部被洗掉!

PS/2 鍵盤,過程中需要輸入東西
而那個工具磁片無法驅動 USB,所以需要 PS/2 鍵盤

準備好所需的兩張磁片:
Coyote 開機磁片
Coyote install HD 工具磁片

先插入 Coyote install HD 工具磁片,開機
接著畫面會出現引導對話,是英文的
但單字不深,應該都可以看的懂

對話依序為:
1.準備好了嗎? (y/n) ~y
2.確定要把Coyot 裝到硬碟? (y/n) ~y
3.請輸入第一分割區的容量大小?~ 直接按 enter 即可
4.是否要分割第二磁區? (y/n) ~不用白不用, y
5.請輸入第二分割區容量大?~直接按 enter 即可,取最大值
6.提示:現在必須換插 Coyote 開機片 ~ 換磁片,按enter繼續
7.提示:現在可以拿出磁碟片 ~拿出來,按 enter
8.確定真的要刷硬碟嗎,資料會全部洗掉?(y/n) ~當然 y

9.是否要安裝 HDPRM? (y/n)
~此程式會在開機後一分鐘後自動關閉硬碟電源,節省電費,建議安裝 y

10.是否要安裝 IPTRAF?(y/n)
~此程式為 Linux 文字模式下的封包監控軟體,非常好用,建議安裝 y
IPTRAF 是 Linux 常用的軟體,相關使用說明,可查閱 google


11.是否要安裝 FTP Client?(y/n)
~裝了後才會有指令 ftp 可以用,才能下載東西,建議安裝 y

12提示:安裝已經完成,按 enter 後重開機.....

大功告成!
Coyote 用硬碟 (電子硬碟) 開機,只要10秒鐘不到,爽度大增

----------------------------------------------------------------
補充 04:2005/09/11

CF to IDE 該選用哪種?要搭配多少容量的 CF 較佳?

目前拍賣網上的 CF to IDE,有六種型態:

單面:
1.插排線型
2.直接插主機板,與主機板垂直
3.直接插主機板,與主機板平行

雙面:
1.插排線型
2.直接插主機板,與主機板垂直
3.直接插主機板,與主機板平行

所謂的雙面,就是一塊轉卡,能插兩片 CF 卡
但插了兩片,容量不是合在一起,而是會被辨識為兩台硬碟!
好處是一塊轉卡,就可以當兩片用

那麼 Coyote 只需要用到一台硬碟(電子硬碟)
是否買單面就好?

經測試,單面的可能因為技術較舊,有相容性問題
插上 256MB CF卡,BIOS 只抓到 128MB,且還無法使用
所以建議直接買雙面的,價差並不大,約30~50元

插槽類型
除非確定主機板 IDE 插槽附近
有3CM以上的空間 (因為還要插電源線)
不會卡到電容或者其它電子零件,則可買直接插主機板型
若要買與主機板平行的,IDE 插槽附近最好有10CM以上的空間

一般建議買「插排線型」的,比較保險

容量:
由於 Coyote 整個系統,只有 3MB 不到
所以只要買大於 3MB 的 CF 卡即可,例如:32MB
買多了也是完全用不到,而形成浪費

----------------------------------------------------------
補充 05: 2005/09/12

如何安裝外掛程式?

各種給 Coyote 使用的外掛程式,Add-Ons 下載點:
http://dolly.czi.cz/coyote/packages.asp

Coyote 有很多外掛程式 Add-Ons 可以使用
例如:SCP,Cron,TinyProxy,DDNS......等等
可以用來補足 Coyote 原先內建缺少的功能

安裝方式都是一樣的
從網站下載 *.tgz 檔案後,直接拷貝到磁片或硬碟(電子硬碟)的根目錄
然後重開機即可

設定及使用方法,上述的下載點網站有英文教學
有些外掛程式是不需設定的,只要安裝上去,就已經生效了

---------------------------------------------------------------------
補充 06: 2005/09/17

外掛 Add-Ons - mrtg 流量統計圖


                               
登录/注册后可看大图


安裝方法:
-------------
下載本篇末尾附件:mrtg.zip
解壓縮後,有一個檔案:sysinfo.tgz
將 sysinfo.tgz,丟到 Coyote 開機磁片,或者硬碟,或者CF卡中,重新開機,即完成安裝。

說明:
-----------
此 mrtg 流量統計圖外掛,為中國大陸網友 EMP 的作品:
http://www.routerclub.com/viewthread...age%3D1&page=1

本附件為繁體中文化版本
使用 UTF-8 語系,若瀏覽顯示空白,請切換語系到 UTF-8

--------------------------------------------------------------------
routeros
回复

使用道具 举报

 楼主| 发表于 2006-8-8 00:06:45 | 显示全部楼层
補充 07: 2005/09/25

l7-filter
OSI 第七層(軟體應用層),封包過濾

功用:阻擋 MSN,BT下載,驢子下載.....等

常見應用範圍:
如何限制區網內電腦,無法使用MSN?
如何限制區網內電腦,無法使用 P2P 下載?
.......

說明:

Coyote 本身內建有 l7-filter,可以做到這些功能
以下教學,將示範使用此項功能

此示範將只示範如何使用,保證可以用
但過程中,不會詳細講解 iptables 語法原理,若有興趣請參考相關書籍


示範:

STEP.1
l7-filter 的設定處,位於這裡:



STEP.2
按了後,會出現類似下面這個畫面,這是直接編輯防火牆設定檔

凡是以 # 井字號開頭的,代表該行為「註解」
註解只是一個說明,不會被系統執行

若是第一次開啟這個設定檔,會看到一堆英文註解說明
可以忽略不管,或是將其刪除皆可
但請注意:第一行的 #!/bin/sh,是 shell script 必要語法,不可刪除



範例:
-----------------------------------------------------
iptables -t mangle -A PREROUTING -m layer7 --l7proto bittorrent -j DROP
-----------------------------------------------------

綠色字:是固定的語法,不會變,通通照抄即可 (注意有分大小寫,大小寫需一致)

藍色字:是封包方向,上傳的封包是 PREROUTING,下載的封包是 POSTROUTING,只有兩個方向

紅色字:就是 l7-filter 要過濾的東西 (協定),例如:bittorrent 就是 BT 下載


此行範例的意思是:凡是 BT 下載的封包,想要上傳到外面,通通丟棄,DROP 是丟棄的意思

換句話說:就是禁止內部電腦,不能使用 BT 下載

為求保險起見,連下載的部份,也要一並禁止,滴水不漏
(可參考上圖示範)


如果不想禁止全部電腦都不能用,只想禁止某一台電腦不能用
請依照上圖所示,只要加個 -s 或 -d [電腦IP]
例如:-s 192.1681.1.1
就是禁止只有這台電腦無法使用 BT下載
上傳的部分是加 -s,下載的部份是加 -d,其餘語法全部相同

當然,如果是只想禁止某一台電腦,或者某一群電腦
那麼前面那兩行禁止全部的,就要取消刪除,或者註解掉


SETP.3
那如果我不是要禁止 BT下載,是要禁止其它的呢?



如圖所示,這是 Coyote l7-filter 所有支援可以過濾的協定

驢子下載:edonkey
MSN 檔案下載:msn-filetrasfer
MSN 訊息:msnmessenger
............

其它請參考此表,這都是一些服務的英文縮寫,應該不難懂
(註:後面的副檔名 .pat ,在編輯設定檔時,不用加,也不可以加)


SETP.4
編輯完成後,按 [OK]

然後它會提示還沒有存檔,按左邊菜單的「立即存檔」

但是這樣還沒有生效,還要按 「重新載入防火牆」,讓它生效

如此便大功告成!

你已完成了,普通來講,要一台上萬的防火牆,才能做到的功能
而這只不過是一台老舊電腦 + Coyote 軟體路由,就幫你做到了,讚吧!


--------------------------------------------------------------------
routeros
回复

使用道具 举报

 楼主| 发表于 2006-8-8 00:07:11 | 显示全部楼层
補充 08: 2005/10/03

Coyote Linux 自定義 QoS 頻寬管制設定教學

由於篇幅太長,另開新篇,請點擊以下鏈結前往觀看:
【教學】Coyote Linux 頻寬管制 (QoS) 設定教學


--------------------------------------------------------------------
補充09: 2005/10/04

BT 下載加速大法

經測試,此 BT 加速大法,大約可以快一倍左右

說明:
由於區域網路內的電腦,並沒有真實 IP
和使用真實 IP 的電腦比較起來,BT 下載會較慢一點
但是藉由對閘道防火牆的設定,可以改善這個情況

以下範例為使用 Coyote 當閘道防火牆時,如何加速 BT 下載

STEP.1
首先,必須知道 BT 下載軟體監聽的 port 號碼為多少

BT 下載一般應該都是監聽 port 6881
但不一定,還是要以 BT 下載軟體的設定為主



範例:上圖是"比特精靈",它的預設監聽 port 號碼為 16881

STEP.2
設定「埠轉換」,將 BT 封包,直接轉到下載 BT 的電腦



新增規則,單埠
內部 IP:下載 BT 的那台電腦
埠號:BT 下載軟體,監聽的 port

STEP.3
設定「高級防火牆配置」,允許 BT 的封包自由通過





防火牆的比對規則,為由上而下
前面規則成立的,就不會繼續往下比對

換句話說
如果第一條規則就命中了,就不會浪費時間繼續往下比對
由於 BT 下載會產生龐大數量的封包
故應該給予該條規則置頂,可以有效加速

用 web 管理介面無法調順序
所以要用「編輯配置檔」,手動修改會比較快

完成後,先「立即存檔」
然後「重新載入防火牆」,即可生效

感覺上會快一點點,大約快一倍左右
提供給有用 BT & Coyote 的網友參考。


-------------------------------------------------------------------------
routeros
回复

使用道具 举报

 楼主| 发表于 2006-8-8 00:07:55 | 显示全部楼层
routeros
回复

使用道具 举报

 楼主| 发表于 2006-8-8 00:08:26 | 显示全部楼层
【教學】Coyote Linux 頻寬管制 (QoS) 設定教學

--------------------------------------------------------------------------------

Coyote Linux 頻寬管制 (QoS) 設定教學

前言:
----------------------------------------------------------------------
此篇教學以 Coyote Linux 軟體路由器為範例系統
演示如何以 tc 指令設定 QoS 頻寬管制

由於 Coyote Linux,即是精簡型 Linux
所以此篇 Linux QoS 設定原理,亦適用任何 Linux distro 發行版

以下教學內容會有點複雜,但完成的效果,可以媲美一台幾萬元的硬體路由器,物超所值。


名詞解釋:
--------------------------------------------------------------------
QoS (Quality of Service):網路服務品質保證,俗稱的頻寬管制。

佇列規則 (qdisc):
佇列 (Queue) 是網卡存放外送封包的地方
可以想像成是高速公路的閘道管制
如同閘道管制是用來管制高速公路(網路)的車流量(封包流量)
佇列規則就是用來管制網路流量的規則

若沒有設定,預設的規則是 FIFO (First In First Out,先進先出) ,意即完全無管制。

Linux QoS 的佇列規則有兩種:CBQ,HTB
CBQ (Class Based Queueing) 的設定比較複雜,但可設定的東西較多,彈性較大
HTB (Hierarchy Token Bucket) 是 CBQ 的改良版 ,設定較精簡,效能也比 CBQ 來的好
此篇教學,以 HTB 為主。


類別 (class):
類別是一個集合,舉例要把頻寬分成:看網頁類,玩線上遊戲類,P2P 下載類....等等
P2P 下載類:不需要即時反應,所以給予最少的頻寬,最低的優先權
看網頁類:頻寬大一點,才不會等到睡著,但優先權用普通的即可
玩線上遊戲類:玩線上遊戲最怕的就是和人 PK 時網路 LAG,LAG 一下可能就輸了,所以優先權要最高,這是無庸置疑的


過濾器:
檢查封包該屬於哪個類別,並給予歸類的東西,稱作過濾器。
Linux QoS 過濾器有兩種:u32,fw
u32: 設定比較複雜,需懂封包結構,才有辦法設定
fw:fw 是靠 iptables 給封包貼標籤,設定比較簡單
此篇教學,以 fw 為主。


iptables 指令:
Linux 負責防火牆功能的,是一個叫 NetFilter 的模組,而 iptables 就是用來設定 NetFilter 模組的指令。

tc 指令:
Linux 負責QoS (頻寬管制) 功能的,是一個叫 Traffic Control 的模組,而 tc 就是用來設定 Traffic Control 模組的指令。

shell script:
俗稱腳本檔(劇本),Linux 作業系統會依照裡面的內容,逐行執行程式
類似 windows 下的 .bat 自動批次檔,但 shell script 功能比較強

在設定 QoS 的時候,往往要打上幾十行的指令
但是打了這一大堆東西,重開機之後就會消失
所以要把這些指令,編輯成一個腳本檔,讓電腦一開機就執行。


###############################################################################

教學開始 ↓

規劃篇: (分配頻寬,定義類別)
-----------------------------------------------------------------------
由於 QoS 要先計算出整體頻寬,給予分配,才有辦法設定
所以在設定之前,必須先進行規劃的前置作業

導讀:
講解「類別」原理的部份,因為較深入可能會比較煩,可省略跳過
最重要的部分,是要完成那個頻寬計算分配表,因為底下實作時必須填入分配的數字。



此次教學示範的網路架構如上

對外網卡:eth1
對內網卡:eth0

將分配頻寬給三台 PC 電腦
每台電腦可以得到各自的保證的頻寬,以及可借用的最大頻寬

另有一台 伺服器,上面有 web、e-mail、dns 三個服務
近來利用 ADSL 在家裡架設伺服器的人數也有增多的趨勢
故此次教學,也示範如何管制伺服器的頻寬

default (預設) 類別
指如果封包不屬於那三台電腦,也不屬於伺服器,則歸類於 default 類別,進行頻寬控管
具體來說,此種情況就是筆記型電腦,PDA,PSP掌上遊戲機....... 等等之類,有使用到網路頻寬的設備
routeros
回复

使用道具 举报

 楼主| 发表于 2006-8-8 00:08:45 | 显示全部楼层
首先,第一步要計算出「合理的頻寬分配」

分配頻寬,就像在分家產一樣,務必公平合理,否則 QoS 便無法運作,或者無法達到預期的效果

請拿出紙、筆、計算機,或者利用試算表軟體,進行計算

此次的範例是 ADSL 2M/51K

HTB 佇列規則用的是 KByte/s ,所以要先換算

ADSL 的頻寬單位,是 bps (bits per second)
--------------------------------------
8 bps = 1 Byte/s

下載 2Mbps = 256 KB/s
上傳 512Kbps = 64 KB/s


保證下載,保證上傳:是手動填入的數字

「保證」指的是無論如何,別的「類別」都不能來搶這個頻寬

這個值不宜設太大,因為還可以借用頻寬,且保證設太大,整體頻寬都用完了,就失去意義了
一般建議值是每台電腦的保證上傳,最少要有 32Kbps = 4KB/s


其餘數值,是公式計算所得,計算方式如下:
-----------------------------------------------------------------
剩餘頻寬 (可借用的頻寬量) = 總頻寬 - 保證頻寬總和

最大下載 = 保證下載 + 下載剩餘頻寬
最大上傳 = 保證上傳 + 上傳剩餘頻寬

最大下載,最大上傳:亦可填入固定數字

「最大」指的是無論如何,該「類別」能使用的頻寬不會超過這個數字


優先權:指誰可以有較大權力搶用剩餘頻寬,由 0 開始的整數,數字愈小,優先權愈高,0 為最高優先權。

以上表的例子來說
192.168.1.1 這台電腦是筆者所用,俗話說肥水不落外人田,當然優先權為 0 最高
其餘電腦設 1,優先權普通,但若有特別的下載狂,可考慮降低他的優先權
至於伺服器的 http、smtp、dns 等對外的服務,服務的是外面的人
優先權可設小一點,以不干擾自己內部的人使用網路為原則






Linux QoS 有三要素:佇列規則、類別、過濾器

完成了這三項的設定,也就完成了 Linux QoS 的設定
在計算分配好頻寬表的前置作業之後,接著要做的事,是規劃「類別」

---------------------------------------------------------------------------
Q.為什麼「類別」規劃,會分成 下載、上傳 兩部份?

前面提到「佇列」是網卡存放外送封包的地方,故「佇列規則」也只能管制外送的封包

『Linux Advanced Routing & Traffic Control HOWTO』文件
用一個生動的比喻,來解釋這種情況:
"我們只能規定自己寫多少信給別人,無法限制每天會有多少人寫信給我們"

簡單的說,Linux QoS 只能管制網卡往外傳送的流量

不過這並不是說 Linux QoS 只能管制上傳
因 NAT 主機上,會有兩片網卡

「對外網卡」往外傳送,稱之為:上傳
「對內網卡」往外傳送,稱之為:下載

所以若要同時進行 上傳/下載 的雙向管制,必要條件為兩片網卡

整個 Qos 的設定,亦會分成兩部分,上傳 和 下載

-------------------------------------------------------------------------

類別規劃圖,看起來像一張樹狀圖
實體網卡的佇列規則,稱作「根」佇列規則
其下的類別,就像葉子一樣,又稱「葉類別」
而最末尾的「葉類別」,必須帶有「葉佇列規則」

您可能會注意到,每個「佇列規則」、「類別」都有編號
這是因為待會實作下指令時,必須用到

編號中的冒號為必須
「佇列規則」只有冒號左邊有數字
「葉類別」冒號左邊數字是指掛在哪個「根佇列規則」,右邊則是「葉類別」的編號

編號是隨人高興取的,但習慣上,會有一些固定的取法
「根佇列規則」會取編號 10:
第 1 層,第 1 個「葉類別」,取編號 10:1
第 2 層,第 1 個「葉類別」,取編號 10:10
第 2 層,第 2 個「葉類別」,取編號 10:20 ..........以此類推
最末尾的「葉佇列規則」,取編號 101: 、102: ......以此類推


此範例圖,是只有二層架構的樹狀圖
實際上,Linux QoS 的類別規劃,最多可以到八層,應用在規劃網段的頻寬管制
但一般用途,規劃到二層即夠使用,故不再做多層規劃的範例
若對多層規劃有興趣,請參考 Linux QoS 相關書籍

類別規劃圖,可畫也可不畫
畫出來的話,可以幫助 QoS 設定更容易了解
不過下面的實作教學,將會提供參考用原始碼,小部份修改後,直接套用即可 ^^


#################################################################################
routeros
回复

使用道具 举报

 楼主| 发表于 2006-8-8 00:09:03 | 显示全部楼层
實作篇: (開始實際設定 Linux QoS )
-----------------------------------------------------------------------------------------

實作篇,將開始用 tc 指令,和 iptables 指令,撰寫 shell script,實現 Linux QoS

原理講解的部份,由於上面規劃篇的時候,已經差不多都講解完了
再者指令的語法是變化多端的,礙於篇幅
因此底下實作篇將不做任何原理方面的講解
改以直接秀出參考用原始碼的方法,小部分修改後,套用即可


Coyote 自定義 QoS 設定步驟:(看圖說故事)

STEP.1


STEP.2


STEP.3


STEP.4


STEP.5


STEP.6


STEP.7


##############################################

Linux QoS 參考用原始碼

基本說明:

1.凡是以 # 符號開頭,代表該行為註解,不會被系統執行
2.第一行的 #!/bin/sh 為 shell script 必要語法,不可刪除
3.Coyote 不支援 Big5 中文,所以中文註解貼上後會變成亂碼,是正常的
4.若要顯示中文註解,需轉碼成 UTF-8 (無 BOM格式)
routeros
回复

使用道具 举报

 楼主| 发表于 2006-8-8 00:10:00 | 显示全部楼层
tc 指令 ( /etc/rc.d/rc.local ) :

代碼:


  1. #!/bin/sh
  2. #
  3. # Coyote local command init script

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

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

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

  10. # 定義第二層葉類別
  11. # rate 保證頻寬,ceil 最大頻寬,prio 優先權
  12. tc class add dev eth1 parent 10:1 classid 10:10 htb rate 2kbps ceil 4kbps prio 2
  13. tc class add dev eth1 parent 10:1 classid 10:20 htb rate 2kbps ceil 4kbps prio 2
  14. tc class add dev eth1 parent 10:1 classid 10:30 htb rate 32kbps ceil 40kbps prio 3


  15. tc class add dev eth1 parent 10:1 classid 10:40 htb rate 8kbps ceil 16kbps prio 0
  16. tc class add dev eth1 parent 10:1 classid 10:50 htb rate 4kbps ceil 12kbps prio 1
  17. tc class add dev eth1 parent 10:1 classid 10:60 htb rate 4kbps ceil 12kbps prio 1
  18. tc class add dev eth1 parent 10:1 classid 10:70 htb rate 4kbps ceil 12kbps prio 1


  19. # 定義各葉類別的佇列規則
  20. # parent 類別編號,handle 葉類別佇列規則編號
  21. # 由於採用 fw 過濾器,所以此處使用 pfifo 的佇列規則即可
  22. tc qdisc add dev eth1 parent 10:10 handle 101: pfifo
  23. tc qdisc add dev eth1 parent 10:20 handle 102: pfifo
  24. tc qdisc add dev eth1 parent 10:30 handle 103: pfifo
  25. tc qdisc add dev eth1 parent 10:40 handle 104: pfifo
  26. tc qdisc add dev eth1 parent 10:50 handle 105: pfifo
  27. tc qdisc add dev eth1 parent 10:60 handle 106: pfifo
  28. tc qdisc add dev eth1 parent 10:70 handle 107: pfifo

  29. # 設定過濾器
  30. # 指定貼有 10 標籤 (handle) 的封包,歸類到 10:10 類別,以此類推
  31. tc filter add dev eth1 parent 10: protocol ip prio 100 handle 10 fw classid 10:10
  32. tc filter add dev eth1 parent 10: protocol ip prio 100 handle 20 fw classid 10:20
  33. tc filter add dev eth1 parent 10: protocol ip prio 100 handle 30 fw classid 10:30
  34. tc filter add dev eth1 parent 10: protocol ip prio 100 handle 40 fw classid 10:40
  35. tc filter add dev eth1 parent 10: protocol ip prio 100 handle 50 fw classid 10:50
  36. tc filter add dev eth1 parent 10: protocol ip prio 100 handle 60 fw classid 10:60
  37. tc filter add dev eth1 parent 10: protocol ip prio 100 handle 70 fw classid 10:70



  38. # QoS eth0  下載方面
  39. #

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

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

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

  46. # 定義第二層葉類別
  47. # rate 保證頻寬,ceil 最大頻寬,prio 優先權
  48. tc class add dev eth0 parent 10:1 classid 10:10 htb rate 2kbps ceil 32kbps prio 2
  49. tc class add dev eth0 parent 10:1 classid 10:20 htb rate 2kbps ceil 32kbps prio 2
  50. tc class add dev eth0 parent 10:1 classid 10:30 htb rate 32kbps ceil 212kbps prio 3

  51. tc class add dev eth0 parent 10:1 classid 10:40 htb rate 16kbps ceil 196kbps prio 0
  52. tc class add dev eth0 parent 10:1 classid 10:50 htb rate 8kbps ceil 188kbps prio 1
  53. tc class add dev eth0 parent 10:1 classid 10:60 htb rate 8kbps ceil 188kbps prio 1
  54. tc class add dev eth0 parent 10:1 classid 10:70 htb rate 8kbps ceil 188kbps prio 1

  55. # 定義各葉類別的佇列規則
  56. # parent 類別編號,handle 葉類別佇列規則編號
  57. tc qdisc add dev eth0 parent 10:10 handle 101: pfifo
  58. tc qdisc add dev eth0 parent 10:20 handle 102: pfifo
  59. tc qdisc add dev eth0 parent 10:30 handle 103: pfifo
  60. tc qdisc add dev eth0 parent 10:40 handle 104: pfifo
  61. tc qdisc add dev eth0 parent 10:50 handle 105: pfifo
  62. tc qdisc add dev eth0 parent 10:60 handle 106: pfifo
  63. tc qdisc add dev eth0 parent 10:70 handle 107: pfifo

  64. # 設定過濾器
  65. tc filter add dev eth0 parent 10: protocol ip prio 100 handle 10 fw  classid 10:10
  66. tc filter add dev eth0 parent 10: protocol ip prio 100 handle 20 fw  classid 10:20
  67. tc filter add dev eth0 parent 10: protocol ip prio 100 handle 30 fw  classid 10:30
  68. tc filter add dev eth0 parent 10: protocol ip prio 100 handle 40 fw  classid 10:40
  69. tc filter add dev eth0 parent 10: protocol ip prio 100 handle 50 fw  classid 10:50
  70. tc filter add dev eth0 parent 10: protocol ip prio 100 handle 60 fw  classid 10:60
  71. tc filter add dev eth0 parent 10: protocol ip prio 100 handle 70 fw  classid 10:70

复制代码
routeros
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|小黑屋|软路由 ( 渝ICP备15001194号-1|渝公网安备 50011602500124号 )

GMT+8, 2024-5-19 12:34 , Processed in 0.118791 second(s), 5 queries , Gzip On, Redis On.

Powered by Discuz! X3.5 Licensed

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表