在Cisco裝置上實現IOS DHCP Server的功能
現在的大型網路一般都使用二層交換機(百兆或千兆交換到桌面),並在二層或三層交換機上劃分VLAN,然後再使用具有線速路由技術的三層交換機實現內網中VLAN間資料流的快速轉發,從而使整個網路安全高速地運轉。
為了和公網相聯,一般還要用不可或缺的路由器。此時,我們完全可以在不增加裝置投資的情況下,啟用路由器的DHCP Server功能,使它在完成好本職工作之餘再兼任一臺DHCP伺服器。
考慮到Cisco裝置在許多大型網路中有著廣泛的應用,因而本文將為大家介紹怎樣在Cisco裝置上實現IOS DHCP Server功能以使各VLAN中的主機自動獲得IP地址。
第一步:檢視裝置是否支援IOS DHCP Server功能
一般的Cisco路由器或訪問伺服器,以及少部分安裝有路由交換模組或多層交換功能卡的交換機都具有IOS DHCP Server功能。如果還沒有確認你的裝置是否具備這一功能,那麼,你可以按如下方法在命令列介面(CLI)下進行快速檢測,步驟如下:
dwzx>enable
Password
dwzx#config t
進入配置模式
Enter configuration commands one per line. End with CNTL/Z.
dwzxconfig#ip dhcp ﹖
如果出現的是下面的資訊,那麼很遺憾,你的裝置不支援IOS DHCP Server功能:
% Unrecognized command
在進行具體的配置之前,筆者先對本文所採用的裝置及設定先作一個簡單的介紹:用作IOS DHCP Server的路由器採Cisco 3620,它和內網相連的fastethernet0埠的IP地址為202.107.204.18,二層交換機採用Cisco 2924,三層交換機採用Cisco 3550-48-EMI。在整個網路中有三個VLAN,為簡化描述,假設每個VLAN都採用24位網路地址,其中VLAN1的IP地址為202.107.204.254,VLAN2的IP地址為202.107.205.254,VLAN3的IP地址為202.107.206.254。
第二步:在路由器上進行相關配置
1.設定DHCP資料庫代理
DHCP資料庫代理是用於儲存DHCP繫結資訊的一臺主機,它可以是FTP、TFTP或者是RCP伺服器。當然,如有必要,你可以配置多個DHCP資料庫代理。同樣,不配置DHCP資料庫代理也是允許的,但這是以不能在DHCP資料庫代理上儲存地址衝突日誌為代價的。如果你不想配置資料庫代理,你只要取消掉地址衝突日誌的記錄功能即可,操作命令如下:
dwzx>enable
Password
輸入路由器的特權口令
dwzx#config terminal
進入配置模式
Enter configuration commands one per line. End with CNTL/Z.
dwzxconfig#no ip dhcp conflict logging 取消地址衝突記錄日誌
2.設定不能用於動態分配的IP地址
在整個網路中,有些IP地址需要靜態的指定給一些特定的裝置,例如路由器的埠、DNS伺服器、wins伺服器以及VLAN的地址等。顯然,這些靜態IP地址是不能用於動態分配的,這就需要將它們排除掉。其步驟如下:
dwzxconfig#ip dhcp excluded-address 202.107.204.1 202.107.204.5
地址202.107.204.1至202.107.204.5不能用於動態分配
dwzxconfig# ip dhcp excluded-address 202.107.204.254
IP地址202.107.204.254固定為VLAN1的地址,不能用於動態分配
dwzxconfig# ip dhcp excluded-address 202.107.205.254
IP地址202.107.205.254固定為VLAN2的地址,不能用於動態分配
dwzxconfig# ip dhcp excluded-address 202.107.206.254
IP地址202.107.206.254固定為VLAN3的地址,不能用於動態分配
3.配置DHCP地址池
DHCP伺服器的資料庫被組織成一個樹形結構,樹根是用於動態分配的所有網路段的地址池,樹枝是子網地址池,樹葉是手工繫結給節點的地址。詳細步驟如下:
dwzxconfig#ip dhcp pool global
配置一個根地址池,global是地址池的名稱,你可以採用有意義的字串來表示
dwzxdhcp-config#network 202.107.0.0 255.255.0.0
動態分配的地址段
dwzxdhcp-config#domain-name dawan.net
為客戶機配置域字尾
dwzxdhcp-config#dns-server 202.107.204.1
為客戶機配置DNS伺服器
dwzxdhcp-config#netbios-name-server 202.107.204.1
為客戶機配置wins伺服器
dwzxdhcp-config#netbios-node-type h-node
為客戶機配置節點模式
dwzxdhcp-config#lease 1
地址租用期為1天
dwzxdhcp-config#ip dhcp pool vlan1
為VLAN1配置地址池,本池是global池的子池,將從global繼承域字尾、DNS伺服器、wins伺服器等引數
dwzxdhcp-config#network 202.107.204.0 255.255.255.0
VLAN1動態分配202.107.204這個網段內可以被分配的地址沒有被排除的地址
dwzxdhcp-config#default-router 202.107.204.254
為客戶機配置預設的閘道器,即VLAN1的IP地址
dwzxdhcp-config#ip dhcp pool vlan2
為VLAN2配置地址池,本池是global池的子池,將從global繼承域字尾、DNS伺服器、wins伺服器等可繼承的引數
dwzxdhcp-config#network 202.107.205.0 255.255.255.0
dwzxdhcp-config#default-router 202.107.205.254
dwzxdhcp-config#ip dhcp pool vlan3
為VLAN3配置地址池,本池是global池的子池,將從global繼承域字尾、DNS伺服器、wins伺服器等引數
dwzxdhcp-config#network 202.107.206.0 255.255.255.0
dwzxdhcp-config#default-router 202.107.206.254
4.按MAC地址為特定的使用者分配指定的IP地址
如果你需要為某些特定的節點分配指定的IP地址,你就需要手工繫結MAC地址和IP地址間的對映。要按MAC地址為特定的節點分配指定的IP地址,只須在相應的地址池配置模式下輸入如下命令即可:
dwzxdhcp-config#host 202.107.204. 10 /24
假設為VLAN1下的一個站點指定IP
dwzxdhcp-config#client-identifier 01b7.0813.8811.66
將202.107.204.10指定給MAC地址為01b7.0813.8811.66的節點
5.配置路由器的靜態路由表
要使客戶機能從用作DHCP Server的路由器中自動獲得IP地址,首要條件就是各個VLAN中的客戶機都能和路由器通訊,因此首先就需要在路由器中設定一個路由以使路由器能和各個客戶機通訊。你可以按如下設定 :
dwzxconfig#ip route 202.107.204.0 255.255.255.0 FastEthernet0
FastEthernet0為路由器和內網相連的乙太網介面,該命令的作用是在乙太網介面和VLAN1202.107.204.254間建立一條靜態路由
dwzxconfig#ip route 202.107.205.0 255.255.255.0 FastEthernet0
該命令在乙太網介面和VLAN2202.107.205.254間建立一條靜態路由
dwzxconfig#ip route 202.107.206.0 255.255.255.0 FastEthernet0
該命令在乙太網介面和VLAN3202.107.206.254間建立一條靜態路由
設定好之後,在配置模式中鍵入EXIT命令回到特權模式下,Ping一下VLAN2和VLAN3的IP地址202.107.205.254和202.107.206.254,如果能夠Ping通則表明配置正確,可以直接進入下一步的儲存過程。
6.儲存路由器的設定
命令如下:
dwzx#copy running-config startup-config
將當前正在執行的配置儲存為啟動配置
Destination 2004712160825.htm startup-config﹖
dwzx#reload
Proceed with reload﹖ confirm
直接回車確認
至此,在路由器中的設定順利完成,以下操作在交換機上進行。
第三步:在交換機上進行設定
1.在交換機上為不同的VLAN指定DHCP伺服器地址
這一步驟只須在不同的VLAN中通過設定IP HELPER-ADDRESS即可搞定,指令如下:
switch>ena
進入交換機的特權模式
Password
switch #config t
進入配置模式
Enter configuration commands one per line. End with CNTL/Z.
switch config#interface vlan1
配置VLAN1
switch config-if#ip helper-address 202.107.204.18
指定DHCP伺服器的地址,即路由器的地址
dwzxconfig-if#interface vlan2
配置VLAN2
dwzxconfig-if#ip helper-address 202.107.204.18
dwzxconfig-if#interface vlan3
配置VLAN3
dwzxconfig-if#ip helper-address 202.107.204.18
2.對所有直接連到客戶機的二層訪問埠開啟Portfast功能
要使客戶機正確獲得IP地址,就需要將和客戶機相連的交換機埠的Portfast功能開啟。這裡需要特別注意的是,只能在連線一個單一客戶機的二層埠上開啟該功能,如果在一個連線到交換機或集線器的埠上開啟該功就有可能引起廣播風暴或“地址學習”問題。開啟Portfast功能的步驟如下:
switch #configure terminal
switch config#interface interface-id
switch config-if#spanning-tree portfast
開啟portfast功能
switchconfig-if #end
至此,經過以上幾個步驟,在路由器和交換機上的設定全部完成,剩下的工作只要在客戶機上開啟“自動獲得IP地址”功能即可。對於Windows 2000 Server系統,還需要將“DHCP CLIENT”服務啟用,否則在Windows 2000 Server中將不能自動得到IP地址。
現在是檢驗成果的時候了,如果沒有獲得正確的IP,那麼應該首先檢查一下你的網路連線是否正確。如果確認連線正確,那麼,多半是因為你的客戶機是Windows 98系統,這時你只要在命令列中輸入“WINIPCFG”命令,然後在彈出的對話方塊中點選“全部更新”即可。
補充:
當然,除了IOS DHCP Server外,DHCP伺服器還有很多種。例如Windows 2000或LINUX的DHCP伺服器。但不論你採用何種DHCP伺服器,在VLAN上的設定都是一樣的,唯一的區別就在於一個是在路由器上設定,一個是在PC伺服器上設定。眾所周知,在PC伺服器上設定DHCP伺服器相當容易,從這一點上看好像用PC伺服器作DHCP伺服器更具優越性,但如果從穩定性和功能上看,這些DHCP伺服器是沒辦法和路由器相比的。畢竟,確保每天24小時的穩定執行才是大型網路重要的任務,因此,就筆者個人的經驗而言,在大型網路中還是採用路由器作DHCP伺服器較為穩妥。