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

2009年11月18日

DNS概念(1)

DNS的起因是IP很難記憶,但是網路上又是利用IP來做為routing的依據,所以勢必要有其他方式,即使是把name對應到IP的方式全部記憶到主機檔案,比方說/etc/hosts,也要面對效能不彰的問題,更嚴重的是,他無法有彈性的架構,比方說今天世界上多了一台機器,你怎麼知道他ip多少呢?
所以DNS就針對這樣的問題發展了出來,一套可以由名稱對應到IP的機制,並且是分散式的架構,一方面可以解決效能的問題,另外一方面可以增加彈性,甚至更多的應用,比方說多個名稱對應到同一個IP
每個DNS伺服器有若干個資料庫,每個資料庫中都充滿了RR (Resource Record),重要的RR簡單列表如下
Domain Record
  • SOA:Start Of Authority
  • NS:Name Server
  • MX:Mail Exchange
Host Record
  • A:Address (IPv4)
  • AAAA:Address (IPv6)
  • CNAME:Alias
  • PTR:Pointer
在進入DNS Server運作之前,要先理解Domain Name的架構。Domain Name是一個樹狀的架構,最上層為root,下面每一層為sub-domain,同樣的,每一層的下層為之sub-domain。
常見的domain name型態有
  • Root是top level domain (TLD)
  • General TLD : .com, .org, .net, …
  • Country TLD : .tw, .ca, .us, …
Domain Name的解讀,由dot (.)分開,也就是由後(root)往前,前面的部分為後面的sub-domain,一個完整的名稱稱為Fully Qualified Domain Name (FQDN),比方說www.kimo.com.,要注意最後面的一個點,雖然一般我們使用的時候並不打出來。接著,在理論上,DN並不允許重複的名稱
圖片來自Oreilly的書籍DNS & Bind

2009年11月17日

process(程序)管理(3)

job control,何謂job,其實好像沒有太嚴格的定義XD,我一般把他當作process的同義詞,或者說一串執行的指令(就不只一個process了),比方說使用awk把/etc/passwd的前一個欄位抓出來並且排序,這樣是一件工作,但是至少就要有awk跟sort兩個processes
如果今天再執行一個要很長執行時間的工作,這時候又有一個比較重要的工作要做的時候,需要先把這個工作放到背景暫停起來,執行優先的動作。比方說你正在備份資料,可是老闆說要看今天的報表,那你只好先把備份的工作站停,然後先去弄報表。只要一個簡單的ctrl+z就可以把目前的工作變成暫停(stopped)的狀態放到背景去
另外一種狀況可能是你再執行一個很長的時間的搜尋,你總不希望他一直佔用的console畫面,讓你不能執行一些其他的工作,linux可是一個多工的作業系統,其實很簡單,只要在指令最後加上&就可以了,這時候工作並不會停止,他會在背景執行(running)
但是如果你使用了上面的方式,你就看不到輸出了,怎麼知道目前我放了哪些工作在背景呢?linux提供了jobs指令,他會給每個工作一個編號,後面fg指令用的到
jobs -l
列出所有背景工作
jobs -r
列出所有背景執行中(&/running)的工作
jobs -s
列出所有暫停(ctrl+z/stopped)在背景的工作

知道了之後當然會想要把他們拿出來用,那怎麼辦呢?fg指令就是把目前在背景的工作帶到前面的指令使用fg %#,比方說fg %3,就是把編號3的工作拿到前景來
如果說想要讓背景的工作由暫停變成執行,但卻不要帶到前景,那可以用bg %#,比方說bg %2是個備份指令,就讓他繼續在背景執行吧

如果不幸這工作因為某些原因,出了問題,想要直接終止他怎麼辦呢?就使用之前的kill指令kill -signal %#,比方說kill -9 %3這樣

2009年11月16日

rkhunter安全工具

因為linux本身有權限的管理,所以不像XP,啥動不動就是administrator,這樣一來要對linux直入病毒跟木馬來大肆破會難度就增高了,所以一班入侵linux跟xp不一樣,就是想辦法取得root權限,就可以為所欲為:P 這樣的工具叫做root kit,是一堆常見的hacker跟craker在用的工具,當然,他山之石,可以攻錯,就有人利用這樣的原理寫出了偵測工具,就是rkhunter

