ITPub博客

首页 > IT基础架构 > 网络安全 > NFS 的由來與其功能

NFS 的由來與其功能

原创 网络安全 作者:m77m78 时间:2006-05-20 01:13:54 0 删除 编辑
NFS 的由來與其功能
原理:
    老規矩,在正式的進入 DHCP (Dynamic Host Configuration Protocol ) 主機設定之前,我們先來認識一下 DHCP 這個協定吧!還有,需要瞭解的是,我們是否有需要『一定』得設定 DHCP 這個伺服器呢?這裡都需要釐清一下概念喔!
     
[@more@]
NFS 的由來與其功能
原理:
    老規矩,在正式的進入 DHCP (Dynamic Host Configuration Protocol ) 主機設定之前,我們先來認識一下 DHCP 這個協定吧!還有,需要瞭解的是,我們是否有需要『一定』得設定 DHCP 這個伺服器呢?這裡都需要釐清一下概念喔!
     
什麼是 DHCP

 
在開始 DHCP 的說明之前,我們先來複習一下之前在『網路基礎』裡面提到的幾個網路參數吧!要設定好一個網路的環境,使電腦可以順利的連上 Internet ,那麼您的電腦裡面一定要有底下幾個網路的參數才行,分別是:
 
  • IP
  • netmask
  • network
  • broadcast
  • gateway
  • DNS IP
 
其中,那個 IP, netmask, network, broadcast 與 gateway 都可以在 /etc/sysconfig/network-scripts/ifcfg-eth[0-n] 這些個檔案裡面設定,DNS 的位址則是在 /etc/resolv.conf 裡頭設定。呵呵!只要這幾個項目設定正確,那麼電腦應該就沒問題的可以上網了!所以說,您家裡面的 3, 4 部電腦,您都可以手動的來設定好您所需要的網路參數,然後利用 NAT 主機的功能,就可以大搖大擺的 連上 Internet 了!真是不錯 ^_^,不是嗎?
 
好了,現在讓我們換一個大一些些的場景吧!假設您是學校宿舍的網路管理員,所管理的學生電腦大概有 100 部好了,那麼您怎麼設定好這 100 部的電腦呢?
 
  1. 直接每一部電腦都讓您登門拜訪手動的去設定好?
  2. 將所有的學生都集合起來,然後精神訓話.....喔不!是直接教導一下怎麼設定?還是
  3. 藉由一部主機來自動的分配所有的網路參數給宿舍內的任何一部電腦?
 
這三種解決方案所需要的時間都不相同,如果您選擇的是(1),那麼我個人認為,您不是工作狂就是瘋掉了,因為所要花費的時間與您所得的薪水與付出的心力是完全不成比例的~~如果選擇是(2)那麼很可能您會被掛上獨裁者、沒良心的管理員的稱號!如果是選擇(3)呢?恭喜您!這個方案的管理時間花費最短,也是最不麻煩的作法啦!
 
呵呵!知道我要說些什麼了嗎?是的!這個 DHCP ( Dynamic Host Configuration Protocol ) 主機最主要的工作,就是在進行前面提到的第三個方案,也就是自動的將網路參數正確的分配給網域中的每部電腦,讓 Client 端的電腦可以在開機的時候就立即自動的設定好網路的參數值,這些參數值可以包括了 IP、netmask、network、gateway 與 DNS 的位址等等。如此一來,呵呵!身為管理員的您,只要注意到這一部提供網路參數的主機有沒有掛掉就好了,其他同學們的個人電腦,哈!您想都不必想要怎麼去幫忙!因為 DHCP 主機已經完全都幫您搞定啦! ^_^! 阿!當管理員最大的幸福就是可以喝喝茶、聊聊天就能控管好一切的網路問題呢!
 

DHCP 的咦鞣绞剑?/font>
 
