close

引用   http://www.wretch.cc/blog/ksyuan/11738522

 

July 30, 2008

網路芳鄰徹底剖析&實戰分析

【教學】網路芳鄰之瀏覽服務 – 觀念篇

網路上的芳鄰,英文為 Network Neighborhood 或 My Network Places,這是利用「電腦瀏覽服務(Computer Browser Service)」,來讓我們可以在電腦上看到其他電腦、工作群組(workgroup)及網域(domain)以及各電腦上的分享資源。

若您要使用網路上其他電腦或印表機等的網路資源,您的電腦必須要安裝「Client for Microsoft Networks」,此元件讓電腦可以存取 Microsoft 網路資源(Allows the computer to access resources on Windows networks.)。

在 Windows NT/2000/XP/Server 2003 的電腦是由「工作站服務(Workstation Service)」來負責此元件,且為「電腦瀏覽器服務(Computer Browser Service)」所必須。

所以關於這方面的問題,除了要看「Client for Microsoft Networks」是否有安裝外,在 Windows NT/2000/XP/Server 2003 的電腦也要確認「Workstation Service」是否有啟動。

共用的通訊協定(protocol),作為 Client 或是 Server 的電腦上必須同時有安裝一個以上相同的通訊協定,
一般常用的有:

(1) TCP/IP:建議安裝,尤其是要連上 Internet。

(2) NetBEUI:若不需要連上 Internet,可以只安裝此一通訊協定,安裝後不須設定其他參數,因此相當簡單方便﹔不可跨 Router。

(3) IPX/SPX:有特殊需要(連接NOVELL網路)才安裝。

電腦一啟動時,會發出封包告諸網路上的其他電腦它的存在(presence),並會廣播一份該台電腦上共享資源清單(list)。此廣播在一開始的 5 分鐘每分鐘發出一次,之後每 12 分鐘發出一次。此一廣播每個通訊協定(Protocol)都會發佈,所以電腦上的通訊協定安裝越多,網路就會越擁塞。

「主瀏覽器」會接收各台電腦發出的資源清單,並且整合到該網域/工作群組的資源清單中。每 15 分鐘,「主瀏覽器」會將資源清單傳給「次要瀏覽器」。

由於資源清單的傳送有時間差,因此在點選「網路上的芳鄰」可能會看不到即時的資源分享清單﹔同理,如果有電腦關機,其顯示也因為有時間差的緣故,可能導致看得到卻連不到的狀況。如果確定電腦有開機且資源分享的設定正確,即使在「網路上的芳鄰」看不到,也可以使用 UNC 路徑來連結使用該資源。

電腦正常關機時,即會發出封包告知「主瀏覽器」而將其移出瀏覽清單,因此只有 15 分鐘的時間延遲。如果電腦發生不正常關機,「主瀏覽器」要連續 3 次(每次 12 分鐘)收不到該台電腦的廣播才會判定該電腦不在網路上,再加上「主瀏覽器」將資源清單傳給「次要瀏覽器」要 15 分鐘才做 1 次,時間延遲會達到 51 分鐘。

也就是這個原因,有些書籍不想解釋的太深入就乾脆告訴你,某些網路組態更動後一小時之後才生效。

在一個用網路連結的電腦環境中,兩台電腦(含)以上必定會選出一台電腦來提供集中式的分享資源名單(list of shared resources),而不是各自電腦來自行管理,這樣可以減少網路上無謂的傳輸與 CPU 的耗用,被選出的電腦即為 「主瀏覽器」(Master Browser)。

「瀏覽器角色(Browser Roles)」共有五種:

1. 非瀏覽器(Non-Browser):顧名思義,此電腦不需要管理任何和瀏覽器有關之事情,不用維護瀏覽清單,但是要定期向「主瀏覽器」宣告自己的存在。

2. 潛在瀏覽器(Potential Browser):有可能成為「主瀏覽器」或是被「主瀏覽器」指定成為「次要瀏覽器」。 

3. 次要瀏覽器(Backup Browser):會從「主瀏覽器」拷貝一份網路資源瀏覽名單,並會散佈給同一網域或工作群組內發出要求電腦。「次要瀏覽器」會每 15 分鐘向「主瀏覽器」發出要求並得到最新的拷貝,若是沒有得到「主瀏覽器」回應,就會發起一個 master browser election(主瀏覽器選舉)。 