rkhunter可以偵測哪些漏洞呢?其實鳥哥的網站有介紹,簡單擷取如下
  • 利用 MD5 指紋分析
  • 檢查 rootkit 經常攻擊的檔案
  • 檢查是否具有錯誤的檔案權限--針對 binary files
  • 檢查隱藏檔案
  • 檢查可疑的核心模組(LKM/KLD)
  • 作業系統的特殊檢測
  • 檢查已啟動的監聽埠號
  • 特定分析(String scanner)
使用ubuntu安裝很簡單就是apt-get install rkhunter就可以了,他還會幫你加到每天的例行工作內哩,所以你每天就可以收到熱呼呼的rkhunter報告

安裝完畢第一件事情就是
rkhunter --checkall
我建議第一次不要加入--skip-keypress這個參數,好好的把rkhunter做的事情看一遍,有助於理解安全性。我就被抓到一個忘記把ssh的root login的參數設定為no,印象中當時因為某件事情把設定打開就忘記關閉了~囧rz!!
另外一件重要的事情就是要更新阿,沒更新的rkhunter大概跟沒更新病毒碼的防毒軟體一樣,是會過期的,可能會拉肚子阿XD
rkhunter --update
這個指令用來更新

2009年11月15日

nmap簡介

上一篇有提到nmap,它的主要功能是拿來scan port,所以現在來看它是怎樣使用,簡單的用法就是nmap host,這做法是掃描某個host上面的TCP port,如果要連帶掃描UDP則是 nmap -sTU host,結果跟下圖一樣
看到的結果跟我自己想的差不多,除了5353那個zeroconf是啥,說真的到是不知道,不過上網找了之後,似乎也是個無害的服務(?)
接著比較一下netstat的結果,幾乎是差不多的
多了一個57990的port #,從process name來看,好像也是zeroconf的同一掛的

nmap其他參數的用法簡列如下
-sT:用TCP connection掃描
-sS:用TCP syn掃描
-sP:用ping掃描
-sU:用UDP掃描
-sO:用IP為主的protoco進行掃描
-O:除了port scan之外,偵測作業系統類型
-A:除了-O之外,連使用的套件都加以進行偵測

上面的-sP是一個很好用來偵測區域網路哪些主機存活的工具(雖然未必準確,因為主機未必對ping有回應),nmap允許做區網的掃描,比方說對class C的192.168.1.0區域網路掃描
nmap -sP 192.168.1.0/24

nmap有些做法其實很暴力,很容易被人家知道你在進行port scan,所以如果拿去掃描別人的機器很容易招來麻煩,這樣也好,本來這軟體就不應該被濫用

2009年11月14日

Port number管理

先來看網路連線是如何建立的,如下圖
一般在socket剛剛建立的時候會給予資料串流行態,比方說是TCP或只是UDP,在client端一般大多一開始就給定一個隨機的port number,server端則是在listen的時候給定,有了IP跟port number之後就可以提供足夠的資訊做為聯線的依據

在網路上使用服務的時候,一般至少有四樣資料,client端的IP跟port number,server的IP跟port number,一般使用者不會感覺到port number的存在,理由是,client一般使用的是隨機號碼,由作業系統產生,而server的port number一般使用公開的規範,比方說http網頁服務是使用80,所以也由應用程式自行產生,client的IP也是交由作業系統自行帶出,所以剩下server的IP,該IP由DNS轉換得到。在這樣的前提下http://www.kimo.com.tw可能被轉換出IP=10.2.5.8
client ip=192.168.0.1 port number=33775
server ip=10.2.5.8 port number=80

目前網路上port number 1~1024已經被大多數知名的服務佔用,一般不管client或者額外自行開發的server都不會去佔用該number,知名的有http(80), ftp(21), smtp(25), pop3(110), telnet(23), ...可以參考/etc/service該檔案下的紀錄

伺服器在系統管理的時候,有時就要針對port number做處理,也就是監控有多少port number打開了,可以使用netstate -ntul來觀察有多少服務目前正在listen的狀態。要注意目前主機有提供的service有多少,如果有不算是本機的服務port number被打開了,就要注意了
當然如果說本機的listen port number沒有被額外的打開不表示沒有被入侵的風險,可以進一步觀察netstate -ntu列出所有的連線,看是否有資料外流
如果有發現你認為是不正確的資料流的時候可以使用netstate -ntup,參數p表示列出process id,先把該pid刪除,以停止該資料流,接著就要趕緊檢查有哪些問題,修正系統