咦髂J剑?/font>
那麼 DHCP 是怎麼咦鞯哪兀楷F在假設我們的機器在同一個網域當中,也就是說, DHCP Server 與他的 Clients 都在同一個網段之內,可以透過軟體廣播的方式來達到相互溝通的狀態。那麼 Client 藉由 DHCP Server 得到 IP 的程序為:
 
  1. 若 Client 端電腦設定使用 DHCP 協定以取得網路參數時,則 Client 端電腦在開機的時候,或者是重新啟動網路卡的時候,會自動的發出 DHCP Client 的需求給網域內的每部電腦:這個時候,由於發出的訊息希望每部電腦都可以接受,所以該訊息除了網路卡的硬體位址(MAC)無法改變外,需要將該訊息的來源軟體位址設定為 0.0.0.0 ,而目的位址則為 255.255.255.255 (這個我們 Linux 會自動幫您設定,無須考慮這個問題!)。這個時候,網域內的其他沒有提供 DHCP 服務的電腦,收到這個封包之後會自動的將該封包丟棄而不回應;而如果是 DHCP 主機呢?
     
  2. DHCP 主機回應訊息:如果是 DHCP 主機收到這個 Client 的 DHCP 需求時,那麼 DHCP 主機首先會針對該次需求的訊息所攜帶的 MAC 與 DHCP 主機本身的設定值去比對,如果 DHCP 主機的設定有針對該 MAC 做靜態 IP (每次都給予一個固定的 IP )的提供時,則提供 Client 端相關的固定 IP 與相關的網路參數;而如果該訊息的 MAC 並不在 DHCP 主機的設定之內時,則 DHCP 主機會選取目前網域內沒有使用的 IP (這個 IP 與設定值有關) 來發放給 client 端使用!此外,需要特別留意的是,在 DHCP 主機發放給 Client 端的訊息當中,會附帶一個『租約期限』的訊息,以告訴 Client 端,您這個 IP 可以使用的期限有多長!
     
  3. Client 端接受來自 DHCP 主機的網路參數,並設定 Client 自己的網路環境:當 Client 端接受回應的訊息之後,首先會以 ARP 封包在網域內發出訊息,以確定來自 DHCP 主機發放的 IP 並沒有被佔用!如果該 IP 已經被佔用了,那麼 Client 對於這次的 DHCP 資訊將不接受,而將再次向網域內發出 DHCP 的需求廣播封包;若該 IP 沒有被佔用,則 client 可以接受 DHCP 主機所給的網路的參數,那麼這些參數將會被使用於 client 端的網路設定當中,同時, Client 端也會對 DHCP 主機發出確認封包,告訴 Server 這次的需求已經確認!而 Server 也會將該資訊記錄下來;
     
  4. Client 端結束該 IP 的使用權:當 Client 開始使用這個 DHCP 發放的 IP 之後,有幾個情況下他可能會失去這個 IP 的使用權:
    • Client 端離線:不論是關閉網路介面( ifdown )、重新開機 ( reboot )、關機 ( shutdown ) 等行為,皆算是離線狀態,這個時候 Server 端就會將該 IP 回收,並放到 Server 自己的備用區中,等待未來的使用;
    • Client 端租約到期:前面提到 DHCP server 端發放的 IP 有使用的期限, Client 使用這個 IP 到達期限規定的時間,就需要將 IP 繳回去!這個時候就會造成斷線,而 Client 也可以再向 DHCP 主機要求再次分配 IP 囉!
 
以上就是 DHCP 這個協定在 Server 端與 Client 端的咦鳡顟B,由上面這個咦鳡顟B來看,我們可以曉得,喝!只要 Server 端設定沒有問題,加上 Server 與 Client 在硬體連線上面確定是 OK 的,那麼 Client 就可以直接藉由 Server 來取得上網的網路參數,當然啦,只要我們這些管理員能夠好好的、正確的管理好我們的 DHCP ,嘿嘿!那麼自然上網的設定就變成一件很簡單的事情啦!
 