4. 主瀏覽器(Master Browser):負責創造和維護網路資源瀏覽名單,每當有一電腦開機,此新開機之電腦會發出訊息給「主瀏覽器」表示此一電腦的存在,而「主瀏覽器」即會更新其瀏覽名單,同時也會把名單定期拷貝給「次要瀏覽器」。

5. 優先主瀏覽器(Preferred Master Browser):如網域主瀏覽器(Domain master browsers):為一網域之 PDC 或 PDC Emulator,同時也為「主瀏覽器」,其角色為和其他的子網路(subnets)或工作群組中的「主瀏覽器」溝通。

每個網域/工作群組之「主瀏覽器」與「次要瀏覽器」的數目:

每個網域/工作群組只有 1 台「主瀏覽器」。
若網域/工作群組有 2 台電腦,則「主瀏覽器」與「次要瀏覽器」各有 1 台。
2 ~ 31 台電腦則「主瀏覽器」與「次要瀏覽器」各有 1 台。
32 ~ 63 台電腦則有「主瀏覽器」1 台與「次要瀏覽器」2 台。

依此類推,之後每增加 32 台電腦則另外再增加 1 台「次要瀏覽器」。也就是電腦數量最接近且小於 32 n,則有「主瀏覽器」1 台與「次要瀏覽器」n 台。

「主瀏覽器」與「次要瀏覽器」的決定依據:

1.「網域控制站」, PDC(Primary Domain Controller),BDC(Backup Domain Controller), Member Server, Standalone Server,Workstation。
2.「伺服器級作業系統」、「工作站級作業系統」與「家用級作業系統」。
3. 作業系統的版本。
4. 作業系統出版時間。
5. 開機的先後。
6. 其他設定。

Browser election 會發生是因為以下情況 : 1. 當有一台電腦無法與「主瀏覽器」聯絡時。 2. 當具有「主瀏覽器」優先權的電腦上線時。 3. 當「網域控制站」啟動時。 

一些簡單的原則可以決定誰是 master browser : 在登錄資料庫中有一些關於 browser 的參數,可以決定是否要作為 master browser or potential browser;而作業系統的優先順序則為 : Win server(2003、2K、NT4 )> XP pro、2K Pro、NT4 workstation > XP Home > Win Me(Win9x)。

若是同等級的 OS 則先看版本(如XP SP-2 > XP SP-1);版本也相同時,再看是誰先開機完成;若還比不出輸贏,則會看哪台電腦名稱的英文字母較小(a 最小)。

Browser election 是很討厭的,一堆 broadcast 在網路丟來丟去的,浪費網路資源。而且要一段時間後整段網路的網路資源瀏覽名單才會穩定下來,若是要好好管理,可以先規劃網路內各電腦之 browser 角色。

所以「網路上的芳鄰」常會碰到許多問題,有一部份是電腦間彼此溝通的時距所產生的。前面說過了,除了剛開始開機時,電腦會比較頻繁地傳遞訊息給 master browser,之後每 12 分鐘才會再傳遞一次表示此電腦仍然存在,若該台電腦關機後,master browser 必須要連續 3 次(36分)沒有收到該電腦的訊息,才會把他從網路資源瀏覽名單中除名。

所以會發現在「網路上的芳鄰中」有某電腦名稱,但卻無法連結的情況,又或者在開機之後;「網路上的芳鄰」內可能沒有其他的電腦,您必須給 master browser 時間把網路資源瀏覽名單完全建立起來,若是因為開機的順序造成 Browser election,那您就要給他更多的時間了。

「主瀏覽器」與「次要瀏覽器」掛了時,只要有 client 打開網路芳鄰,找不到網路資源瀏覽名單,它就會發出選舉需求通知,要網路內的電腦宣告自己的作業系統版本;以及擔任主瀏覽器的優先權,如果某個「瀏覽器」收到選舉請求,它會將準則和自己做一個比較。如果它贏了,就會向外送出最多四個選舉封包,封包送出之後,如果沒有收到更優先準則的選舉封包,那麼它就成為「主瀏覽器」。

任何無法找到「主瀏覽器」或「潛在的瀏覽器」的電腦,在初始化期間都可能會引發選舉。當「主瀏覽器」正常關機時,也會引發選舉。

當你開啟網路芳鄰後,發現一支手電筒在那裡又照又搖時,就是它們在選舉爭取擔任主瀏覽器的地位,爭執不下的時候,就看那一支手電筒一直晃啊晃的!

