目录
一、DHCP介绍
DHCP(动态主机配置协议)是一个局域网的网络协议为客户机分发IP地址,子网掩码,网关,DNS服务器,租期等。简化了客户机的设置,防止用户误操作,避免地址重复。DHCP通常被应用在大型的局域网络环境中,主要作用是集中的管理、分配IP地址,使网络环境中的主机动态的获得IP地址、Gateway地址、DNS服务器地址等信息,并能够提升地址的使用率。
(DHCP服务在UDP协议中,因为是C/S架构,所以DHCP服务是分为客户机占用UDP62端口,DHCP服务器占用UDP68号端口)
二、DHCP工作原理
DHCP客户机向局域网发送DHCPdiscovery请求,DHCP客户机向DHCP服务器发送DHCP的请求来请求IP。局域网中的所有DHCP服务器回复DHCPoffer,为客户机提供IP地址而且要发送DHCPrequest通告给局域网内所有DHCP服务器,它选择了哪个IP和哪个DHCP服务器。被选中的DHCP服务器收到DHCPrequest消息后会给DHCP客户机回复一个DHCPack,正式确认此IP可以被客户机使用,客户机将此IP与自己的mac绑定起来,以使下次继续使用,而其他DHCP服务器将把自己的分配的IP进行回收。
租期:
客户机使用的IP地址是有期限的,一般的DHCP客户机使用DHCP分配的IP地址到了租期的50%的时候会主动向DHCP服务器发出续约请求,DHCP服务器接收到DHCP客户机的续约请求后,DHCP服务器会检查此IP地址有没有被别的DHCP服务器占用,如果没有,就续约成功,如果此IP地址有其他DHCP客户占用,那么续约就不成功,此时DHCP客户机将会重新发起DHCPdiscovery请求来获取新的IP地址。
三、模拟配置实验
DHCP服务的实现分为两种情况:
情况一:DHCP服务器和DHCP客户机在同一个网段。
情况二:DHCP服务器和DHCP客户机不在同一个网段——DHCP中继,只能有路由器实现,DHCP服务器无法单独实现
情况一配置前准备:两台二层交换机和四台pc机和一台三层交换机(三层交换机做DHCP服务器)
配置二层交换机LSW6
[sw1]vlan bat 10 20 创建虚拟接口
[sw1]int e0/0/1 进入接口
[sw1-Ethernet0/0/1]port link-type access 配置接口类型为access
[sw1-Ethernet0/0/1]port default vlan 10 将接口划分进vlan10
[sw1-Ethernet0/0/1]int e0/0/2 进入接口
[sw1-Ethernet0/0/2]port link-type access 配置接口类型为access
[sw1-Ethernet0/0/2]port default vlan 20 将接口划分进vlan20
[sw1-Ethernet0/0/2]int g0/0/1 进入接口
[sw1-GigabitEthernet0/0/1]port link-type trunk 配置接口类型为trunk
[sw1-GigabitEthernet0/0/1]port trunk allow-pass vlan all 设置白名单
配置二层交换机LSW7
[sw1]vlan bat 10 20 创建虚拟接口
[sw1]int e0/0/1 进入接口
[sw1-Ethernet0/0/1]port link-type access 配置接口类型为access
[sw1-Ethernet0/0/1]port default vlan 10 将接口划分进vlan10
[sw1-Ethernet0/0/1]int e0/0/2 进入接口
[sw1-Ethernet0/0/2]port link-type access 配置接口类型为access
[sw1-Ethernet0/0/2]port default vlan 20 将接口划分进vlan20
[sw1-Ethernet0/0/2]int g0/0/1 进入接口
[sw1-GigabitEthernet0/0/1]port link-type trunk 配置接口类型为trunk
[sw1-GigabitEthernet0/0/1]port trunk allow-pass vlan all 设置白名单
配置三层交换机 LSW8
[LS-SW1]dhcp enable 开启交换机DHCP功能
[LS-SW1]int g0/0/1 进入接口
[LS-SW1-GigabitEthernet0/0/1]port link-type trunk 设置接口链路类型
[LS-SW1-GigabitEthernet0/0/1]port trunk allow-pass vlan all 设置白名单
[LS-SW1-GigabitEthernet0/0/1]int g0/0/2 进入接口
[LS-SW1-GigabitEthernet0/0/2]port link-type trunk 设置接口链路类型
[LS-SW1-GigabitEthernet0/0/2]port trunk allow-pass vlan all 设置白名单[LS-SW1]vlan bat 10 20 创建虚拟接口vlan
[LS-SW1-GigabitEthernet0/0/2]int vlan 10 进入虚拟接口vlan10
[LS-SW1-Vlanif10]ip add 192.168.10.1 255.255.255.0 配置IP地址和子网掩码
[LS-SW1-Vlanif10]dhcp select interface 在接口下开启DHCP功能
[LS-SW1-Vlanif10]dhcp server dns-list 4.4.4.4 8.8.8.8 下发DNS服务器地址
[LS-SW1-Vlanif10]q 返回上一层方法二建立地址池分发DHCP
[LS-SW1]ip pool dhcp2 新建DHCP地址池dhcp2
[LS-SW1-ip-pool-dhcp2]network 192.168.20.0 mask 24 指定dhcp2地址池的分发网段
[LS-SW1-ip-pool-dhcp2]gateway-list 192.168.20.1 指定dhcp2获取的网关地址
[LS-SW1-ip-pool-dhcp2]dns-list 2.2.2.2 40.40.40.40 指定dhcp2获取的服务器地址
[LS-SW1-ip-pool-dhcp2]lease day 7 dhcp2地址池的使用租期
[LS-SW1-ip-pool-dhcp2]int vlan 20 进入虚拟接口
[LS-SW1-Vlanif20]ip add 192.168.20.1 255.255.255.0 配置IP地址和子网掩码
[LS-SW1-Vlanif20]dhcp select global 接口下指定dhcp2以地址池方式分配
在pc机上要配置自动获取 DHCP并进行查看
情况二配置前准备:两台二层交换机和四台pc机和一台三层交换机(做DHCP中继器)和一台路由器(路由器做DHCP服务器)
由于上一个实验已经配置了DHCP的服务要关掉三层交换机的服务,由于连接路由器需要配置vlan与路由器连通,还要配置vlan100
[sw3-Vlanif10]undo dhcp select interface
[sw3-Vlanif20]undo dhcp select globalvlan100配置
[sw3]vlan 100 创建虚拟接口
[sw3-vlan100]int g0/0/3 进入接口
[sw3-GigabitEthernet0/0/3]port link-type access 设置接口链路类型
[sw3-GigabitEthernet0/0/3]port default vlan 100 将接口划分进vlan100
[sw3-GigabitEthernet0/0/3]int vlan 100 进入虚拟接口
[sw3-Vlanif100]ip add 10.10.10.1 24 配置IP和子网掩码
配置路由器
[r1]int g0/0/0 进入接口
[r1-GigabitEthernet0/0/0]ip add 10.10.10.2 24 配置接口IP和子网掩码长度
[r1-GigabitEthernet0/0/0]undo shutdown 开启接口
[r1-GigabitEthernet0/0/0]q 返回上一层
[r1]dhcp enable 开启DHCP服务
[r1]ip pool dhcp1 创建地址池1
[r1-ip-pool-dhcp1]network 192.168.10.0 mask 24 指定地址池网段给和子网掩码长度
[r1-ip-pool-dhcp1]gateway-list 192.168.10.1 指定地址池网关
[r1-ip-pool-dhcp1]dns-list 4.4.4.4 6.6.6.6 指定地址池的DNS
[r1-ip-pool-dhcp1]lease day 7 设置地址池租期
[r1-ip-pool-dhcp1]q 返回上一层
[r1]ip pool dhcp2 创建地址池二
[r1-ip-pool-dhcp2]network 192.168.20.0 mask 24 指定地址池的网段和子网掩码长度
[r1-ip-pool-dhcp2]gateway-list 192.168.20.1 指定地址池网关
[r1-ip-pool-dhcp2]dns-list 8.8.8.8 9.9.9.9 指定地址池的DNS
[r1-ip-pool-dhcp2]lease day 7 设置地址池的租期
[r1-ip-pool-dhcp2]q 返回上一层
[r1]int g0/0/0 进入接口
[r1-GigabitEthernet0/0/0]dhcp select global 指定以地址池的方式分配地址
[r1-GigabitEthernet0/0/0]q 返回上一层
[r1]ip route-static 192.168.10.0 24 10.10.10.1 配置静态路由目标网段:192.168.10.1 子网掩码24 下一跳地址10.10.10.1
[r1]ip route-static 192.168.20.0 24 10.10.10.1 配置静态路由目标网段:192.168.20.1 子网掩码24 下一跳地址10.10.10.1
配置三层交换机做为DHCP中继
[sw3]int vlan 10 进入虚拟接口
[sw3-Vlanif10]dhcp select relay 指定地址池以中继的方式发送
[sw3-Vlanif10]dhcp relay server-ip 10.10.10.2 指定中继的地址
[sw3-Vlanif10]int vlan 20 进入虚拟接口
[sw3-Vlanif20]dhcp select relay 指定地址池以中继的方式发送
[sw3-Vlanif20]dhcp relay server-ip 10.10.10.2 指定中继的地址
四、总结
有了DHCP中继,可以实现DHCP的跨网运作。由于 DHCP DISCOVER是以广播方式进行的,其情形只能在同一网络之内进行,因为路由器是不会将广播传送出去的。但如果DHCP服务器架设在其他的网络上面,可以用DHCP中继来接管客户的DHCP请求,然后将此请求传递给真正的DHCP服务器,然后将服务器的回复传给客户。这里,DHCP中继主机必须自己具有路由能力,且能将双方的数据报互传对方。如果不使用中继,也可以在每一个网络中安装DHCP服务器,但这样的话,一来设备成本会增加,而且管理上面也比较分散。当然,如果在大型的网络中,这样的均衡式架构还是可取的