-
1 # hnnsm23758
-
2 # 巴黎巷尾南巷清天藍
使之給dhcp客戶端動態分配ip地址
問題的提出:把路由器配置為dhcp的伺服器端,以對路由器下所連線的客戶工作站進行ip地址的分配。
(這可真是一個了不起的改進!路由器從此搖身一變,看上去更加多姿多彩了)
解決例項;下面的配置命令,可以配置路由器為DHCP伺服器,用以給DHCP客戶端動態分配ip地址。
Router1#configureterminalEnterconfigurationcommands,oneperline.EndwithCNTL/Z.
Router1(config)#servicedhcp//開啟DHCP服務
Router1(config)#ipdhcppool172.25.1.0/24//定義DHCP地址池
Router1(dhcp-config)#network172.25.1.0255.255.255.0//用network命令來定義網路地址的範圍
Router1(dhcp-config)#default-router172.25.1.1//定義要分配的閘道器地址
Router1(dhcp-config)#exit
Router1(config)#ipdhcpexcluded-address172.25.1.1172.25.1.50//該範圍內的ip地址不能分配給客戶端
Router1(config)#ipdhcpexcluded-address172.25.1.200172.25.1.255//該範圍內的ip地址不能分配給客戶端
Router1(config)#end
Router1#
1.CISCO路由器的dhcp伺服器功能也是在ios12.0(1)T.以後才出現的,這一功能的出現,
使我們沒有必要在專門網路的中心(或者說企業本部)另外配置一臺DHCPserver,從而降低了網路構建成本。
2.在路由器上直接配置dhcp伺服器相比於傳統的在專門伺服器上實現dhcp有其獨到的優點。比如
A由於傳統的構建方法是,在企業的總部設立DHCP伺服器,各分支機構透過路由器去獲取ip地址,所以當dhcp伺服器出現問題的時候,
整個企業的網路都會受到影響,而如果把dhcp伺服器功能設在各個分支機構的路由器上實現,則某個分支機構的路由器DHCP出現問題,
就只能影響該分支機構的網路本身,而其他分支機構則不受任何影響。從而可見,實現了問題的區域性化。
由此,相比於傳統的方式,它有減少廣域網負荷的優點。
C同樣的道理,在各分支機構的路由器上實現DHCP伺服器功能後,如果某條廣域網連路壞了,本地的區域網依然能夠正常執行
D基於路由器的DHCP具有很高的可管理性,它透過ios的命令介面是比較容易配置的。
3.上邊的配置例子,我們用ipdhcpexcluded-address命令來指定不能用來被分配的ip地址,
這種配置往往是很需要的(甚至說是必需的,幾乎所有的;路有其DHCP伺服器配置中都會有),
因為往往有一些地址我們會用來作為其他的用途,比如,我們至少應該保留路有器本身的地址不被分配給dhcp客戶端,
還有一些比如說網路伺服器,印表機等等,我們也往往會給他指定靜態的地址,所以這一部分地址。我們不允許路有其分配出去,
上例中的172.25.1.1到172.25.1.50之間,172.25.1.200到172.25.1.255的地址就做了保留。
4.當路由器給客戶端動態分配地址後,就會繫結(binding)分配的ip地址以及客戶端裝置的mac地址資訊,儲存在路由器的配置中,
以便下一次相同的mac地址請求dhcp服務也能夠獲得同樣的ip地址。下面給出的例子是,用showipdhcpbinding命令顯示的ipbinding的資訊。
其中Leaseexpiration表示該ip地址,客戶端還能佔有的時間,(當然客戶端可以在期滿之前再次傳送dhcp請求報,
事實上dhcp的規範也是有這樣的規定的,即在租期還有一半時間的時候就會發出dhcp請求,如果租期更新失敗,那麼再過省下時間的一半的時候,
他還會發出dhcp的請求,依此類推)。
回覆列表
Router1(config-if)#ip helper-address 172.25.1.1 /*指定dhcp伺服器的地址,表示透過Ethernet0向該伺服器傳送DHCP請求包*/ 交換機的典型配置命令有: Router1#configure terminal Enter configuration commands, one per line. End with CNTL/Z.Router1(config)#interface Ethernet0Router1(config-if)#ip helper-address 172.25.1.1 /*指定dhcp伺服器的地址,表示透過Ethernet0向該伺服器傳送DHCP請求包*/Router1(config-if)#ip helper-address 172.25.10.7 /*作用同上*/Router1(config-if)#endRouter1# 關於這些配置的具體問題解析: 1、在客戶端裝置和DHCP伺服器不再同一廣播域內的時候,中間裝置即路有器(路有功能的裝置)必須要能夠轉發這種廣播包,具體到cisco的裝置上,則啟用ip helper-address命令,來實現這種中繼。 2、DHCP伺服器要給終端裝置分配地址則需要掌握兩個重要的資訊: 第一,該客戶端裝置所在網路的子網掩碼,DHCP伺服器依據子網掩碼的資訊來判斷,伺服器該分配哪個IP地址,以使得該ip地址在那個子網內, 第二,DHCP伺服器必須知道客戶端的MAC地址,以維護DHCP伺服器的ip 地址和MAC之間的對映關係,由此保證同樣一臺客戶機,每次啟動後能獲得和前一次相同的ip地址。 3、配置了ip helper-address命令之後的路由器在中繼DHCP請求時的工作過程如下: a,DHCP客戶端傳送請求,由於沒有ip地址,所以自己的源IP地址為0.0.0.0,而且也不知道目的DHCP伺服器的地址,所以為廣播255.255.255.255。該資料報中當然還包含其他資訊,比如二層的資訊,源mac地址,和目的mac地址FFFFFFFFFFFF。 b,當路由器接收到該資料報的時候,他就用自己的介面地址(接收到資料報的介面)來取代源地址0.0.0.0,並且用ip help-address 命令中指定的地址(上例中為172.25.1.1以及172.25.10.7)來取代目的地址255.255.255.255 c ,當DHCP伺服器接收到路有器轉發過來的DHCP請求包時,他有了足夠的資訊,(由源IP地址中的地址,確定客戶機所在的子網掩馬,由此分配相應地址池中的空閒地址,並且知道了客戶記得MAC地址,把它寫入自己的資料庫,建立IP地址和MAC的對映關係)然後DHCP伺服器做出響應,並且由路有器把資料報轉發會客戶端。(整個過程應該在客戶機和伺服器之間還有一次會話,由於這不是路由器DHCP配置的討論重點,這裡不談) 4、如果配置了兩個DHCP伺服器,我們必須分別用ip helper-address 命令指明,路有器會轉發DHCP請求包到所有的DHCP伺服器上。很多企業的做法都是至少有兩臺DHCP伺服器,有提高冗餘和可靠性的作用。此時,如果客戶端受到幾個來自不同DHCP伺服器的應答,則只選擇最先接收到的應答資料報。 5、必須要注意的是;ip helper-address 命令不僅僅是隻轉發DHCP請求包,事實上,在預設情況下,他還轉發其他的UDP報(比如DNS請求)到ip helper-address命令所指定的伺服器上,所以這種額外的資料流量可能會增加DHCP伺服器鏈路的負擔以及伺服器CPU負擔。