cisco ip help-address

 

典型配置命令
Router1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router1(config)#interface Ethernet0
Router1(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)#end
Router1#

關於以上配置的討論


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負擔,可能會引起問題,關於解決辦法,將在後面討論。


所以cisco 的ios 提供了限制ip helpe-address 命令所帶來的負面影響的方法。


解決實例;


CISCO路由器允許用no ip forward-protocol udp 命令來禁止對所無意義的UDP`數據報的轉發


配置路由器爲DHCP服務器,使之給dhcp客戶端動態分配ip地址


問題的提出:


把路由器配置爲dhcp的服務器端,以對路由器下所連接的客戶工作站進行ip地址的分配。


(這可真是一個了不起的改進!路由器從此腰身一變,看上去更加多姿多彩了)


解決實例;


下面的配置命令,可以配置路由器爲DHCP服務器,用以給DHCP客戶端動態分配ip地址。


Router1#configure terminal


Enter configuration commands, one per line. End with CNTL/Z.


Router1(config)#service dhcp //開啓 DHCP 服務


Router1(config)#ip dhcp pool 172.25.1.0/24 //定義DHCP地址池


Router1(dhcp-config)#network 172.25.1.0 255.255.255.0 // 用network 命令來定義網絡地址的範圍


Router1(dhcp-config)#default-router 172.25.1.1 //定義要分配的網關地址


Router1(dhcp-config)#exit


Router1(config)#ip dhcp excluded-address 172.25.1.1 172.25.1.50 //該範圍內的ip地址不能分配給客戶端


Router1(config)#ip dhcp excluded-address 172.25.1.200 172.25.1.255 //該範圍內的ip地址不能分配給客戶端


Router1(config)#end


Router1#


關於配置的相關討論


1 .CISCO路由器的dhcp服務器功能也是在ios 12.0(1)T.以後纔出現的,這一功能的出現,使我們沒有必要在專門網絡的中心(或者說企業本部)另外配置一臺DHCP server,從而降低了網絡構建成本。


2. 在路由器上直接配置dhcp服務器相比於傳統的在專門服務器上實現dhcp有其獨到的優點。


比如


A 由於傳統的構建方法是,在企業的總部設立DHCP服務器,各分支機構通過路有器去獲取ip地址,所以當dhcp服務器出現問題的時候,整個企業的網絡都會 受到影響,而如果把dhcp 服務器功能設在各個分支機構的路由器上實現,則某個分支機構的路由器DHCP出現問題,就只能影響該分支機構的網絡本身,而其他分支機構則不受任何影響。 從而可見,實現了問題的局部化。


B 在各分支機構的路由器上實現DHCP服務器功能後,大量的DHCP UDP請求報文將不會通過wan link 轉發到 中心機構上去,由此,相比於傳統的方式,它有減少廣域網負荷的優點。


C 同樣的道理,在各分支機構的路由器上實現DHCP服務器功能後,如果某條廣域網連路壞了,本地的局域網依然能夠正常運行


D基於路由器的DHCP 具有很高的可管理性,它通過ios的命令界面是比較容易配置的。


3 .上邊的配置例子,我們用ip dhcp exclude-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地址。下面給出的例子是,用show ip dhcp binding 命令顯示的 ip binding的信息。其中Lease expiration 表示該ip 地址,客戶端還能佔有的時間,(當然客戶端可以在期滿之前再次發送dhcp請求報,事實上dhcp的規範也是有這樣的規定的,即在租期還有一半時間的時候 就會發出dhcp請求,如果租期更新失敗,那麼再過省下時間的一半的時候,他還會發出dhcp的請求,依此類推)。

 

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