2011年12月20日 星期二

TTL之大小與網路節點數量

上個月跟老婆看了一部很棒的電影In Time,中文翻成"鐘點戰",描述每個人的生命在過了25歲之後,就開始跟手上的數字拔河,數字歸零時就是生命的終點!!

就像在網路我們透過Ping,去追查一個端點的TTL(Time to Live)值一樣,每經過一個網路節點(通常是Ruoter),其TTL值就會扣掉"1",一直到扣到TTL值為零時,該封包就像鐘點戰裡的人類一樣,代表生命的結束。

雖說透過TTL的大小可以判斷經過的節點,但…數值大就代表經過的節點少、數值小就代表經過的節點多嗎???

以下圖來說,從內部網路Ping到中華電信DNS主機的TTL值為: 247

而下圖,是內部網路節點的Ping資訊,TTL值是:63

如果我們單純以TTL值來判斷,那上面到DNS的值為247 > 63,代表連線到中華電信所經過的節點比較少!!

這是錯誤的判斷!!

原因是因為TTL的初始值是由對點,即您的目的地所決定的。這個初始值可以是32,64,128,255等變化,依不同的系統與設備有不同的TTL初始值,這裡可以看到一些初始TTL值:

所以當我們在判斷經過多少節點時,公式應該是這樣:
網路節點數量 = 初始TTL值  - Ping所得到的TTL值

所以以上例來說,我們需先得知究竟對點的初始TTL值為多少?
到中華電信的TTL值是247,初始值一定是255^^
而到192.168.40.253這台是環境的CoreSwitch,其TTL初始值是64

所以兩點的節點數量套用上面的公式分別如下:
中華電信DNS主機:
節點數量 = 255 - 247 = 8
內部CoreSwitch:
節點數量 = 64 - 63 = 1

所以....雖然從Ping得到的TTL值較小,但,其所經過的節點數量是較少的!!

故,當我們在判斷網路節點時,應以初始TTL減去Ping得到的TTL值來判斷
而不是當以Ping得到的TTL值來判斷網路節點!!

2011年11月23日 星期三

體驗Foundstone 7

今天終於有機會把Found Stone 7給裝起來試看看^^

它的安裝需求與6.7一樣:
需要環境: Win2003(Eng)+SP2+IIS+Mysql2005+SP2

安裝好之後如下:

 跟6.7版一樣,是Web Client架構。
唯一感受上的差異是…安裝過程已經設定好GSGlobal 帳號的設定,
不需再另外設定…讓整個安裝流程簡化許多!!

6.7到7.0其實沒太大的差異,主要如下:
除了畫面有變美之外…就是對Web的安全檢測有加強!!
如下,可以對WEB安全檢測個各設定。


總結,不像6.0到6.7的大改版,7.0版只算是6.7版的進化,使用上的差異不大,
多了Web的檢測,與資產項目的整合。

2011年10月5日 星期三

防止私接Switch的利器 - BPDU GUARD

今天客戶問我一個問題:

為什麼設定了Spanning-tree portfast還有spanning-tree bpduguard enable那個port不能接switch!?

回答這個問題之前,有三個名詞要先了解:
1.spanning-tree: 中文好像翻成生成樹,管它什麼翻譯,這個東西是Switch上的設定,設定上去後,Switch與Switch之間會相互溝通,避免網路迴圈(loop)狀況產生,缺點是剛接上switch的設備會需要30~50秒的時間…溝通…之後網路才會通。

2.portfast: 這是spanning-tree的進階設定,目的就是當確定網路port所連接的設備確定是終端設備,如印表機、PC、Server等時,不需要switch之間的spanning-tree那30~50秒的溝通,可以利用portfast跳過這個溝通時間。

3.BPDU:全面為bridge protocol data unit,為switch之間spanning-tree溝通的協定資料,只要有spanning-tree的環境就會有BPDU存在。

了解這三個名詞之後,再來看spanning-tree的進階設定"BPDUGUARD",我們知道bpdu是switch之間溝通spanning-tree的協定資料,那來防止bpdu的bpduguard就是防止switch之間溝通spanning-tree的保彪,問題是…為什麼要禁止spanning-tree呀??這不是防止loop發生的好機制嗎??

