【圖解教學】免費路由器 Coyote (北美小銀狼) - 第19頁 - PCZONE 討論區

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


PCZONE 討論區



通知

-- 網 路 硬 體 版 "網路卡" , "HUB" ,"Switch","無線網路產品","頻寬分享器" 等網路硬體產品

Kree

引用:
作者: CJbalance
稍微試了一下, 好像還沒成功..不過我會繼續研究一下 iptables 裡面的資訊.看看可不可以有進一步的發現.感謝 linux_xp 的協助...不過想請問一下上面那第四行 protocol 47 ...是有什麼作用呢?.
-p 47 是 GRE 封包,VPN 會用到

那四行是參考《Linux iptables 技術實務》一書裡頭的內容
這本書對於 iptables 一些奇奇怪怪的應用,諸如:QoS、VPN、多WAN
是一本很有用的參考書籍

回覆
雜役

引用:
作者: linux_xp
-p 47 是 GRE 封包,VPN 會用到

那四行是參考《Linux iptables 技術實務》一書裡頭的內容
這本書對於 iptables 一些奇奇怪怪的應用,諸如:QoS、VPN、多WAN
是一本很有用的參考書籍

我看了一下 iptables 裡面的設定:

Chain FORWARD (policy ACCEPT)
target prot opt source destination

access-acl all -- anywhere anywhere
autofw-acl all -- anywhere anywhere
portfw-acl all -- anywhere anywhere
user-filter all -- anywhere anywhere
port-filter all -- anywhere anywhere
ACCEPT all -- anywhere anywhere state RELATED,ESTAB
LISHED
DROP all -- anywhere anywhere state INVALID
DROP all -- anywhere anywhere state NEW
ACCEPT tcp -- anywhere anywhere tcp
flags:SYN,RST,ACK/SYN limit: avg 1/sec burst 5
ACCEPT tcp -- anywhere anywhere tcp
flags:FIN,SYN,RST,ACK/RST limit: avg 1/sec burst 5
DROP tcp -- anywhere anywhere tcp
flags:FIN,SYN,RST,PSH,ACK,URG/SYN,ACK
ACCEPT tcp -- anywhere <my VPN server ip> tcp
dpt:1723
ACCEPT tcp -- anywhere <my VPN server ip> tcp
dpt:1512
ACCEPT 47 -- anywhere anywhere state NEW,RELATED,ESTABLISHED

=========================================

上面那一行 "DROP all -- anywhere anywhere state NEW"
把所有想要建立新連線的封包都擋住. 這樣要建 VPN 的封包應該也過不了吧 ??
這是 coyote 的 default 設定, 我應該有什麼地方沒注意到吧! 感覺在 coyote 後面架 server 應該不是這麼複雜的事.....
回覆
無線新手

首先 要先感謝linux_xp 大大 無私的分享 造福廣大的網友
小弟也是受益的網友之一 看完這篇coyote軟體Qos 也實作成功了
不過中間發生過一段小插曲
coyote2.22版 如果用腳本檔 來做QoS 好像會怪怪的一直到換成2.24版
才一切都順利的完成
現在才發現linux這東東 利用過年這假期 好好的來研究一番
很感謝linux_xp大大
回覆
會員

首先感謝linux_xp大大的文章,照著你的步驟做真的很容易架設完成一台很棒的router,
但qos的部份還是不知如何下手,可否請問一下,如果我只想限制emule及bt的上傳最大只有10k,該如何做?
回覆
Kree

引用:
作者: hueikai
首先感謝linux_xp大大的文章,照著你的步驟做真的很容易架設完成一台很棒的router,
但qos的部份還是不知如何下手,可否請問一下,如果我只想限制emule及bt的上傳最大只有10k,該如何做?
如果要深入了解 Linux QoS 的設定,可以參考這篇文章:
【教學】Coyote Linux 頻寬管制 (QoS) 設定教學

以下提供一個範例:
--------------------------------------------------------
1.將這一段貼到 /etc/rc.local

[編輯任意檔]
編輯檔案輸入:/etc/rc.local

首先刪除裡面所有內容,貼入以下內容:
引用:
#!/bin/sh

# qos 指令稿 (腳本)範例:限制emule及bt
# qos 的設定需要兩個步驟:tc 指令、iptables 指令
# 以下範例為 tc 指令部份
# 請更改變數區的值,以符合您的網路環境