當然,如果這樣底層的分析,其實還蠻累人的,所以有其他的工具,比方說nmap可以來幫忙

防火牆-iptables的state(3)

這裡要先說明,因為一般許多人把iptables當作單機防火牆,這裡是一個網路防火牆,也就是server跟iptables並不在同一部機器上

iptables的state只有四種NEWESTABLISHEDINVALIDRELATED相較於TCP/IP illustrated作者richard steven提到的TCP狀態差異頗大,因為兩者之間真的不大一樣,可以想到UDP就理論上沒啥state,iptables為了判斷,當然在中間加上很多東西,我們可以看一下richard steven的TCP的state diagram

TCP
iptables使用ip_conntrack模組來追蹤連線狀態,並且配合xt_state/state模組來記錄狀態
  • 當iptables收到一個來自client端的syn封包的時候,他就會把狀態設定為NEW,並且等待server端的反應
  • 當server回應了syn/ack封包到達iptables的時候,他就會把該連線的狀態變成ESTABLISHED
當然,上面提到的state轉換是happy path,如果說client送出了syn封包,但是server在一段時間(目前為120 s)沒有回應syn/ack封包,則iptables會取消該連線狀態;相同的理由,client在一段時間內(60 s)沒有回應three way handshake的最後一個封包,iptables一樣會取消該連線狀態。

當iptables將該TCP連線標記為ESTABLISHED的話,表示已經完成了three way handshake,但是如果再432000 s內沒有封包流過這個連線,iptables一樣會取消這個連線狀態

UDP
同理,UDP對於iptables一樣
當iptables收到第一個UDP封包的時候,會建立一個紀錄source IP, destination IP, source port #, destination port #,然後把狀態設定為NEW
當server回應給client一個封包的時候,就會跟上面記錄的source跟destination相反,這時候將狀態改為ESTABLISHED
在狀態為NEW的時候,有一段時間(30 s)可以等待server反應,不然則清除該連線;在狀態為ESTABLISHED的時候,若是一段時間(180 s)沒有傳輸資料,同樣會清除連線

ICMP
ICMP跟UDP類似,但是由於ICMP封包大多為單一封包,在ESTABLISHED狀態之後很快的會被清除連線

前面看到的都是NEW跟ESTABLISHED,那麼何謂RELATED狀態呢?所謂RELATED狀態泛指NEW之後所產生出來的額外連線,比方說TCP的passive mode,或者ICMP的 time exceeded封包,他們通常是回應給某個特定的source IP,但是根本身建立NEW狀態的封包的destination IP不同(ICMP case),或者port #不同(TCP case)

除了以上三種狀態之外的就通通定義為INVALID狀態,通常防火牆對這類封包就直接丟棄

2009年11月13日

vmware下使用alt+ctrl+f1

vmware player到了3.0已經可以建立vm,不像以前只能使用人家建立好的vm,另外一個常遇到的問題就是,如果使用x-win想要切換到console下一般使用alt+ctrl+F#(1~6)
不過vmware已經把alt+ctrl設定為釋放vmware的focus,所以會導致衝突,vmware的設定是
先按下alt+ctrl+,接著放開,在按下其他F#(1~6)即可

process(程序)管理(2)

ps (process status)指令可以找出process的靜態資訊,通常是因為系統有些問題我們才會使用ps XD,有問題的process該如何是好?絕大多數是kill他,所以linux就有個kill指令
kill指令藉由傳送signal來達到該功能,linux的signal有幾十個要記住也不容易,所以
kill -l
可以列出目前系統上面支援的signal,雖然說很多,但是常用的就是那幾個
kill pid #我要把pid刪除,pid請趕緊善後
kill -9 pid #SIGKILL,你應該要掛點了,趕緊歸還自己的資源
kill -15 pid #SIGTERM,直接要刪除了,你也不用有啥遺言XD
上面參數一個比一個強勢,愈後面的指令愈可能造成資料的損失跟系統的問題,有些daemon可能會不斷的重新啟動,如果你刪除之後發現有相同名稱卻是不同就是這現象
如果只是要重新載入process讓他重新設定,可以嘗試
kill -HUP pid
來強迫他重新啟動

