DHCP:(2)思科交换机上部署DHCP服务以及中继功能

小编:小丢 更新时间:2022-05-04


一、拓扑说明

DHCP:(2)思科交换机上部署DHCP服务以及中继功能

说明:有3个VLAN,VLAN2与VLAN3是用户VLAN,而VLAN 88则是DHCP服务器的VLAN,在实验演示一中,DHCP服务器不会使用,因为实验一是演示的,部署在交换机上面,DHCP服务器则在后续中继的过程中使用到。

地址规划

VLAN 2:20.1.1.0/24,网关20.1.1.254,DNS 88.1.1.253
VLAN 3:30.1.1.0/24,网关30.1.1.254,DNS 88.1.1.253
VLAN 88:88.1.1.0/24,网关88.1.1.254,DNS 88.1.1.253

实验演示一的配置思路

1、二层配置VLAN,把对应的接口加入到对应的VLAN内
2、二层交换机与三层交换机之间配置trunk
3、三层交换机上面配置DHCP服务
4、验证PC是否能够获取到
5、优化端口与地址排除

具体配置

1、二层配置VLAN,把对应的接口加入到对应的VLAN内
2、二层交换机与三层交换机之间配置trunk
说明:二层交换机需要配置的就是,把用户的VLAN 2 3创建,然后上行链路定义为trunk,把下行接入用户的接口划入到对应的VLAN里面。

switch-S260(config)#vlan 2
switch-S260(config-vlan)#vlan 3

switch-S260(config)#int f0/1
switch-S260(config-if)#switchport mode access
switch-S260(config-if)#switchport access vlan 2

switch-S260(config-if)#int f0/2
switch-S260(config-if)#switchport mode access
switch-S260(config-if)#switchport access vlan 3

switch-S260(config-if)#int f0/3
switch-S260(config-if)#switchport mode trunk

说明:其中F0/1与2是接用户的接口,F0/3是接三层交换机的接口。

3、三层交换机上面配置DHCP服务
说明下:这里三层交换机并没有配置这两条命令

switchport trunk encapsulation dot1q
switchport mode trunk
这是因为3560默认是DTP模式的auto,只要另外一段配置了on或者是对应的模式会自动协商为trunk,之前强制了二层交换机而trunk,这里3560就自然的形成了trunk。

三层交换机的初始化配置

switch-S3560(config)#vlan 2
switch-S3560(config-vlan)#vlan 3

switch-S3560(config-vlan)#int vlan 2
switch-S3560(config-if)#ip address 20.1.1.254 255.255.255.0

switch-S3560(config-if)#int vlan 3
switch-S3560(config-if)#ip address 30.1.1.254 255.255.255.0

说明:配置了SVI地址用户作为客户端的网关,后续DHCP也根据对应的VLAN找到对应的地址池分配。

DHCP配置

switch-S3560(config)#service dhcp (可选,默认情况下思科大部分设备都是开启了该服务的)

基于VLAN2的地址池

switch-S3560(config)#ip dhcp pool vlan2 (创建一个地址池,命名为VLAN2)
switch-S3560(dhcp-config)#network 20.1.1.0 255.255.255.0 (分配的网段为20.1.1.0/24)
switch-S3560(dhcp-config)#default-router 20.1.1.254 (分配的网关为20.1.1.254)
switch-S3560(dhcp-config)#dns-server 88.1.1.253 (分配的DNS为88.1.1.253,可以有2个)

说明:这些是常见的配置,配置DHCP最基础 也最需要用到的,当然还有一些配置。
1、lease:思科设备默认为1天,可以修改为自己需要的时间 lease 0 1,表示0天,1小时
2、domain-name:域名,比如ccieh3c.taobao.com
3、netbios-name-server:wins服务器
4、Option:DHCP的一些选项,比如语音服务器的150,告诉AC地址的option43等

基于VLAN3的地址池

switch-S3560(config)#ip dhcp pool vlan3
switch-S3560(dhcp-config)#network 30.1.1.0 255.255.255.0
switch-S3560(dhcp-config)#default-router 30.1.1.254
switch-S3560(dhcp-config)#dns-server 88.1.1.253

4、验证PC是否能够获取到

DHCP:(2)思科交换机上部署DHCP服务以及中继功能


DHCP:(2)思科交换机上部署DHCP服务以及中继功能


DHCP:(2)思科交换机上部署DHCP服务以及中继功能


DHCP:(2)思科交换机上部署DHCP服务以及中继功能

5、优化端口与地址排除

在常见的DHCP部署中,很容易遇到的问题就是,当客户端接入进去,获取地址很慢,或者是获取不到地址,但是DHCP是没问题的,很常见的问题就是生成树导致的,PC接入的时候,生成树要计算,花费30s的时间,所以容易造成获取地址不到的情况,可以配置STP的快速端口,来解决该问题,跳过生成树的检查。
switch-S260(config)#interface range f0/1 – 2
switch-S260(config-if-range)#spanning-tree portfast