# ==============================================================================
# 變數設定區 (請依照網路環境,更改變數值)
# ==============================================================================

# 設定對外網卡介面名稱 (連接網際網路的)
EXT_IF="eth0"

# 對內網卡介面名稱 (連接區域網路的)
LAN_IF="eth1"

# 最大上傳速率 (單位:KByte/s)
MAX_UPLOAD="64"

# 最大下載速率 (單位:KByte/s)
MAX_DOWNLOAD="256"

# 要限制 P2P 上傳最大多少 (BT、電驢,兩者合計,單位:KByte/s)
P2P_UPLOAD_RATE="10"

# 要限制 P2P 下載最大多少 (BT、電驢,兩者合計,單位:KByte/s)
P2P_DWONLOAD_RATE="128"


# 以下開始為 sell script 指令稿,建議您若不熟悉請勿隨意更改
# ================================================================================
# 處理字串
# ================================================================================
MAX_UP=`echo $MAX_UPLOAD"kbps"`
MAX_DOWN=`echo $MAX_DOWNLOAD"kbps"`

P2P_UP_RATE=`echo $P2P_UPLOAD_RATE"kbps"`
P2P_DOWN_RATE=`echo $P2P_UPLOAD_RATE"kbps"`

# ==============================================================================
# 上傳方向
# ==============================================================================


# 清除對外網卡所有佇列規則
tc qdisc del dev $EXT_IF root 2>/dev/null

# 定義最頂層的佇列規則
tc qdisc add dev $EXT_IF root handle 10: htb default 20

# 定義第一層根部類別
tc class add dev $EXT_IF parent 10: classid 10:1 htb rate $MAX_UP ceil $MAX_UP

# 定義第二層葉類別
tc class add dev $EXT_IF parent 10:1 classid 10:10 htb rate 1kbps ceil $P2P_UP_RATE prio 1
tc class add dev $EXT_IF parent 10:1 classid 10:20 htb rate 1kbps ceil $MAX_UP prio 0

# 定義各葉類別的佇列規則
tc qdisc add dev $EXT_IF parent 10:10 handle 101: pfifo
tc qdisc add dev $EXT_IF parent 10:20 handle 102: pfifo

# 設定過濾器
tc filter add dev $EXT_IF parent 10: protocol ip prio 100 handle 10 fw classid 10:10
tc filter add dev $EXT_IF parent 10: protocol ip prio 100 handle 20 fw classid 10:20

# ==============================================================================
# 下載方向
# ==============================================================================

# 清除對內網卡所有佇列規則
tc qdisc del dev $LAN_IF root 2>/dev/null

# 定義最頂層的佇列規則
tc qdisc add dev $LAN_IF root handle 20: htb default 20

# 定義第一層根部類別
tc class add dev $LAN_IF parent 20: classid 20:1 htb rate $MAX_DOWN ceil $MAX_DOWN

# 定義第二層葉類別
tc class add dev $LAN_IF parent 20:1 classid 20:10 htb rate 1kbps ceil $P2P_DOWN_RATE prio 1
tc class add dev $LAN_IF parent 20:1 classid 20:20 htb rate 1kbps ceil $MAX_DOWN prio 0

# 定義各葉類別的佇列規則
tc qdisc add dev $LAN_IF parent 20:10 handle 201: pfifo
tc qdisc add dev $LAN_IF parent 20:20 handle 202: pfifo

# 設定過濾器
tc filter add dev $LAN_IF parent 20: protocol ip prio 100 handle 10 fw classid 20:10
tc filter add dev $LAN_IF parent 20: protocol ip prio 100 handle 20 fw classid 20:20

2.將這一段貼到「防火牆自訂義檔」

[防火牆] - [編輯自訂義檔]

將以下內容,貼到該檔案的最末尾,注意前面的內容不可清空

引用:
# ==============================================================================
# iptables 貼標籤 (qos)
# ==============================================================================

# 清除 mangle 表格
iptables -F -t mangle

# upload
# 將bittorrent 和 edonkey 封包,歸類為 class 10
iptables -t mangle -A PREROUTING -m layer7 --l7proto bittorrent -j MARK --set-mark 10
iptables -t mangle -A PREROUTING -m layer7 --l7proto edonkey -j MARK --set-mark 10

