路由的DHCP服務器建設
DHCP服務器的應用,在很多交換機和路由器上都有所體現。某單位使用Cisco 3620作為IOS DHCP Server,它和內網相連的fastethernet0端口的IP地址為192.168.1.4,二層交換機采用兩臺Cisco 2950,三層交換機采用一臺Cisco 3550。在整個網絡中有二個VLAN,為簡化描述,假設每個VLAN都采用24位網絡地址,其中VLAN1的IP地址為192.168.1.254,VLAN2的IP地址為192.168.2.254。在Cisco設備上實現IOS DHCP Server功能以使各VLAN中的主機自動獲得IP地址,如下圖所示。
配置DHCP地址池、附加信息以及租約期限
DHCP服務器的數據庫被組織成一個樹形結構,樹根是用于動態分配的所有網絡段的地址池,樹枝是子網地址池,樹葉是手工綁定給節點的地址。具體操作步驟如下:
首先登陸到Cisco 3640路由器上:
- ghq>enable
- Password
- (輸入路由器的特權口令)
- ghq #config terminal
- (進入配置模式)
- Enter configuration commands one per line. End with CNTL/Z.
- ghq config # ip dhcp pool global
- (配置一個根地址池,global是地址池的名稱,你可以采用有意義的字符串來表示)
- ghq dhcp-config #network 192.168.0.0 255.255.0.0
- (動態分配的地址段)
- ghq dhcp-config #domain-name ghq.com
- (為客戶機配置域后綴)
- ghq dhcp-config #dns-server 192.168.1.1
- (為客戶機配置DNS服務器)
- ghq dhcp-config #netbios-name-server 192.168.1.1
- (為客戶機配置wins服務器)
- ghq dhcp-config #netbios-node-type h-node
- (為客戶機配置h節點模式)
- ghq dhcp-config #lease 30
- (地址租用期為30天)
- ghq dhcp-config #ip dhcp pool vlan1
- (為VLAN1配置地址池,本池是global池的子池,將從global繼承域后綴、DNS服務器、wins服務器等參數)
- ghq dhcp-config #network 192.168.1.0 255.255.255.0
- (VLAN1動態分配192.168.1這個網段內可以被分配的地址,沒有被排除的地址)
- ghq dhcp-config#default-router 192.168.1.254
- (為客戶機配置默認的網關,即VLAN1的IP地址)
- ghq dhcp-config #ip dhcp pool vlan2
- (為VLAN2配置地址池,本池是global池的子池,將從global繼承域后綴、DNS服務器、wins服務器等可繼承的參數)
- ghq dhcp-config#network 192.168.2.0 255.255.255.0
- ghq dhcp-config #default-router 192.168.2.254
設置不能用于動態分配的IP地址
在整個網絡中,有些IP地址需要靜態的指定給一些特定的設備,例如路由器的端口、DNS服務器、wins服務器以及VLAN的地址等。顯然,這些靜態IP地址是不能用于動態分配的,這就需要將它們排除掉。其步驟如下:
- ghq config #ip dhcp excluded-address 192.168.1.1 192.168.1.5
- (IP地址 192.168.1.1至192.168.1.5不能用于動態分配)
- ghq config # ip dhcp excluded-address 192.168.1.254
(IP地址192.168.1.254固定為VLAN1的地址,不能用于動態分配)
- ghq config # ip dhcp excluded-address 192.168.2.254
(IP地址192.168.2.254固定為VLAN2的地址,不能用于動態分配)
設置DHCP數據庫代理
DHCP數據庫代理是用于存儲DHCP綁定信息的一臺主機,它可以是FTP、TFTP或者是RCP服務器。當然,如有必要,你可以配置多個DHCP數據庫代理。同樣,不配置DHCP數據庫代理也是允許的,但這是以不能在DHCP數據庫代理上存儲地址沖突日志為代價的。如果我們不想配置數據庫代理,只要取消掉地址沖突日志的記錄功能即可,操作命令如下:
- ghq config # no ip dhcp conflict logging (取消地址沖突記錄日志)
配置路由器的靜態路由表
要使客戶機能從用作DHCP Server的路由器中自動獲得IP地址,首要條件就是各個VLAN中的客戶機都能和路由器通信,因此首先就需要在路由器中設置一個路由以使路由器能和各個客戶機通信。我們可以按如下設置 :
- ghq config #ip route 192.168.1.0 255.255.255.0 FastEthernet0
(FastEthernet0為路由器和內網相連的以太網接口,該命令的作用是在以太網接口和VLAN1 192.168.1.254間建立一條靜態路由。)
- ghq config #ip route 192.168.2.0 255.255.255.0 FastEthernet0
(該命令在以太網接口和VLAN2 192.168.2.254間建立一條靜態路由)
設置好之后,在配置模式中鍵入EXIT命令回到特權模式下,Ping一下VLAN1和VLAN2的IP地址 192.168.1.254和192.168.2.254 ,如果能夠Ping通則表明配置正確,可以直接進入下一步的保存過程。
在交換機上為不同的VLAN指定DHCP服務器地址
這一步驟只須在不同的VLAN中通過設置IP HELPER-ADDRESS即可搞定,指令如下:
- switch>enable (進入交換機的特權模式)
- 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 192.168.1.4(指定DHCP服務器的地址,即路由器的地址)
- ghq config-if #interface vlan2 (配置VLAN2)
- ghq config-if #ip helper-address 192.168.1.4
對所有直接連到客戶機的二層訪問端口開啟Portfast功能
要使客戶機正確獲得IP地址,就需要將和客戶機相連的交換機端口的Portfast功能打開(Cisco 2950)。這里需要特別注意的是,只能在連接一個單一客戶機的二層端口上開啟該功能,如果在一個連接到交換機或集線器的端口上開啟該功就有可能引起廣播風暴或“地址學習”問題。開啟Portfast功能的步驟如下:
- switch #configure terminal
- switch config #interface interface-id
- switch config-if #spanning-tree portfast (開啟portfast功能)
- switch config-if #end