【韌體】Gargoyle Router Management Utility
[URL="http://www.gargoyle-router.com"]Gargoyle Router Management Utility[/URL]
[QUOTE][COLOR="RoyalBlue"][B]What is Gargoyle?[/B][/COLOR]
Gargoyle is a free firmware upgrade for many widely available routers such as the WRT54GL and the original La Fonera.
Gargoyle firmware makes it easy to:
[LIST][*][B]Monitor bandwidth[/B] usage for every computer[*][B]Set quotas[/B], ensuring that network resources are allocated fairly.[*][B]Block forbidden websites[/B], or block everything except a white-list of allowed addresses.[*][B]Configure a wireless bridge[/B] to connect two networks without any ugly wires.[/LIST][/QUOTE]
[INDENT][TABLE]Bandwidth (1):|QoS Pie Chart:|Qos (1):|Qos (2):
[URL="http://www.gargoyle-router.com/wiki/lib/exe/fetch.php?cache=&media=screenshots:02_bandwidth.jpg"][IMG]http://www.gargoyle-router.com/wiki/lib/exe/fetch.php?w=150&h=137&media=screenshots:02_bandwidth.jpg[/IMG][/URL]|[URL="http://www.gargoyle-router.com/wiki/lib/exe/fetch.php?cache=&media=screenshots:05_qosdist.jpg"][IMG]http://www.gargoyle-router.com/wiki/lib/exe/fetch.php?w=139&h=150&media=screenshots:05_qosdist.jpg[/IMG][/URL]|[URL="http://www.gargoyle-router.com/wiki/lib/exe/fetch.php?cache=&media=screenshots:15_qos_1.jpg"][IMG]http://www.gargoyle-router.com/wiki/lib/exe/fetch.php?w=150&h=136&media=screenshots:15_qos_1.jpg[/IMG][/URL]|[URL="http://www.gargoyle-router.com/wiki/lib/exe/fetch.php?cache=&media=screenshots:16_qos_2.jpg"][IMG]http://www.gargoyle-router.com/wiki/lib/exe/fetch.php?w=150&h=141&media=screenshots:16_qos_2.jpg[/IMG][/URL][/TABLE][/INDENT]
其實小弟介紹Gargoyle 的文章散見於其他討論中, 網友也許只熟悉Tomato, 而Gargoyle 好比OpenWrt 之下的Tomato, Tomato 支援的分享器有限, 好不容易才有TeddyBear 把Tomato 移植到ASUS RT-N16, 但Gargoyle 就大不同了, 由於Gargoyle 是OpenWrt 之下的一個套件, 所以OpenWrt 所支援的分享器, Gargoyle 通常也都支援, 就在大家對於Tomato 驚艷之餘, 其實Gargoyle 正默默持續改進, 最近更推出一個新功能, 讓小弟更有理由推薦Gargoyle:
[QUOTE]Also, a new automatic congestion control utility, created by Paul Bixel, (first reported [URL="http://www.gargoyle-router.com/phpbb/viewtopic.php?f=7&t=754#p3659"]here[/URL]) is now ready for release. [B]This feature allows QoS to handle the case where the available bandwidth is constantly fluctuating, adjusting the total limits in QoS proportional to what is currently available instead of a fixed number.[/B] This can be configured in the QoS download page, though you need to have both upload and download QoS active for this to work.[/QUOTE]
簡而言之就是頻寬上限不再固定不變, 而是隨著尖峰/離峰可用頻寬變動而變動, 詳細原理小弟尚未仔細研究, 該功能目前尚在測試階段, 但對於第三方韌體來說確實是一大創舉
除了Gargoyle 優異的頻寬管理之外, 更重要的仍在於OpenWrt 的開放以及豐富的套件, 例如OpenVPN, USB, VLAN 等, 你所能想到的, 幾乎在OpenWrt 套件庫都能找到, 只要懂得靈活運用, 瞬間就可以把一台數百元的分享器變成上千元的頻寬管理器, 唯一的問題是缺乏套件設定說明, 所以要有一些Linux 和英文底子才行, 否則若在OpenWrt 討論區以中文發問, 笑話就鬧大了
Gargoyle 刷機方法請參考 "[URL="http://www.gargoyle-router.com/wiki/doku.php?id=install_guide"]install_guide [Gargoyle Wiki][/URL]", Gargoyle v1.2 根基於OpenWrt Kamikaze, 而Gargoyle v1.3 則根基於OpenWrt Backfire, Backfire 支援最新的802.11n 分享器, 但也因為機種太多, 所以已經無法把刷機方法概括於一篇文章之中, 請參考OpenWrt 的硬體支援列表, 以便找出各機種的刷機方法, 一些設定上的經驗談, 小弟也會持續發表在後續文章中, 然而要瞭解Gargoyle/OpenWrt, 最迅速的方法仍然是邊用邊學, 不懂就問, 才能夠學以致用
[URL="http://www.gargoyle-router.com/wiki/doku.php"]Documentation Index [Gargoyle Wiki][/URL]
[URL="http://wiki.openwrt.org/toh/start"]Table of Hardware - OpenWrt Wiki[/URL]
[URL="http://www.pczone.com.tw/thread/16/150363/"]便宜 簡單的Qos Router MZK-WNHR - PCZONE 討論區[/URL]
[URL="http://www.pczone.com.tw/thread/44/150740/"]【韌體】ASUS WL-HDD2.5 改刷 OpenWrt Kamikaze with X-Wrt Webif² - PCZONE 討論區[/URL]
[URL="http://www.pczone.com.tw/thread/16/150888/"]【韌體】改造 La Fonera 成為 Serial (RS232) to Ethernet Converter - PCZONE 討論區[/URL]
Arp Binding in Gargoyle Router
Gargoyle -> Connection -> DHCP 之下有一項 "Block MAC addresses assigned a static IP that connect from a different IP", 這就是Gargoyle 的 "IP 綁MAC" 功能, 看了以下程式碼之後大致可以瞭解就是應用 "iptables" 指令, 該注意的是Gargoyle 採用簡化過的非OpenWrt 標準格式的/etc/ethers
[B]/usr/lib/gargoyle_firewall_util/gargoyle_firewall_util.sh[/B]
[CODE]block_static_ip_mismatches()
{
block_mismatches=$(uci get firewall.@defaults[0].block_static_ip_mismatches 2> /dev/null)
if [ "$block_mismatches" = "1" ] && [ -e /etc/ethers ] ; then
eval $(cat /etc/ethers | sed '/^[ \t]*$/d' | awk ' { print "iptables -t filter -I forward -s ! " $2 " -m mac --mac-source " $1 " -j REJECT " ; } ' )
fi
}[/CODE]
[B]/etc/config/firewall[/B]
[CODE]config defaults
option syn_flood 1
option input ACCEPT
option output ACCEPT
option forward REJECT
option block_static_ip_mismatches 1[/CODE]
[B]/etc/ethers[/B] (Gargoyle 所採用的格式不同於OpenWrt 標準格式)
[CODE]00:11:22:33:44:55 192.168.1.55
00:11:22:33:44:66 192.168.1.66[/CODE]
[B]/etc/hosts[/B]
[CODE]127.0.0.1 localhost.
192.168.1.55 pc55
192.168.1.66 pc66[/CODE]
[URL="http://wiki.openwrt.org/doc/uci/dhcp#static.leases"]DNS and DHCP configuration - OpenWrt Wiki - Static Leases[/URL]