DHCP(Dynamic HostConfiguration Protocol,动态主机配置协议):采用UDP(User DatagramProtocol)协议工作,用途:给内部网络或网络服务供应商自动分配IP地址,从而方便了网络管理员对主机地址的管理。UDP有2个端口UDP67和DUP68为正常的DHCP服务端口,分别作为DHCP服务器和DHCP客户端服务端口使用。

我们常见的网络设备中除了常见的服务器作为DHCP的服务器外,路由器和多层交换机都可以作为DHCP的服务器。在我上传的网络拓扑图中,涉及到以上三种情况下的DHCP配置,最后主机都能自动获得ip地址。

    



主要配置如下:

    1、 定义DHCP地址池

    全局模式(config)#:ip    dhcp   pool    pool-name

    2、 动态分配ip地址

network   network-number   mask

    3、 设定网关地址

default –router    gateway-ip

    4、 为客户端配置DNS地址

dns-server   dns-ip

    5、 预留静态分配的ip地址

全局模式(config)#:ip dhcp excluded-address  low-address [high-address]

因为内网会有一些特殊地址,他们是内网的一些业务服务器的地址,是供外网访问的,所以在配置dhcp时应将这些地址预留下来以供业务服务器使用。

        

注意:low 地址与 high 地址不同,则表示一段连续的IP;

   如果相同,则表示”排除一个地址“

    6、 开启dhcp服务

全局模式(config)#:service  dhcp



  • Router作为 DHCP 服务器(见拓扑图一)

    1、  配置路由器ip地址

r1(config)#int g0/0

r1(config-if)#ip add

r1(config-if)#ip address192.168.1.254 255.255.255.0

r1(config-if)#no sh

    2、   预留网关地址

        r1(config)#ip dhcp excluded-address 192.168.1.254

    3、   配置dhcp地址池

        r1(config)#ip dhcp pool ccie

        r1(dhcp-config)#default-router192.168.1.254

        r1(dhcp-config)#network192.168.1.0 255.255.255.0

        r1(dhcp-config)#dns-server8.8.8.8

        r1(dhcp-config)#exit

    4、 开启dhcp服务

        r1(config)#servicedhcp

    5、  配置终端为dhcp获取ip地址,成功获取ip地址

    6、  验证命令

    在服务器端的验证命令:

r1#show ip dhcp binding

r1#show run

 在客户端的验证:

运行-->cmd ---> ipconfig /all



  • 多层交换机作为DHCP服务器(见拓扑图二)

其实多层交换机和上面路由器配置差不多,只是多层交换机的链路都是交换链路不能配置ip地址,为解决此问题,可以新建一个vlan(Virtual Local-Area Network,虚拟局域网),并给这个vlan引入一个端口,每一个多层交换机上默认有一个vlan 1的,并且交换机所有端口默认都是在这个vlan 1下的。所以这里直接给vlan 1配置一个网关ip地址就可以了。

    1、配置vlan 1地址为网关ip

sw(config)#int vlan 1

sw(config-if)#ipaddress 192.168.1.254 255.255.255.0

sw(config-if)#no shutdown

2、配置dhcp地址池

sw(config)#ip dhcp pool ccna

sw(dhcp-config)#default-router192.168.1.254

sw(dhcp-config)#network192.168.1.0 255.255.255.0

sw(dhcp-config)#dns-server 8.8.8.8

sw(dhcp-config)#exit

    3、开启dhcp服务

sw(config)#service dhcp

    4、配置终端为dhcp获取ip地址,成功获取ip地址

        点开desktop,选中DHCP

        5、验证命令

    在服务器端的验证命令:

    r1#show ip dhcp binding

    r1#show run

在客户端的验证

    运行--> cmd ---> ipconfig/all




  • 服务器作为DHCP服务器

    服务器作为dhcp服务器时又分为两种情形:

        1> 服务器与主机在一个局域网内,此时只需在服务器上配置dhcp地址池,并开启dhcp服务

        2> 服务器与主机不再一个局域网内,此时需将路由器配置为 DHCP relay,并且在路由器的网关端口上配置dhcp中继;路由器作为dhcp中继,必须开启dhcp服务