地址排除问题

地址排错的机制是为了排除掉,已经用掉的地址,比如网关,DNS已经固定了,需要在分配的网段内排除掉,不分配个下面的客户端。

switch-S3560(config)#ip dhcp excluded-address 20.1.1.254
switch-S3560(config)#ip dhcp excluded-address 30.1.1.254

这里就是说,排除掉已经用在网关的地址,不过现在大部分的DHCP服务器已经不需要排除了,有检测机制来完成,在原理篇里面已经讲解了。

问题:为什么交换机能够知道VLAN2就分配20.1.1.0网段,而VLAN3就是30.1.1.0呢?


这个跟配置的SVI有关,当VLAN2的用户发送DHCP请求后,三层交换机的VLAN2收到后,由于VLAN2的SVI对应的是20.1.1.254,它会查找DHCP的配置有没有20.1.1.0这个网段的地址池,查找到了就通过该地址池分配一个没有使用的地址给用户,VLAN3同理。

在交换机里面应用DHCP中继功能

有时候我们企业环境的DHCP是单独用Windows 或者Linux服务器搭建的,而并不是部署在网络设备上面,那么我们就需要用到一种技术,叫做中继功能,因为DHCP是广播形式发送的,也就是说在同一个VLAN或者广播域内,DHCP是可以响应请求,但是在跨网段也就是不是同一个广播域内,那么就没办法响应请求了,这时候需要通过中继技术,把广播转换为单播请求发送给DHCP服务器。

修改与需要添加的配置(3560上)

说明:二层交换不需要任何改变,增加跟修改的在三层上面,一个是把地址池去掉,另外一个就是添加一个88的VLAN与SVI地址,与DHCP服务器通信。
switch-S3560(config)#no ip dhcp pool vlan2
switch-S3560(config)#no ip dhcp pool vlan3

switch-S3560(config)#vlan 88
switch-S3560(config-vlan)#int f0/2
switch-S3560(config-if)#sw mo ac
switch-S3560(config-if)#sw ac vlan 88

switch-S3560(config-if)#int vlan 88
switch-S3560(config-if)#ip address 88.1.1.254 255.255.255.0

DHCP:(2)思科交换机上部署DHCP服务以及中继功能

服务器这总共配置了2个地址池,一个VLAN 2的一个VLAN 3的。实际环境中,Windows与Linux的配置跟模拟器不太一样,不过效果是一样的,这里简化了。另外注意服务一定要开启为on

DHCP中继配置

switch-S3560(config)#ip routing

switch-S3560(config)#int vlan 2
switch-S3560(config-if)#ip help
switch-S3560(config-if)#ip helper-address 88.1.1.253
switch-S3560(config-if)#int vlan 3
switch-S3560(config-if)#ip helper-address 88.1.1.253

说明:在配置DHCP中继的时候,几个重要的点, 一个是思科交换机路由功能要开启,保证DHCP服务器能与需要分配地址的VLAN通信,因为DHCP是根据中继里面包含的地址来判断给客户端分配哪个地址池里面的地址的。所以路由一定要保证可达(DHCP服务器与需要分配地址的VLAN IP)

测试

DHCP:(2)思科交换机上部署DHCP服务以及中继功能


DHCP:(2)思科交换机上部署DHCP服务以及中继功能

可以看到2个对比,之前是从交换机的获取到的地址,而这次是从DHCP server获取到的,说明中继生效了。

DHCP:(2)思科交换机上部署DHCP服务以及中继功能


DHCP:(2)思科交换机上部署DHCP服务以及中继功能

问题:DHCP服务器是怎么知道客户需要哪个网段的地址,如何判断的。

这个在DHCP中继里面,有一个gateway ip address,它的作用就是记录做中继转发设备的接口IP地址,比如VLAN 2的用户请求DHCP,但是三层设备并没有配置DHCP服务,所以这时候中继会帮忙把广播封装为单播,并且转发给指定的地址,其中gateway ip address会打上VLAN 2的接口IP地址也是20.1.1.254,当DHCP服务器收到以后,自然知道客户请求的是20这个网段的地址,查找是否有对应的地址池,然后分配地址进行回应。

如果大家有任何疑问或者文中有错误跟疏忽的地方,欢迎大家留言指出,博主看到后会第一时间修改,谢谢大家的支持,更多技术文章尽在网络之路Blog,版权归网络之路Blog所有,原创不易,侵权必究,觉得有帮助的,关注转发一波谢谢。

上一篇回顾


下一篇学习

DHCP:(2)思科交换机上部署DHCP服务以及中继功能