原因是spanning-tree是cisco switch預設的功能,只要開機就有啦!!所以只要把一台switch接到另一個swich就會發生spanning-tree的溝通。這時....BPDU GUARD的功就用產生了,可以用來避免人把swich接到自已的網路環境,因為只要一接上就會有bpdu協定資料出現,這時bpdu guard就會將該port error disable,來避免有人私接swich進網路環境。

聰明的您應該有發現,這有個前提,整個bpdu guard的保護只能保護會發送bpdu的switch,如果對方把spanning-tree關掉,或是非cisco swich,這個安全機制就破功啦@@

雖然如此,這還是一個很好的功能,比如說某天自已忘了,接了一台swich上去,更動了原本的STP架構,這不就糗了!!透過BPDU GUARD就是在避免STP被更動的危險狀況!!

最後…回到原將問題:
為什麼設定了Spanning-tree portfast還有spanning-tree bpduguard enable那個port不能接switch!?


因為spanning-tree bpduguard enable之後,會開啟spanning-tree的bpdu防護機制,避免swich之間有spanning-tree的溝通資料(bpdu),或者說,避免有人私接switch進來,因為當對方一接進來,該port會偵測到bpdu資料,此時已啟用bpdu guard的switch會自動將該port Error Disable。所以更正確一點的說法是,不能接會發送bpdu的switch進來,如果非cisco swich或是已關掉spanning-tree的swich還是可以接進來的。

2011年10月2日 星期日

Cisco 瘦AP加入Controller (Lightweight AP join the Controller)

如何把Thin AP (Lightweight  AP)加入Controller內?


最近常有機會在不同的環境將thin ap 加入controller裡面好讓controller控制,方法很多,到底環境要用什麼樣的方式來加呢?先了解ap如何與controller溝通,再依不同的環境選合適的方式。

Cisco 瘦AP加入Controller的順序依序如下:
1.區域廣播(Local IP Subnet Discovery):
原理:先用廣播的方式,找到環境內的Controller,也就是thin AP與Controller在同一個網段裡,這是最快也最簡單的方式。
方法:只要把AP插上電與網路即可。

2.空中廣播Over The Air Provisioning(OTAP):
原理:當從網路線上廣播找不到controller時,第二步透過空氣中的無線電廣播,找尋有沒有其它ap已經有controller的資訊,有的話就跟著去找到Controller
方法: 把AP放置在已加入controller的thin ap 附近。

3.Locally Stored Controller IP Address:
原理:如果從空氣中找不到其它AP的訊號,第三步就是找尋自已AP內是不是有設定過Controller的資訊?Controller 的IP地址,有的話即透過此IP地址去找Controller
方法:以console線接到ap,從CLI輸入下列指令
lwapp ap controller ip add x.x.x.x
上面指令即是告訴AP controller在哪裡,如果環境沒有dhcp先配方ip的話,需要先設定ip給thin ap,指令如下:
lwapp ap ip address x.x.x.x x.x.x.x

4. DHCP option 43:
原理:如果AP本身沒有設定Controller的IP資訊,接下來即找尋DHCP的option43資訊,是否有設定controller的位址,有的話即套用此IP位址與controller溝通
方法: 以cisco switch為例,設定dhcp 的option如下:
ip dhcp pool wireless
   network 192.168.1.x 255.255.255.0
   dns-server 192.168.1.x
   default-router 192.168.1.254
   option 43 hex f104.c0a8.a202
簡單說明option 43,option43是16進制的IP位址,所以在option43之前需指定hex(16進),而這16進的號碼是由Type + Length + Value 所組成。Type比較簡單,永遠是0xF1,只取F1為開頭。而Length就看有設定多少個IP位址,以IPv4來說,192.168.10.5是一個IP有四段,所以length為4,如果是兩個ip,比如192.168.10.5與192.168.10.6有兩個IP, length為8。最後Value就是把IP位址改成16進。
下面的例子是把192.168.10.5與192.168.10.20這兩個controller ip設定成option 43的格式:
option 43 hex f108c0a80a05c0a80a14

