ip helper-address

基本介紹

  • 外文名:ip helper-address
  • 要求:需要掌握兩個重要的信息
  • 典型配置命令:Router1#configure terminal
  • 討論:啟用ip helper-address命令
配置命令,配置討論,伺服器,

配置命令

Router1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router1(config)#interface Ethernet 0
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客戶端動態分配ip地址
問題的提出:把路由器配置為dhcp的伺服器端,以對路由器下所連線的客戶工作站進行ip地址的分配。
(這可真是一個了不起的改進!路由器從此搖身一變,看上去更加多姿多彩了)
解決實例;下面的配置命令,可以配置路由器為DHCP伺服器,用以給DHCP客戶端動態分配ip地址。
Router1#configure terminalEnter 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 excluded-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的請求,依此類推)。

相關詞條

熱門詞條

聯絡我們