linux提供一個動態的資源顯示的指令,稱為top,他會顯示相當多的資訊,比方說cpu使用量、記憶體使用量、使用者id、process id...等等,也會統計目前系統的cpu跟記憶體的總體消耗程度
按下P他會依照cpu排序
按下M依照memory使用量排序
按下T則依照執行時間排序
按下u再輸入使用者id,則列出該使用者的相關process資訊
按下k再輸入pid則可以刪除該使用者狀況

top事實上相當耗費資源,因為他要無時無刻的監視系統狀況,可以用
top -d 10
表示每十秒更新一次資訊來調節

2009年11月11日

使用者管理(2)

passwd這個指令不只可以用來設定密碼還可以用來刪除密碼,當
passwd -d user_id
的時候,此時這個user登入的時候,系統就不會要求他輸入密碼
另外也有一功能是鎖定(lock)密碼,比方說
passwd -l user_id
這個使用者就暫時無法登入,當然有上鎖就有解鎖(unlock)
passwd -u user_id
那麼如果忘記了這個帳號的密碼設定,到底是上鎖呢?還是刪除呢?還是怎樣?可使用
passwd -S user_id
他會列出目前該使用的密碼狀況

在Fedora上有提供可以建立大量帳號的工具newusers跟pwunconv,不過說實話,他們的用法真的跟直接去修改/etc/passwd這個檔案好沒多少,不如去網路上尋找可用的shell script,有一大堆

2009年11月10日

gnome下的svn client

稍微找了一下,有nautilus-script-collection-svnrapidsvn;前者是nautilus script,並不算是完整的應用程式,必須有nautilus才能用,不過一般安裝了gnome都會有(如果是kde另外有一套for kde的svn client)
nautilus安裝完畢後竟然沒有自動在右鍵跳出選項,上網爬了一下,原來還要用nautilus-script-manager
nautilus-script-manager list-available
可以觀察到可用的script,然後使用
nautilus-script-manager enable Subversion
啟用該script,如果安裝了其他的script,要啟用可能就會把Subbersion換成其他的


在nautilus下使用的畫面如下

開機程序

簡單的次序可以是
  • BIOS
  • GRUB
  • kernel
  • init
BIOS開機檢查一些硬體相關資訊,然後載入存在磁區一開頭的GRUB
GRUB本身設定檔案有儲存kernl(vmlinuxz影像檔案)的位置
kernel本身初始化一些硬體驅動跟記憶體,很重要的一點是掛載swap空間並且掛載/(root)目錄
init,目前init還是存在,不過一些初始化的動作已經改由upstart的程序來使用,也就是啟動相對應run level一開始執行的程序
簡單的upstart說明和相關upstart的資訊
http://www.linux.com/archive/feature/125977
http://upstart.ubuntu.com/getting-started.html

2009年11月9日

使用者管理(1)

使用useradd指令
useradd指令格式為
useradd [-u uid [-o]] [-g group] [-G group,...] [-d home] [-s shell] [-c comment] [-m [-k template]] [-f inactive] [-e expire ] [-p passwd] name
useradd可以用來新增使用者,有兩個跟設定相關的檔案,分別是/etc/default/useradd/etc/login.defs
在useradd檔案內容可能像是
GROUP=100
HOME=/home
INACTIE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes

如果光打username,則相關的設定由上面兩者讀入

刪除使用者使用userdel
userdel username #只有刪除帳號,但是目錄還是保留
userdel -r username #連帳號的相關目錄一起刪除

跟帳號相關的檔案還有/etc/passwd/etc/shadow/etc/group
/etc/passwd的格式為
Username:Passowrd:UID:GID:Comments:Home Directory:Shell
其中password欄位其實是假的,真的資料放在shadow裡面且該檔案經過加密,可是shadow只有root可以讀取。其中在Shell如果指向一個空的檔案,比方touch /bin/nologin,則使用者就沒有shell,無法登入
/etc/group
Groupname:Password:GID:Users
其中使用者如果超過一個可以用逗號(,)分隔