# download
iptables -t mangle -A POSTROUTING -m layer7 --l7proto bittorrent -j MARK --set-mark 10
iptables -t mangle -A POSTROUTING -m layer7 --l7proto edonkey -j MARK --set-mark 10
3.Coyote 主機,重開機生效

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

說明:

此範例,設定 qos 兩個 class (類別)
凡 bt、電驢封包,過濾後都歸類到第一個類別
其餘非 P2P的封包,都歸類到第二個類別

類別1,也就是 P2P,有最大速率限制
類別2,非 P2P 的連線,沒有最大速率限制
優先權方面,類別2 優先於 類別1
也就是說,P2P 會搶輸一般應用,以確保一般應用的連線品質

第一段內容,tc 指令部份,已經考慮過這種限制 P2P 應用可能的情況
理論上直接貼上去,就可以使用了

但有些數值仍需要修改

引用:
# ==============================================================================
# 變數設定區 (請依照網路環境,更改變數值)
# ==============================================================================

# 設定對外網卡介面名稱 (連接網際網路的)
EXT_IF="eth0"

# 對內網卡介面名稱 (連接區域網路的)
LAN_IF="eth1"

# 最大上傳速率 (單位:KByte/s)
MAX_UPLOAD="64"

# 最大下載速率 (單位:KByte/s)
MAX_DOWNLOAD="256"

# 要限制 P2P 上傳最大多少 (BT、電驢,兩者合計,單位:KByte/s)
P2P_UPLOAD_RATE="10"

# 要限制 P2P 下載最大多少 (BT、電驢,兩者合計,單位:KByte/s)
P2P_DWONLOAD_RATE="128"
當然的,每個人的網路環境,並不一定都跟假設的一樣
所以需要適當的修改

把這些變數的值 (雙引號包住的內容)
修改一下就可以用了
# 字號開頭的是注解,註解是程式的說明,程式執行時會自動略過,不用刻意刪除

Linux 針對每個網路卡,都會給它一個編號
例如:eth0、eth1...........
這個編號,可在 coyote web 管理介面,資訊那邊看到
由網卡的 IP,可判斷它是「對外」,還是「對內」

單位的地方要注意一下,這邊都是採用 KB/s:

例如範例中的:ADSL 2M/512K
除以8,換算後是:上傳 64KB/s,下載 256KB/s
回覆
會員

引用:
作者: linux_xp
如果要深入了解 Linux QoS 的設定,可以參考這篇文章:
【教學】Coyote Linux 頻寬管制 (QoS) 設定教學

以下提供一個範例:
--------------------------------------------------------
1.將這一段貼到 /etc/rc.local

[編輯任意檔]
編輯檔案輸入:/etc/rc.local

首先刪除裡面所有內容,貼入以下內容:
.
.
.
.
.
例如範例中的:ADSL 2M/512K
除以8,換算後是:上傳 64KB/s,下載 256KB/s
太感謝你了,為了我打了這麼多字,真是不好意思....
雖然很多都看不懂,只能照抄,但只要能這樣限制p2p,我就非常滿足了
最後,再次感謝你....
回覆
會員

已經將程式下載並且可以開機 真好
1.請問p2p會慢是否為連線數?
2.如果只要開http mail msn 其餘要禁止 請問語法要如何寫?
3.我的線路為2m/256 想要20個人同時上網 可以嗎?
謝謝
回覆
Kree

引用:
作者: nsh1204
已經將程式下載並且可以開機 真好
1.請問p2p會慢是否為連線數?
2.如果只要開http mail msn 其餘要禁止 請問語法要如何寫?
3.我的線路為2m/256 想要20個人同時上網 可以嗎?
謝謝
1.連線數,是指網卡晶片的封包處理能力,每秒能夠處理多少連線要求。一般來說,就是便宜如螃蟹卡(RTL8139系列) 這種的,也都有上萬的處理能力。

因此 P2P 會慢,不全然是網卡晶片的關係。牽涉到更多的東西。

a. ISP 是否有管制 P2P,如:so-net 確定就是有管制的。在 ISP 有管制的情況,設什麼都是沒用的.....

b. win-xp sp2,作業系統本身有限制連線數,預設好像只有幾百,這對 P2P 來講是不夠的,需要破解。搜尋可找到破解教學。