選舉這種事不管是人與人或電腦對電腦都是很浪費時間的,尤其是浪費頻寬,所以如果可以來個同額競選,那不就不用選了嗎?是的,我們可以透過 Registry 的設定,讓大部份的電腦放棄參選,只留下幾部伺服器級的主機參選 潛在瀏覽器(Potential Browser) 就可以了,方式如下: 

在 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Browser\Parameters 中修改或新增數值如下: 

IsDomainMaster 
  設成 Yes / True / 1 (三者其一) 表示優先當選 Master Browser。 
  設成 No / False / 0 (三者其一) 表示棄權不參選 Master Browser,最多做 Backup Browser。
SERVER等級以下的作業系統預設為:FALSE。

MaintainServerList 
  設成 NO 表示棄權不參選 Backup Browser。 
  設成 YES 表示優先當選 Backup Browser。 
  設成 AUTO 表示參選 Backup Browser。(預設)


資料來源 ESWL 

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

【教學】網路芳鄰之瀏覽服務 – 實戰篇

一.帳號
要分享的資料最好集中於一處(例如:XP的共用文件夾),不要東一個西一個的分享;管理起來才會方便。
不要開啟GUEST帳戶。咦!怎麼跟別人說的不一樣?文末我會跟你說明。 

在您所有要構成區網的每一台電腦內,都開設同一個專門用於網路分享用的帳戶(例如: Lanuser), 這樣才不會你有10台電腦,除了自己的帳戶外;還必須在每台電腦為其他9台各開一個帳戶。 而這個專門用於網路分享用的帳戶權限,請一定要設密碼! 就算您懶的多開一個帳戶,執意利用GUEST帳戶作為網路存取帳戶,也請一定要設密碼。 

權限建議設為USERS(受限制的)就好;最多是POWER USERS(WIN 2k稱為標準使用者)。至於存取分享資料夾的權限設定,稍後在述。

二.開啟共用 
WIN XP預設採「簡易檔案共用模式」,而且只有使用NTFS格式的WIN XP PRO可改採傳統共用模式;WIN 2K預設就採傳統共用模式。 

WIN XP PRO怎麼改用傳統共用模式? 
「資料夾選項」→「檢視」標籤 →「使用簡易檔案共用 (建議使用)」取消勾選 →確定。 

三.設定區網群組 
(1).確定您所有的電腦皆屬同一個工作群組,且所有的電腦名稱都是唯一的。 怎麼看? 
我的電腦 → 右鍵 → 內容 → 電腦名稱;有需要改變的話請按「變更」。 

(2).HUB沒有DHCP(Dynamic Host Configuration Protocol 動態主機規劃配置協議)的功能;所以我們最好給每一台電腦指定IP Address(網際網路協定位址)、Subnet Mask(子網路遮罩) ,請您備好紙筆;每設好一台就抄起來,因為區網之中IP Address是不可重複的。 

請養成一個好習慣;在每台電腦機殼或螢幕邊還有對應的網路線兩端,用標籤貼紙註明:電腦名稱和IP,日後有障礙時查找才會方便。 

怎麼設? 網路芳鄰 → 右鍵 → 內容 → 區域網路 → 內容 → Internet Protocol (TCP/IP) 內容 →點選使用下列的IP位址; IP位址只要是虛擬區段的都可以,但是要所有的電腦都在同一區段。 

建議採用 192.168.0.2~~192.168.0.254這個區段。為什麼不要用192.168.0.1和192.168.0.255? 容後說明。子網路遮罩只要區網的電腦不超過254台;您可以用255.255.255.0 。 

(3).分享您預備共用的資料夾 
於欲分享的資料夾→右鍵→共用和安全性→共用此資料夾→使用權限→新增→進階→立即尋找→選Auhtenticated Users 或那個專用於網路存取用的帳戶→確定→移除Everyone→確定 

如果您的共用資料夾是位於NTFS的磁區; 回到共用文件對話框→點安全性→新增Auhtenticated Users 或那個專用於網路存取用的帳戶;然後移除Everyone →設定Auhtenticated Users 或那個專用於網路存取用的帳戶權限→確定→確定 

(4).關閉XP內建的區域網路防火牆,如果您有其他防火牆也要關閉或開啟相對應的連接埠。XP SP2的話;則內建的防火牆可以不用關閉,系統會自行開啟相關連接埠。 

所有區網內的電腦依步驟1;2;3;4設定好之後,OK!『理論上』您的區網應該成功建立了。 為什麼說『理論上』?很奇怪的一點就是有一些系統的預設值,有時候會莫名的無法隨著設定而改變。