新增群組使用groupadd groupname,相對的刪除群組為groupdel groupname
root有權力可以用passwd username來設定使用者的密碼,同樣有gpasswd groupname來設定群組的密碼。

2009年11月8日

vim的tab功能

聽說是7.0之後加入的特色,不過我一直沒用到XD後來在人家VIM hack的投影片看到有這功能
很可惜他沒有在這個部份著墨很多
進入command mode
:tabnew
建立一個空白的file
:tabe filepath
編輯一個檔案(edit)
:tabc
關閉(close)
:tabn
下一個tab(next)
:tabp
前一個tab(previous)
:tabr
第一個tab
:tabl
最後一個tab
:tabm #
把目前的tab移動到次序#

2009年11月7日

syslog.conf跟sysctl.conf

syslog表示如何記錄log,格式為
訊息的總類.訊息等級 \t 動作

訊息種類有
  • auth
  • authpriv
  • cron
  • daemon
  • kern
  • lpr
  • mail
  • mark
  • news
  • security
  • syslog
  • user
  • uucp
  • local0~local7
訊息等級有
  • debug
  • info
  • notice
  • warning\warn
  • err\error
  • crit
  • alert
  • emerg\panic

不同種類但相同等級以逗號(,)分開
不同的訊息等級但是有相同的動作處理,可以使用分號(;)分開

動作可以有
  • 記錄到紀錄檔
  • 送到某個終端機,比方說/dev/console
  • 傳送到遠端電腦,比方@hostname
  • 把訊息mail給某個使用者
  • 給所有登入者
另外一個重要的設定檔是sysctl.conf,在開機的時候kernel會讀此一檔案內容做一些kernel的設定,比方說packet forward,設定檔內容可以用sysctl -p觀察

2009年11月6日

如何在gnome底將某種檔案格式以特定程式開啟

比方說以comix來瀏覽照片,以java run time來執行jar檔案
對檔案按右鍵 -> 屬性,然後選擇以此開啟,看是要哪一種程式開啟

java5以後的中文處理

只是備份一下,就是多了一個稱為fallback的目錄
找到$JRE_HOME/lib/fonts/,建立一個稱為fallback的目錄,進入該目錄後
把某個中文的ttf link過來比方說ln -s /usr/share/fonts/truetype/arphic/uming.ttc

VPN基本概念

一個世界性組織,處在不同的地方有各自的私有網路是很常見的架構,如果要讓兩邊同時可以溝通,那要如何做到呢?因為基本的兩個地方屬於不同網域,而且又是private domain,架構如下為了讓兩地可以溝通,我們可以在兩邊各自架設一個VPN server,讓VPN server來負責轉換IP的動作,同時也可以在上面執行一些安全的機制,比方說認證機制或者存取控制等等,架構就會如下圖所示
兩邊的VPN Server的基本精神如同NAT Server一樣,只是把IP轉換成相對應的IP,以下圖做表示

當然,如果只是單純的IP轉換是有很大的風險的,也就是在網路上誰都可以擷取該封包,然後往裡看到IP位置,並且隨意偽造一個封包,進而進入該區域,所以一般VPN的封包會加上IPSec的加密機制

他人推行linux平台的經驗

真的值得參考,我想這不是一個簡單的任務,不只牽涉到軟體,更牽涉到硬體,不過中間好笑的事情是M$態度的改變,真的讓我覺得好笑^^" 正體中文Ubuntu討論串
當初很認真的評估了 企業使用Linux的可能性
現在大概經過了半年
我報告一下我們目前的狀況
目前的PC有一千多台,都改成安裝了下列軟體
Openoffice 3.0 取代 MS Office 2003&2007
7-Zip 取代 WinRAR
Thunderbird 取代 Outlook2003&Outlook Express6
Foxit 取代 Acrobat Reader
Picasa 取代 ACDSee
Filezilla取代Cuteftp
也就是說辦公室大部分軟體都換成免費軟體,而且大家還是活著,現在已經使用半年多,該解決的問題也都解決光了,未來也是會這樣進行,但是XP還是XP。