c. 要開放相對應的 port,或稱埠轉換。網路上可搜尋的 BT 加速教學文件,或者電驢也有所謂的高 ID,低 ID,若沒開放相對應的 port 則無法取得高 ID,就會很慢。

而 P2P 下載本身,又牽涉到傳輸原理,電驢是一定比BT 慢的,因為BT 是多點傳輸,電驢不是。而BT下載又牽涉到種子數目,種子是國內還是國外,軟體是哪一個,有無優化.....等等很多因素,,這部份屬於軟體的使用技巧,和路由器無太大關係。

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

2.網路上常見的服務,都有約定俗成的 port (埠號)
http 80
smtp 21
pop3 110
msn...... msn 有很多 port,要查資料

最簡單的作法,設定防火牆規則,開放這些 port 通過,最後一條禁止全部 (all),即可。

複雜一點,可以用 l7-filter 來設定防火牆規則。尤其像 msn 這種有很多 port 的,用 l7-filter 反而會比較省事。

再來會考慮到現在電腦使用者都變聰明了。即使封到剩 port 80,還是有人會鑽漏洞,讓 P2P 或其它服務的封包出去。所以 l7-filter 是較好的解決方案。

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

3.機器的處理能力是沒問題的,但頻寬有限。

所謂的 2M,其實是 2Mbit
換句話說,就是 256Kb/s
除以 20,每人每秒只能使用 25 KB/s

但實際上不是這樣,ISP 號稱 2M,其實都達不到
每秒有 200KB/s 就要偷笑了

這就好像一條大水管,分接的小水管愈多,水流量必定會愈小

有一台很強的大電鍋,每秒能煮一百人份的飯
但材料米不夠,連要煮20人份都有困難,那怎麼半呢?加水煮稀飯囉....
巧婦難為無米之炊就是這個道理

這種情況,建議使用含 proxy 網頁快取伺服器功能,例如:IPCOP,上網效率會比較好。

經過 porxy 快取上網,凡是使用者瀏覽過的網站資料,都會快取一份在硬碟裡,當下次使用者再瀏覽該網站時,會直接從硬碟讀取,而非該網站,因此速度就會很快。

舉個例子:

A 使用者上了 yahoo 或 yahoo 拍賣,瀏覽了一大堆圖片,等了老半天,此時 proxy 皆已把資料都快取到硬碟了。

當 B 使用者再上 yahoo 時,此時就不必再去 yahoo.com 下載圖片或資料,proxy 會直接調資料給他,B使用者看到的會是網頁瞬間開啟,不會超過2秒。

接著,C,D,E,F ......使用者,連上 yahoo,開啟網頁都是2秒左右,瞬間開啟。

也就是說,會慢的只有第一位瀏覽者而已,只要 porxy 快取到資料了,以後不管誰去瀏覽,都會瞬間開啟,讚!

當然,網站是會更新的,proxy 本身也會自動檢查資料,若資料較舊就會重新下載,所以這點不用擔心。
回覆
會員

引用:
作者: linux_xp
1.連線數,是指網卡晶片的封包處理能力,每秒能夠處理多少連線要求。一般來說,就是便宜如螃蟹卡(RTL8139系列) 這種的,也都有上萬的處理能力。

因此 P2P 會慢,不全然是網卡晶片的關係。牽涉到更多的東西。

a. ISP 是否有管制 P2P,如:so-net 確定就是有管制的。在 ISP 有管制的情況,設什麼都是沒用的.....

b. win-xp sp2,作業系統本身有限制連線數,預設好像只有幾百,這對 P2P 來講是不夠的,需要破解。搜尋可找到破解教學。

c. 要開放相對應的 port,或稱埠轉換。網路上可搜尋的 BT 加速教學文件,或者電驢也有所謂的高 ID,低 ID,若沒開放相對應的 port 則無法取得高 ID,就會很慢。

而 P2P 下載本身,又牽涉到傳輸原理,電驢是一定比BT 慢的,因為BT 是多點傳輸,電驢不是。而BT下載又牽涉到種子數目,種子是國內還是國外,軟體是哪一個,有無優化.....等等很多因素,,這部份屬於軟體的使用技巧,和路由器無太大關係。

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