5. DNS Discovery:
原理:最後,DHCP沒設定option 43的話,就是看DNS有沒有指定Controller在哪?有的話即進行與controller的溝通。
方法: 即是在DNS上加入一比Recorder ,如下:
 CISCO-CAPWAP-CONTROLLER.localdomain  10.0.0.1
後面的localdomain為環境的網域名稱,上面紅色的部份是ap會找尋的固定名稱,需要一樣


當跑完上面五個流程都沒找到,就會從頭再來一次,直到找到controller為止,因為…thin AP沒辦法像FAT AP能夠勇敢、單獨的存在著。

所以可以簡單的把Thin AP 加入Controller的方式概分為兩種環境:
1.同一個網段裡: 這是最簡單的,即上面介紹的第一種方式區域廣播,只需要確認ap有電、有網路線即可。
2.不同網段裡:跨網段可以從上面2~4方式選一種,以簡單方便為主。



2011年9月20日 星期二

Cisco IP phone 常用秘技

常用密技1. Reset整台話機到預設值:
先把電源線拔除(或PoE線拔除),再重新將電源接回。
電源線接上後長按#字鍵,直到mute,speaker或畫面旁的雙鍵輪流閃爍、
放開#字鍵,輸入: 123456789*0#
需在一分鐘內輸入完成,完成後即會在網路內找尋CUCM更新啦^^

常用密技2. 功能解鎖鍵:
輸入**# 即編輯上鎖的功能^^

2011年9月10日 星期六

弱點掃描自已來 - FoundStone6.7基本設定


裝好之後到開始掃之前,有一些設定要做,
做完之後才能開始掃~
1.  開啟FCMconsole程式:
   開始->所有程式集->FondStone->FCMconsole
   選擇Accept


2. 設定登入的Globaladmin帳號密碼: (安裝時所設定的密碼)


3. 登入後記下FSIPFQDN:










4. 修改Windows系統下的hosts檔案:


5. 以系統管理帳號進入FoundStone頁面:
   https://localhost/ 開啟登入頁面,預設登入資訊:
   Organization: FSglobal
   User Name: Globaladmin
   Password: (FCMconsole設定的密碼)

5. Organization下按右鍵新增一組可以掃描的組織:

名稱自取易記名稱


6. 設定這個組織可以掃描的Pool:
由於自已掃,所以就全開。點選0.0.0.1 ~ 255.255.255.254à按下Add to Pool:

7. 選擇這個組織可以掃描的引擎:

7. 設定這個組織的使用者: (重點在User Name Password待會登入使用)
按下Finish完成設定!!

弱點掃描自已來 - FoundScan6.7簡單安裝

許多環境都有弱點掃描需求,也常需要花費、或靠廠商來執行,
何不自已來呢??

硬體
¨   CPU: Pentium 4 or above (2GHz is better)
¨   Memory: 建議最少1G
¨   Disk Space: 40G以上

軟體
¨   Operating system: Windows 2003 Service Pack 2 IIS要啟動
¨   Microsoft SQL Server 2005 Stander with Service Pack 2

開始FoundScan安裝

1. Double click FoundstoneEnterpriseSetup67.exe



2. Architecture選擇”Single-Server”
   System 選擇”All Components”


3. 設定資料庫的密碼(即安裝SQL2005時所設的密碼,我的VM 密碼為ringline)

4. 安裝前系統檢測,需要全部Passed才能安裝,如果沒有就把系統環境補好再安裝(Windows patch,IIS,SQL等環境)


5. 輸入主機資訊,主機名稱會自動帶上,密碼有複雜度要(我通常以P@ssw0rd符合要求也便利大家使用)




6. 安裝前參數確認,基本上就是按下next


7. 系統相依系確認,正常情況如下,確認都Pass即可繼續安裝




按下Next即開始安裝:
(安裝過程有錯誤訊息,需檢測WindowsIISSQLpatch是否安裝正確)

8. 看到這個訊息就是安裝完成啦!!
完重後要重開電腦