為 何XP沒變成Ubuntu呢? 主要還是我們有些單位如人事.財務都是買第三方軟件,只能在windows使用,加上我們自己的OA系統也是用.NET開發的,在Firefox下有很多 問題,所以OS部份就做罷了!還是把XP 留下! 再來只能慢慢地將相關程式轉到java平台靠攏,轉換成Linux可能性會更高一點,其實也有想過把這些一定要Windows的系統移到Terminal Server上,不過還需要一些時間測試。

所以企業使用Linux的可能性可能還要花一段時間來醞釀,但是企業使用OpenSource的可能性是很高的,前述的相關軟件都換了以後,就不會被微軟死盯著不放,也比較不會有版權疑慮,有些小工具如壓縮軟件,看圖程式,如果都買要版權的也要花不少錢。

另 外再補充一下,微軟真的有可能監控每一台電腦到底安裝了多少他們家的軟體,自從我們狠心的把所有MS Office換成OO.o後,微軟姿態突然改變,態度變成很柔軟(之前是三不五時,法務打電話來威脅,還寄存證信函,委託律師事務所打電話,姿態之高真是 令人畏懼),所以讓人不懷疑微軟都很難。 (當然不排除他沒監控,而是買通我們內部的人,我們自己出了內賊)

再來是Openoffice 真的可以取代MS Office嗎? 我們用了半年多,算是慘痛經驗的分享吧! 如果真的換了,要一直被煎熬一段時間,首先是使用者不熟悉的問題,所以我自己去蒐集了一堆資料還整理教材,請使用者反應問題,當中不斷實施教育訓練.宣 導,到現在終於好一點了。但是Openoffice有一些我覺得是無解的問題,像我們有很多機器是512M的機器,用Openoffice會有點吃力,三 不五時就會當掉,資料太多也會當掉。 目前3.0與office產出檔案不大相容的問題,目前我還是蠻頭疼的,像powerpiont檔案Open開格式換亂掉,excel檔案裡面有公式&巨 集要重弄,篩選不正常等等問題。目前我是都請他們用Open去作檔案,不要混用現在好多了。也因為Open與MS有些相容性問題,所以有一部分MS Office重症使用者每天再拉報表.統計分析的,我們現在買了金山的WPS與微軟相容性很高直接修改都沒問題,速度也很快(好像比微軟還快),而價格約 微軟的1/3所以,要省錢這也可以考量。

當然如果你們公司每年的IT預算都花不完,就參考參考就好,以免惹得天怒人怨,我呢?是不得已而為之,如果你不想用盜版(盜版畢竟有風險到時被抓還要上法院),手上卻又沒錢,那可以參考看看喔~~~一開始會很苦,上軌道後會有成就感喔~~

補 充一下:企業應該有一半的人是可以用Linux的,因為對Linux沒有像Windows那麼熟(像給Users權限不讓使用者亂搞,另外現在也沒有 Linux版的端點防護軟體),所以目前還不會換,但是我自己已經用Ubuntu好久了,真的不得不用XP時,我會開VirtualBox得來用。

防火牆-iptables(2)

iptables目前共有四個tables,分別為Filter table, NAT table, mangle table以及raw table
都可以使用iptable -t table_name -L來觀察chain,預設不輸入table_name則顯示filter table
每個table都由一些chain組成,底下列出他們組成的chain
  • Filter table: INPUT, OUTPUT, FORWARD
  • NAT table: PREROUTING, POSTROUTING, INPUT
  • mangle table: PREROUTING, INPUT, FORWARD, OUTPUT, POSTROUTING
  • raw table: PREROUTING, OUTPUT
Filter的流程判斷如下圖

提到NAT (Network Address Translation)就要提到SNAT跟DNAT,SNAT改寫source IP,相對的DNAT改寫destination IP
NAT流程如下圖

Managle Table的作用目前還不明顯,因為可用的模組不多,主要可以用來操作QoS的應用
Raw Table則是隨心所欲,但是也相當的原始

2009年11月5日

linux抓圖軟體

linux底下抓圖我一般使用gimp,可是用了一陣子之後發現還挺不夠便利,因為gimp本身比較大,開啟要比較久,網路上找了一下發現有另外一套叫做ksnapshot的,感覺還不錯,缺點就是不能直接編輯,gimp可以

系統資訊(2)