1>服务器与主机在一个局域网内(见拓扑图三)

    1、给路由器两个端口配置两个网段的网关ip地址,分别为192.168.1.254和192.168.2.254

               网段1网关:

r2(config)#int g0/0

r2(config-if)#nosh

r2(config-if)#ip address 192.168.1.254 255.255.255.0

 

网段2网关:

r2(config-if)#intg0/1

r2(config-if)#noshutdown

r2(config-if)#ip address 192.168.2.254 255.255.255.0

    2、配置两个网段中的服务器ip地址,默认网关,子网掩码,dns地址。

                服务器一:

                ip address  192.168.1.1

                subnet mask  255.255.255.0

                default gateway  192.168.1.254

                DNS server    7.7.7.7

                

                服务器二:

                ip address  192.168.2.1

                subnet mask  255.255.255.0

                default gateway  192.168.2.254

                DNS server    8.8.8.8

    3、给两个网段中的服务器配置相应的dhcp地址池,并开启dhcp服务

            服务器一的 dhcp 地址池配置

                service  选中on

                pool name  serverpool

                default gateway   192.168.1.254

                DNS server  7.7.7.7

                start ip address  192.168.1.0

                subnet mask   255.255.255.0

                点击save保存

            服务器二的 dhcp 地址池配置

                service  选中on

                pool name  serverpool

                default gateway   192.168.2.254

                DNS server  8.8.8.8

                start ip address  192.168.2.0

                subnet mask   255.255.255.0

                点击save保存

 

    4、配置客户端主机为dhcp自动获取ip地址

         点开desktop,选中DHCP


    5、验证:在客户端的验证:

运行--> cmd ---> ipconfig/all



2>服务器与主机不再一个局域网内(见拓扑图四)

    

    1、 配置服务器ip地址,默认网关,子网掩码,dns地址。

            服务器地址配置:

                ip address  192.168.1.1

                subnet mask  255.255.255.0

                default gateway  192.168.1.254

                DNS server    7.7.7.7

      2、 给服务器配置两个dhcp地址池

            网段为192.168.1.0的 dhcp 地址池配置

                service  选中on

                pool name  serverpool

                default gateway   192.168.1.254

                DNS server  7.7.7.7

                start ip address  192.168.1.0

                subnet mask   255.255.255.0

                点击save保存

           网段为192.168.2.0的dhcp 地址池配置

                service  选中on

                pool name  serverpool1

                default gateway   192.168.2.254

                DNS server  8.8.8.8

                start ip address  192.168.2.0

                subnet mask   255.255.255.0

                点击save保存

    

    3、给路由器两个端口配置为两个网段的网关ip地址

r3(config)#int g0/0

r3(config-if)#ipaddress 192.168.1.254 255.255.255.0

            r3(config-if)#no sh

r3(config-if)#intg0/1

r3(config-if)#nosh

r3(config-if)#ip address 192.168.2.254255.255.255.0

  4、给与服务器不在同一个网段的网关端口配置dhcp中继

r3(config)#int g0/1

            r3(config-if)#ip helper-address192.168.1.1

        补充:此时该网关端口接收到 DHCP  discover报文以后,会将广播报文以单播的方式发送到该 DHCP 服务器 - 192.168.1.1 ;并且源地址为 192.168.2.254 , 目标地址为 192.168.1.1 ,

  5、开启中继路由器的dhcp服务

            r3(config)#service dhcp        //作为DHCP中继,必须要开启DHCP;

  6、配置客户端主机为dhcp自动获取ip地址

            点开desktop,选中DHCP

  7、 验证:在客户端的验证:

运行--> cmd ---> ipconfig/all

补充解释:

    当 DHCP 服务器上具有多个 DHCP 地址池时,服务器是通过 DHCP 报文 中的源IP地址来进行地址池区分的;在 DHCP relay 环境中,本质上就是根据每个网段的网关IP地址来决定的;


    敬请诸位大神批评指正!


ps:相关拓扑图已经上传,请自行下载查看!