使用 Cisco 3620 作为 IOS DHCP Server ,它和内网相连的 fastethernet0 端口的 IP 地址为 192.168.1.4 ,二层交换机采用两台 Cisco 2950 ,三层交换机采用一台 Cisco 3550
  cisco路由器dhcp_第1张图片
  在整个网络中有二个 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-rou ter 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 F astEthernet0
  (该命令在以太网接口和 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
  
  经过以上规划与设置操作后,在路由器和交换机上的设置全部完成,剩下的工作只要在客户机上打开 自动获得 IP 地址 功能即可(如图 2 所示)。对于 Windows 2000/2003 Server 系统,还需要将 “DHCP CLIENT” 服务启用(如下图 3 所示),否则在 Windows 2000/2003 Server 中将不能自动得到 IP 地址。
  
 

  
cisco路由器dhcp_第2张图片

  

  
 

  
  至此,通过启用 Cisco 路由器的 DHCP Server 功能与客户端 DHCP 的配合使用,使局域网 VLAN 中的主机自动获得 IP 地址,真正实现了 DHCP 服务全部功能。相比在服务器上用 windows/Linux 操作系统实现的 DHCP 服务器,从稳定性和功能上看,路由器实现的 DHCP 服务器要优越得多。