IP 取得的方法:
在上面的步驟裡面,注意到第二步驟了嗎?就是 DHCP 會去比較 MAC 這個硬體位址,並判斷該 MAC 是否需要給予一個固定的 IP 呢!呵呵!所以啦,我們在 Client 端由 DHCP 主機取得的 IP 主要有兩種方式:
 
  • 靜態 ( Static ) IP :只要那個 client 端電腦的網路卡不換掉,那麼 MAC 肯定就不會改變,由於 DHCP 可以根據 MAC 來給予固定的 IP ,所以該電腦每次都能以一個固定的 IP 連上 Internet !呵呵!這種情況比較適合當這部電腦需要用來做為提供區域內的一些網路服務的主機之用。那麼如何在 Linux 上面知道您的 MAC 呢?很簡單啦!有很多的方式,最簡單的方式就是使用 ifconfig 及 arp 來進行:
    [root@test root]# ifconfig eth0
    ifconfig
    eth0 Link encap:Ethernet HWaddr 00:50:FC:22:9C:57
    inet addr:192.168.1.2 Bcast:192.168.1.255 Mask:255.255.255.0
    UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
    RX packets:333678 errors:0 dropped:0 overruns:0 frame:0
    TX packets:377219 errors:0 dropped:0 overruns:0 carrier:0
    collisions:195 txqueuelen:100
    RX bytes:42243563 (40.2 Mb) TX bytes:278373316 (265.4 Mb)
    Interrupt:10 Base address:0x6100

    [root@test root]# arp
    Address HWtype HWaddress Flags Mask Iface
    test.linux.org ether 00:50:FC:22:9C:57 C eth0
    192.168.1.100 ether 00:02:44:19:A6:AD C eth0

     
  • 動態 ( dynamic ) IP:Client 端每次連上 DHCP 所取得的 IP 都不是固定的!都直接經由 DHCP 所隨機由尚未被使用的 IP 中提供!
 
除非您的區域網路內的電腦有可能用來做為主機之用,所以必需要設定成為固定 IP ,否則使用動態 IP 的設定比較簡單,而且使用上面具有較佳的彈性。怎麼說呢?假如您是一個 ISP 好了,而您只申請到 150 個 IP 來做為您的客戶連線之用。那麼您是否真的只能邀集到 150 的使用者?呵呵!當然不囉!我可以邀集 200 個使用者以上呢!為什麼?這樣想好了,我今天開了一家餐館,裡面只有 20 個座位,那麼是否我一餐只能賣給 20 個人呢?當然不是啦!因為客人是人來人往的,有人先吃有人後吃,所以同樣是 20 個座位,但是可以有 40 個人來吃我的簡餐,因為來的時間不一樣嘛!瞭解了嗎?呵呵!對啦!您這個 ISP 雖然只有 150 個 IP 可以發放,但是因為您的使用者並非 24 小時都掛在線上的,所以您可以將這 150 個 IP 做良好的分配,讓 200 個人來『輪流使用』這 150 個 IP 哩!
 
好了,那麼另外一個問題,還是搞不懂什麼是『靜態 IP 』與『動態 IP』呢?不都是由 DHCP 發放的嗎?讓我們再來談一個小例子好了。目前(2003年)上網的主流是 ADSL 撥接制這種方法,其中,由於撥接制所以每次上線的 IP 都不一樣!這可以想成是 DHCP 的 動態 IP 分配方式!那麼如果您是使用 GIGA 的撥接制給予的固定 IP 呢?呵呵!那個方式其實還是使用撥接之後才能得到連線啦!只不過 ISP 經由 PPP 協定當中的密碼來判斷使用者,讓同一個使用者每次都可以收到一個固定的 IP 而已!這樣可以理解了嗎?呵呵!您可以想成,撥接到 ISP 就是類似 client 端發送一個 DHCP 的需求給 DHCP 主機,而將 GIGA 想成我們 DHCP 裡面的固定 IP 分配方式,而 Seednet 之類的 ISP 動態給予 IP 的,就是 DHCP 裡面使用的 dynamic IP 分配方式啦! ( 註:其實在軟體位址亦即是 IP 上面,只有 Public IP 與 Private IP 兩種,中文翻譯成『公共 IP』與『私有 IP』這兩個,至於其他所謂的『靜態 IP』、『實體 IP』、『虛擬 IP』、『浮動式 IP』等等,都是藉由一些 IP 取得的方式來分類的,對於此種分類方式可能會造成讀者的困擾,所以,請特別留意這些 IP 的意義,不要搞混了!如果還是害怕會搞不清楚,那麼只要先記得『公共 IP』是可以直接與 Internet 相互溝通的,至於『私有 IP』則是不能直接與 Internet 溝通的內部 IP 段!)
 
關於租約的行為:
怪了!如果我們觀察上面 DHCP 咦髂J降牡诙?

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/34329/viewspace-836570/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 簡易 DNS 伺服器
请登录后发表评论 登录
全部评论

注册时间:2008-04-25

  • 博文量
    168
  • 访问量
    735361