dhcp 個人理解

dhcp的祖先:bootp

    出現在無盤工作站時代,現在已經被dhcp徹底替代,不過有些服務器爲了向下

兼容,仍舊支持bootp

DHCP (Dynamic Host configuration protocol)

DHCP 引入了租約的概念lease(租約),這個徹底解決了“僧多粥少”的情況,

在今天主機迅速暴增的前提下,dhcp顯得那麼必須,必要,想象一下,如果全球沒

了dhcp是多麼的……

DHCP工作方式

  當一個網內client需要一個ip地址,它就會要發出廣播尋求得到一個ip地址(前提

是你是要求動態獲取方式),這時如果你所在區域有DHCP服務器,它就會試圖響應

你,這時雙方就開始了正式的關於“談判”關於獲取IP的過程了

client:發一個dhcpdiscover包,尋找一個可用ip (廣播,因爲沒有ip只能廣播)

server:迴應一個dhcpoffer包,迴應請求(當有多個DHCP服務器響應時,一個原

則,先到先用)

client:dhcprequest 給你使用的DHCP服務器一個迴應(相當於,給服務器說:

“好,哥們兒,就用你了”)

server:迴應一個dhcpack包,確認。(相當於,服務器告訴client說:好的)

經過這樣一個過程,雙方就相當於簽訂了一個“合同”,即一個租約,租約裏規定

了ip地址,租約時間,默認網關,掩碼等信息 (更多信息可以查

看/usr/share/doc/dhcp-3.05/dhcpd.conf.sample)(租約var/lib/dhclient)

由於在請求過程中,雙反均是以廣播的形式廣播,所以dhcp只能在同一網段內實現

(dhcp中繼除外,後面會說)

DHCP服務器是理論上是隨機分配地址的,但其實當一個地址被分給一個主機後,當

此主機再次請求時,DHCP服務器會試圖儘量將原來的地址分配給它,而且linux分

配地址的次序是有大到小的

RedHat linux DHCP 安裝包

dhcp.i386

DHCP啓動後進程的名字是dhcpd

默認安裝後dhcp沒有給我們配置文件,不過它給我們了一個樣板,拷貝一下

# cp  /usr/share/doc/dhcp-3.05/dhcpd.conf.sample  /etc/dhcpd.conf

看一下配置文件

 

2010-08-04 21-02-19

下面解釋全局參數

2010-08-04 21-04-12

全局參數是應用在全局的,不過在聲明過全局參數後,你仍然可以在subnet中在次

聲明,且應用以後者爲主

下面是subnet部分

 

2010-08-04 21-07-51

這部分需要注意的是subnet後面的網段,必須對應於你的某一塊網卡,真的需要特

別注意,想象一下如果你是5.0的,你分發6.0的,是不是先得多管閒事,特別注意

這一點,還有一點是注意,如果你也分給了別人router(網關),需要與subnet的

對應,不能錯了 rangge後的地址叫pool(地址池)

想象一下這樣的場景,你的boss要你給他一個88.88的地址,你要怎麼辦呢?

我們的DHCP服務器也定義了這樣的mac綁定功能,去看一下

2010-08-04 21-14-53

如果你也多塊網卡,你想要定義dhcp服務只從其中的某些網卡服務,你可以去定義/etc/sysconfig/dhcpd

#DHCPDARGS=“eth0‘

DHCP的端口號

udp :server:67

         client :68

前面說過dhcp服務器只能在一個廣播域能提供dhcp服務,試想如果一個網絡流量

很大,內網需要劃分n個小的子網,那麼按照之前的說法,我們就得架設n個dhcp服

務器,這顯然不是我們希望看到的,有人說我們可以用靜態啊,是的,可以但一定

會發生的情況就是地址衝突,這要怎麼辦呢?

這時就出現了中繼,我們可以找一箇中繼代理(如router)代理

2010-08-04 21-32-14

那麼怎麼設置中繼代理呢?去看一下

2010-08-04 21-34-09

這就是dhcp的個人理解

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章