因此;我們再來先行確認一下:控制台→效能及維護→系統管理工具→電腦管理→本機安全性設定值→本機原則→安全性選項→ 右邊窗格找 帳戶:Guest 帳戶狀態,確認Guest 帳戶是停用狀態 。

回系統管理工具→本機安全性設定值→本機原則→安全性選項→右邊窗格找 網路存取:共用和安全性模式用於本機帳戶→右鍵→內容→確認是 傳統-本機使用者以自身身分驗證 。

4.設定網路存取檔案的權限 
先有這個觀念:NT系列的網路存取權限是採「正面表列」,不在允許名單內的網路存取都會被拒絕,就算是Administrators也無權存取。 

尤其如果是NTFS的檔案格式,更有NTFS(安全性)權限,可以更進一步的去設定單一檔案的存取安全性。還有「共用權限」是以資料夾為單位;而NTFS(安全性)權限是以檔案為單位。如果您的分享資料所在磁區非NTFS, 
就沒有NTFS(安全性)權限可設定。 

你只要開啟共享;系統預設 EveryOne 已在其中,但是這樣子資料幾乎是處於不設防的狀態;毫無安全可言。因此;強烈建議移除 EveryOne 群組,手動加入允許名單;讓所有網路存取者都是可被信任的。 就算你不願意移除它,您也再三確認其網路存取權只有「讀取」。 

四.問題排除 
設定到這兒;如有人要存取您分享的資料夾,Win XP/2000是出現輸入帳戶與密碼的要求;或直接進入分享資源,則視其登入帳戶而定。如果出現輸入帳戶與密碼的要求,就輸入那個專用於網路存取用的帳戶名稱與密碼。 
您這時應該是可以在網芳玩的很愉快了! 

等一下!為什麼是『應該』而不是『一定』? 還是那句話:很奇怪的一點就是有一些系統的預設值,有時候會莫名的無法隨著設定而改變。 理論以上的設定在WIN XP(WIN 2K);除了電腦名稱與工作群組之外,都可立即套用。但是有時就是奇怪的很;非得要重新啟動才能套用! 

所以如果您經過上述的設定後;網芳還是不通時,先重新啟動所有電腦再試。如果還是所有電腦大家老死不相往來;或是某幾台離群索居,在先不考慮硬體方面的問題時,您可以先察看底下的一些設定,尤其是出現登入失敗,未將這臺電腦上要求的登入類型授予使用者。

(1). 系統管理工具→本機安全性選項→本機原則→使用者權限指派→右邊窗格找 拒絕從網路存取這台電腦 ; 
的名單中受否有您LanUSER帳戶?如果有,將它移除。
 

再看看;系統管理工具→本機安全性選項→本機原則→使用者權限指派→右邊窗格找 從網路存取這台電腦 ; 
名單中是否漏列了您LanUSER帳戶或所屬群組?如果漏掉了,新增加入它。
 

好!在這裡回頭講一下當初為什麼我建議您,不要開啟GUEST帳戶。 WIN NT系列的作業系統,當初問世時是以「商用版」為考量,所以除了穩定性之外;對安全性更是重視。 所以系統預設是不允許匿名者(GUEST)於本機或網路登入的。 

我建議您不要開啟GUEST帳戶,除了安全考量之外; 還是那句話,很奇怪的一點就是有一些系統的預設值,有時候會莫名的無法隨著設定而改變。理論上當您開啟GUEST帳戶群組,系統應該會自動將GUEST帳戶群組移出拒絕存取名單;加入允許名單,但是有時它偏偏就給忘了。 

好!GUEST既然不在拒絕存取名單中;也在允許名單之列,為什麼還是開不了共享資源?記不記得我曾建議您用於網路存取用的帳戶一定要設密碼;就算是直接利用GUEST也是一樣?同樣是為了安全性! 

因為WIN XP的作業系統,預設並不允許空白密碼的帳戶從網路進入電腦,僅允許登入至主控台。除非您停用它;否則您打開網路芳鄰時僅能看到電腦而已;要進入取用資源時卻進不去! 

所以,除非你要採簡易檔案共用模式,我個人實在不建議你啟用GUEST帳戶群組。如果您要採簡易檔案共用模式,那您幹嘛安裝WIN XP PRO,裝Home就好了。 WIN XP PRO的『PRO』不就是專業(Professional)的簡稱嗎?

(2). 通訊協定的問題----到底要不要安裝NetBEUI (NetBIOS Extended User Interface) ? 