其實大多的系統資訊可以透過/proc這個目錄拿到,有趣的是,如果你仔細看檔案大小,大多是0 bytes而且是read only。其實這個目錄的檔案大多是核心的介面,大多可以用cat指令讀取上圖示一個ls的結果,可以看到一堆帶有號碼的目錄,其實他們都是process id,代表每個process的資訊,其他則是望文生義(不過要有些電腦底子)
之前已經看過了cpuinfo跟meminfo了,這次來看一些IO devices
cat /proc/devices
可以列出兩大類的IO File,就是character跟block

cat /proc/interrupts
他會列出相關的IRQ

cat /proc/ioports
列出相關io port的adress跟name

防火牆概論

防火牆在控制不同網路資料流動,一般將網路區分為可信任區域跟不可信任區域,所以一般防火牆都具有封包過濾的功能

分類方式很多種,比方說以軟硬體的方來分
  • 軟體防火牆:例如iptables或者zone alarm之類的軟體,屬於軟體防火牆
  • 硬體防火牆:同時是網路設備又具備有防火牆功能,比方說router加上防火牆功能
或者以技術分類,有
  • 封包防火牆:主要針對封包格式作過濾
  • 應用程式防火牆:針對應用層作過濾,比方說email
以架構來說有常見的幾種
  • 單機:只作用在單一機器上
  • 閘道防火牆:處於網路設備上,通常有routing的功能
  • 通透式防火牆:一樣是在網路設備上,但是只有過濾功能,通常作成類似bridge形式,無IP,難攻擊

如果閘道防火牆只有兩個網路介面,只能把server與一般企業網路內電腦放在同一邊,如下圖

這架構的問題是,企業內部網路與server暴露在同樣的風險下,如果可以有三個介面以上,將對內/外提供服務的server分開,則可進一步的提供保護,server所處得區域稱為DMZ(Demilitarized Zone)架構改變如下

最後是如果將一般防火牆改變為bridge模式,僅僅提供防火牆功能,因為沒有IP,也不會被routing功能影響,所以難以攻擊,如下圖

2009年11月4日

wordpress體驗

話說~看到很多人使用wordpress,讓我想體驗一下wordpress到底是怎樣的一個東西,為何這麼多人為他著迷~選擇他當blog
今天嘗試在虛擬機器上面安裝wordpress 2.8.4,發現~介面跟管理上面wordpress真的比blogger好許多,害我超級想跳到wordpress上面的XD

2009年11月3日

程序(process)管理與檔案(lsof)

最常用來觀察系統process的指令就是ps跟top
ps aux
A表示所有process皆列出,a表示不與terminal有關的
u表示有效user

列表的caption大多可以望文生義,其中比較特別的有
VSZ :該 process 使用掉的虛擬記憶體量 (Kbytes)
RSS :該 process 佔用的固定的記憶體量 (Kbytes)
STAT:表示狀態,process狀態有底下列出的幾種
  • R (Running):該程式正在運作中;
  • S (Sleep):開程式目前正在睡眠狀態(idle),但可以被喚醒(signal)。
  • D :不可被喚醒的睡眠狀態,通常這支程式可能在等待 I/O 的情況(ex>列印)
  • T :停止狀態(stop),可能是在工作控制(背景暫停)或除錯 (traced) 狀態;
  • Z (Zombie):殭屍狀態,程序已經終止但卻無法被移除至記憶體外。
pstree可以使用樹狀列表的方式顯示process,可以看到由哪些process生出了哪些process
top則列出目前系統執行的時候,各個process佔用的資源比例

在unix/linux底下幾乎可以把所有東西看成FILE/檔案,包含socket、device...等等,所以有個可以觀察開啟檔案的指令叫做lsof (list open file),其實資訊是由/proc來的,可以觀察非常多東西,不過也非常難整理(如果不加參數),使用lsof時建議使用root權限,不然可能因為權限問題看不到資料

lsof -u user_id
觀察使用者開啟的檔案
lsof +p procces#
觀察process#所開啟的檔案
lsof -i:#
-i跟:間沒有空白,觀察某個port number所開啟的檔案
lsof `which apache2`
觀察哪個process在使用apache2程式
lsof /dev/hda6
觀察哪個process佔用這個device

SUID, SGID, SBIT