2.網路上常見的服務,都有約定俗成的 port (埠號)
http 80
smtp 21
pop3 110
msn...... msn 有很多 port,要查資料

最簡單的作法,設定防火牆規則,開放這些 port 通過,最後一條禁止全部 (all),即可。

複雜一點,可以用 l7-filter 來設定防火牆規則。尤其像 msn 這種有很多 port 的,用 l7-filter 反而會比較省事。

再來會考慮到現在電腦使用者都變聰明了。即使封到剩 port 80,還是有人會鑽漏洞,讓 P2P 或其它服務的封包出去。所以 l7-filter 是較好的解決方案。

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

3.機器的處理能力是沒問題的,但頻寬有限。

所謂的 2M,其實是 2Mbit
換句話說,就是 256Kb/s
除以 20,每人每秒只能使用 25 KB/s

但實際上不是這樣,ISP 號稱 2M,其實都達不到
每秒有 200KB/s 就要偷笑了

這就好像一條大水管,分接的小水管愈多,水流量必定會愈小

有一台很強的大電鍋,每秒能煮一百人份的飯
但材料米不夠,連要煮20人份都有困難,那怎麼半呢?加水煮稀飯囉....
巧婦難為無米之炊就是這個道理

這種情況,建議使用含 proxy 網頁快取伺服器功能,例如:IPCOP,上網效率會比較好。

經過 porxy 快取上網,凡是使用者瀏覽過的網站資料,都會快取一份在硬碟裡,當下次使用者再瀏覽該網站時,會直接從硬碟讀取,而非該網站,因此速度就會很快。

舉個例子:

A 使用者上了 yahoo 或 yahoo 拍賣,瀏覽了一大堆圖片,等了老半天,此時 proxy 皆已把資料都快取到硬碟了。

當 B 使用者再上 yahoo 時,此時就不必再去 yahoo.com 下載圖片或資料,proxy 會直接調資料給他,B使用者看到的會是網頁瞬間開啟,不會超過2秒。

接著,C,D,E,F ......使用者,連上 yahoo,開啟網頁都是2秒左右,瞬間開啟。

也就是說,會慢的只有第一位瀏覽者而已,只要 porxy 快取到資料了,以後不管誰去瀏覽,都會瞬間開啟,讚!

當然,網站是會更新的,proxy 本身也會自動檢查資料,若資料較舊就會重新下載,所以這點不用擔心。
謝謝你詳細的回答 再請問一下 現我以安裝了 請問要如何才能遠端監控 有web?
回覆
會員

引用:
作者: linux_xp
BrazilFW (巴西版 Coyote),test Add-ons 中

有關於 proxy 的外掛:
http://www.brazilfw.com.br/forum/dlo...gory&cat_id=11

它上面是說:Proxy with cache.

應該是用記憶體的 RamDisk 當快取目錄
Coyote 的記憶體使用量並不高,大約 10~20MB
如果機器上裝載有 512MB 以上的記憶體,就會有很多空著浪費
拿多餘的記憶體空間,來當 proxy 快取目錄,真是一個不錯的主意
不過點進去都是巴西文看不懂

請問有大大試過那些 proxy 外掛嗎?不知道好不好用?
Polipo.tgz
Proxy with cache.
這一個我copy檔案到cf後重開機
然後我就再也無法用web登入了…= ="

squid.tgz
Squid proxy
我有裝上去…不過不會用…
設定埵陰N記憶體設為cache的功能
但又有hd的設定…= ="
完全不會做用…

回覆
主題工具


類似的主題
主題 主題作者 討論版 回覆 最後發表
coyote 2.24 開機問題 intruder09402000 -- 網 路 硬 體 版 6 2009-06-06 04:24 PM
【問題】 Coyote 頻寬管理為什麼會失效? cmc69 -- 網 路 硬 體 版 1 2007-03-08 02:00 AM
COYOTE 的靈異現象…急 wheat0702a -- 網 路 硬 體 版 7 2006-06-03 12:12 AM
透過 coyote 使用 VPN CJbalance -- 網 路 硬 體 版 0 2006-01-16 10:06 AM
免費路由器 Coyote (北美小銀狼)QOS要怎麼做有沒有人可以教教救救我 k840582 -- 網 路 硬 體 版 1 2005-08-17 05:17 AM






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

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