NetBEUI是建立在Netbios(Network Basic Input/Output System)之上的通訊協定; Windows的作業系統在小型區網之中,通常會使用該通訊協定。 它的封包是以廣播的方式在區網內傳遞,所以其封包是不可路由的,也就是不能透過路由器傳送,只適用於單一子網域的區網。 

一般有規劃的大公司;為了安全性通常對檔案存取權有嚴格的限制。因此,通常不會只有單一的網域,會依各部門的特性或職權規劃成數個網域,來控管檔案的存取。 

前面說過了,WIN NT系列的作業系統,當初問世時是以「商用版」為考量,所以預設並不會安裝NetBEUI。 
「理論」上運用TCP/IP,應該就可以讓區域網路及連結網際網路正常的為我們服務。 如果,你實在都設定正確,卻還是無法使網芳暢通,那您就試著把NetBEUI加進來吧! 

尤其是您區網中有些電腦有NetBEUI;有些沒有時,要是兩台有安裝NetBEUI的電腦已經開機完畢形成區網;沒有安裝NetBEUI的電腦要加入開啟網芳時,我的經驗是時常會就跳出一個「找不到網路路徑」的方塊來嚇你!硬著頭皮把NetBEUI加進來就暢通的怪事。 

要是沒有安裝NetBEUI的電腦先開機完成,主瀏覽器的地位又沒被搶走,卻又是不管有無NetBEUI;大家又手拉手圍成個圈!或許通訊協定也有優先等級之分吧?不然;怎麼後加的NetBEUI在區域網路 → 內容中的位置是在TCP/IP之上!? 這是我自己猜的;正確答案尚盼真正的高手解惑。 

(3).這下應該網路芳鄰都通了吧 ? 還是不通 ? 說「網路提供者都不接受指定的路徑」! 要不就是 (工作群組名稱無法存取。您可能沒有使用這個網路資源的權限) 。 

而且其他電腦明明就開好等你來通了;怎麼網路芳鄰點檢視工作群組,卻沒半個鳥影? 看看這幾個貞操鎖Windowes是不是又忘了開,導致電腦們不能進入對方內部享受巫山雲雨之歡: 

1. 系統管理工具→服務→Workstation 預設應該都是"自動-已啟動";如果沒有啟動請啟動它。 
2. 系統管理工具→服務→Computer Browser 預設應該都是"自動-已啟動";如果沒有啟動請啟動它。 
3. 系統管理工具→服務→Routing and Remote Access有無啟動,如果沒有啟動的話,就無法利用TCP/IP的通訊協定找到對方,就是無法在網路芳鄰裡頭找到你的電腦。 
4. 區域連線→內容→ TCP/IP→內容→進階→ WINS 確定是預設值或啟用 NetBIOS over TCP/IP 是被點選的。
 

最後來解釋為什麼之前不建議使用192.168.0.1 或 192.168.0.255這兩個IP;於家用區網之中,尤其是帶著四處跑的NB,一般規劃區網或使用ICS (Internet Connection Sharing)或用IP分享器架設的區網;如果使用192.168.0.X 這個網段時,192.168.0.1和 192.168.0.255(甚至192.168.0.254)大都是設定給聯外主機、DNS伺服器、閘道器……等網路設備用,如果你使用192.168.0.1和 192.168.0.254 ~255;發生IP衝突的機率比較高。 NB更是如此,因為你帶著NB可能需隨時要連結不同的區網,發生的機會更大。 

什麼?還是不通?想砸電腦?且慢! 是的,我就是照上面的樣子設定,還是被搞死 -> 看的到吃不到,網卡、IP、HUB都查過了,依然找不到原因,差點砸了公司的3台XP,那麼這是最後機會了! 

在開啟了系統Lanuser(網芳分享的帳號)用戶的情況下,點擊「開始」->「執行」,輸入gpedit.msc,可以調出群組原則編輯器,在「本機電腦原則 -> 電腦設定 -> Windows設定 -> 安全性設定 -> 本機原則 ->使用者權限指派 -> 『拒絕從網路訪問這台電腦』中赫然可以看到有Lanuser用戶!如果在這裡刪除Lanuser用戶,那麼其他電腦就可以從網路芳鄰中檢視這台電腦的共享目錄了。 

謝謝觀賞 !

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 闇月飄雪 的頭像
    闇月飄雪

    闇月飄雪的部落格

    闇月飄雪 發表在 痞客邦 留言(0) 人氣()