set uid是為了特殊狀況設計出來的,比方說使用passwd這個程式修改密碼的時候
鳥哥簡單列出set uid的四個特色
  • SUID 權限僅對二進位程式(binary program)有效;
  • 執行者對於該程式需要具有 x 的可執行權限;
  • 本權限僅在執行該程式的過程中有效 (run-time);
  • 執行者將具有該程式擁有者 (owner) 的權限。

以其中的例子來說,一般人修改自己的密碼需要修改/etc/password這個檔案,可是一般的使用者並沒有權限修改這檔案
當root所有的檔案權限為rwxr_xr_x的時候,一般人可以執行,可是執行程式的權限全都是個人權限,也就是說當這個程式想要讀取某個檔案的時候,會先檢視該執行人是否有權讀取
當一個程式有set uid就表示,這個程式執行期間,不再以執行的使用者來看待,反而是以owner的權限來看待
所以passwd這程式權限rwsr_xr_x

有set uid,同樣就有set gid,有這權限的程式的特色為
  • SGID 對二進位程式有用;
  • 程式執行者對於該程式來說,需具備 x 的權限;
  • 執行者在執行的過程中將會獲得該程式群組的支援!
  • 使用者若對於此目錄具有 r 與 x 的權限時,該使用者能夠進入此目錄;
  • 使用者在此目錄下的有效群組(effective group)將會變成該目錄的群組;
  • 用途:若使用者在此目錄下具有 w 的權限(可以新建檔案),則使用者所建立的新檔案,該新檔案的群組與此目錄的群組相同。

stick bit則是另外一種特色
  • 當使用者對於此目錄具有 w, x 權限,亦即具有寫入的權限時;
  • 當使用者在該目錄下建立檔案或目錄時,僅有自己與 root 才有權力刪除該檔案

設定的代號為
  • 4 為 SUID
  • 2 為 SGID
  • 1 為 SBIT

要設定SUID
chmod 4755 => rwsr_xr_x
chmod 6755 => rwsr_sr_x
chmod 1755 => rwxr_xr_t
chmod 7666=> rwSrwSrwT
最後一個要特別注意的是,明明連owner都沒有權限了,怎麼會把這權限授予其他人呢?所以旗標為特別的符號

2009年11月2日

自我催眠

發現很多人(包含我自己)都繪有自我催眠某些東西好用,曾經一度把linux當作所有的解答,M$的東西是落後的等等~其實最後會發現,啥東西都有優缺點
最近看到另外一個自我催眠的友人在用mac book,說多好用又多好用,整理桌面只要用幾個手勢就可以完成。
但是根據我側面觀察是.....
  • 下面一排工作不關閉,常常滑來滑去找開啟的程式(這樣會比較快??)
  • 很多東西要回到XP底下,用vmware fusion然後用xp
  • 還是有些軟體是用來路不明的版本的(我印象中mac使用者都相當以用正版自豪)
  • 會抱怨附近AP要登入很麻煩(不都是這樣@@a)
  • 不用Office(包含mac版的),只用google文件,問他沒網路怎麼辦?他說沒網路就不工作orz
  • itouch現在幾乎已經丟在桌面上,很少用,以前剛買來還每天在上面看投影片,現在都印紙本在看
  • 說mac很省電,可是幾乎都是接著電源線在用,我想他也沒必要在乎電力orz
  • mac book有時候就丟在櫃子裡面,偶爾背著回家
  • 不想要買PC,覺得那東西很差,管你幾個核心,都比不上mac設計的有效

我寫了這麼多不是要證明mac不好用,我覺得是他用的方法有問題,還有一昧的認為mac book是total solution,mac有好些設計真的是相當的方便,比方說接頭有磁鐵,方便插拔。
我想重點是~任何東西都有他適用的狀況,不必過份自我催眠。有些軟體就只有在M$上有,想用的人自然得回到M$上,不必太在意

2009年11月1日

系統資訊(1)

在我古老的記憶中(blog裡面有)有個圖形工具叫做sysinfo可以取得系統的各項資訊,可是如果今天只有console呢?那就只有用指令的方式囉

uname -a
查看核心版本
cat /proc/cpuinfo
取得cpu資訊
cat /proc/meminfo
取得記憶體資訊
free -m
觀察記憶體使用狀況
lspci
取得介面卡上的資訊,從顯示卡啦、網路卡啦、USB都有