因为二层交换机处理的是“二层数据”,即包含网卡地址的数据帧,不能识别IP地址,所以在二层交换机上不能配置分配IP地址功能的DHCP服务。在三层交换机或路由器这样的三层设备上可以配置开启DHCP服务。图5-3中的4台计算机划分在两个不同的VLAN中,需要配置三层交换机使其能够为计算机分配相对应VLAN的IP地址,并且要求PC2分配固定地址:1.1.24.100/24。配置过程如下。
图5-3 三层交换机上配置DHCP服务
计算机配置IP地址获得方式为“自动获得IP地址”,如图5-4所示。点击“确定”关闭对话框后,计算机开始发送DHCP DISCOVER广播包,并将花费1 s的时间等待DHCP服务器的回应,因为此时网络中还没有DHCP服务器,所以不会收到服务器的应答报文,计算机会将这一广播包重新广播4次(以2 s、4 s、8 s和16 s为间隔,加上1~1000 ms的随机时间长度)。4次之后,如果仍未能收到服务器的应答,则Windows操作系统中的DHCP客户机将从169.254.0.0/16这个自动保留的私有IP地址(APIPA)中选用一个IP地址,而运行在其他操作系统下的DHCP客户机将无法获得IP地址。APIPA(Automatic Private IP Address,自动专用地址)是IANA(Internet Assinged Numbers Authority,互联网数字分配机构)保留的一个地址块,它的地址范围是B类地址块169.254.0.0~169.254.255.255。当由于网络故障而找不到DHCP 服务器时,Windows操作系统的主机使用APIPA地址。
图5-4 计算机配置自动获得IP
此时,打开命令提示符,输入“ipconfig”查看本机IP地址时,能够发现计算机已经获得“169.254.0.0/16”网段的一个IP地址,如图5-5所示。不用担心主机自己选择的APIPA地址是否会冲突,DHCP客户机会通过使用免费ARP协议测试是否存在地址冲突,以确保它选择的IP地址未在局域网上使用。如果发现了冲突,客户机会选择试用另一IP地址。DHCP客户机配置APIPA地址后仍然会继续在后台每隔5 min检查一次DHCP服务器,如果随后发现DHCP服务器,客户机将不再使用自动配置的APIPA地址,而使用向DHCP服务器申请到的地址来更新其IP配置。
图5-5 计算机自动配置的APIPA地址
虽然4台计算机目前配置的IP都是APIPA地址,但是他们在局域网内是可以互相通信的,这就是设置APIPA地址的意义。可以使用“ping”命令测试4台计算机的连通性,此时4台计算机之间可以互相访问,共享资源。
在二层交换机上配置端口VLAN。
在三层交换机上配置启用DHCP服务、地址池等参数。
DHCP的地址分配,以及给客户端传送的DHCP各项参数都需要在DHCP地址池中进行定义。地址池的名字由字符和数字组成。每个设备都可以定义多个地址池,根据DHCP请求包中的中继代理IP地址来决定分配哪个地址池的地址。
(1)如果 DHCP 请求包中没有中继代理的IP地址,就分配与接收DHCP请求包接口的IP地址同一子网或网络的地址给客户端。如果没定义这个网段的地址池,地址分配就失败。
(2)如果 DHCP 请求包中有中继代理的IP地址,就分配与该地址同一子网或网络的地址给客户端。如果没定义这个网段的地址池,地址分配就失败。
地址池的配置模式显示为“Ruijie(dhcp-config)#”,在此模式下可以配置该地址池的可分配IP范围、默认网关、DNS服务器IP、租约等参数。
配置到此,为13号VLAN的计算机准备的“Vlan13IpPool”地址池已经配置完毕,但是13号VLAN的计算机还不能获取IP,原因是缺少在全局模式下启动DHCP服务器功能的指令“Ruijie(config)# service dhcp”,为了避免排斥地址在配置前已经被分配出去,建议将此配置指令留在最后配置,接下来为24号VLAN的计算机配置“Vlan24IpPool”地址池,最后再启用DHCP服务器功能。
针对为PC2固定分配地址1.1.24.100/24的需求,在DHCP服务器数据库中,需要手工绑定IP 地址和 MAC 地址,手工绑定其实是一个特殊地址池。(www.xing528.com)
PC2的MAC地址是:4016.9FF2.2666,客户端标识包含了网络媒介类型和MAC地址。关于媒介类型的编码,请参见 RFC 1700中关于“Address Resolution Protocol Parameters”部分的内容,以太网类型为“01”。客户端标识其实就是在MAC地址前加上以太网类型,即在“4016.9FF2.2666”前加上“01”,也就是“0140.169f.f226.66”。
在交换机上配置的特殊的地址池“staticPc2”就是为了给PC2分配特定的IP地址“1.1.24.100/24”。DHCP DISCOVER报文中有一个字段“Option61”是Client Identifier,如图5-6所示,该字段包含了发送此报文的主机MAC地址,如果与DHCP服务器上配置的一致,DHCP服务器将分配对应的IP。
图5-6 DHCP协议数据报分析
最后启动DHCP服务器功能,配置完毕。
为了检查配置效果,分别在4台计算机上的命令提示符中使用命令“ipconfig”查看获得的IP地址,如果已经动态获得IP了则使用“ipconfig/release”命令释放IP,再使用“ipconfig/renew”命令重新获取IP。
PC1与PC3获取的IP是1.1.13.1或者1.1.13.2,PC2获取的IP是1.1.24.100,PC4获取的IP是1.1.24.11,因为前10个IP作为排斥地址不分配。图5-6显示了PC2获取IP地址的数据报交互过程。因为在三层交换机上配置了SVI端口,4台PC可以通信。
在计算机的命令提示符中可以查看到主机获取到的IP地址、网关、DNS、租期等信息。那么前面使用命令“Ruijie(config)# ip dhcp ping packets 5”配置的分配IP地址前的ping包次数如何验证呢?我们可以在PC1和PC3上完成下列操作。
(1)记录下PC1已经获取的IP地址。
(2)在PC1上使用“ipconfig/release” 命令释放IP地址。
(3)在PC3上配置(1)步骤中记录下的PC1的地址。
(4)在PC3上启动Wireshark之类的数据分析软件捕获数据包。
(5)在PC1上使用“ipconfig/renew” 重新获取IP。
PC3上的数据包捕获软件将捕获到从172.28.15.254地址“ping”出来的ICMP报文,总共5次。如图5-7所示。其中DHCP DISCOVER报文中的字段Option50是原先使用过但被占用的IP。
图5-7 DHCP分配IP地址前使用ping包测试IP是否被占用
在交换机的特权模式下可以查看DHCP绑定、冲突、中继等信息,绑定信息的查看如下所示。
不只计算机可以动态获取IP地址,交换机或者路由器的接口都可以动态获取IP地址。例如,在二层交换机上配置管理VLAN为13,动态获取IP地址如下所示。管理VLAN的IP地址通常由管理员规划指定,这里仅演示交换机接口如何动态获取IP。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。