1.DHCP简介:
DHCP(Dynamic Host Configuration Protocol)即动态主机配置协议,是一种网络管理协议,用于集中对用户IP地址进行动态管理和配置。
1.1DHCP的作用:
DHCP的主要目标是简化网络管理员对于IP地址管理的工作,并提供一种自动化的方式来配置网络设备。通过DHCP,客户端设备可以自动获取IP地址、子网掩码、默认网关、DNS服务器等网络配置信息,从而正确连接到网络并进行通信。
1.2DHCP的原理:
DHCP的工作基于“租约”的概念。网络管理员在DHCP服务器上配置了一系列可用的IP地址范围,这些地址将被分配给网络中的设备。当一个设备加入网络时,它会向DHCP服务器发送一个请求,请求分配一个可用的IP地址。DHCP服务器接收到请求后,会从预先配置的地址池中选择一个可用的IP地址,并将其分配给设备。这个分配的IP地址具有一个租期,设备在租约到期之前可以一直使用该IP地址。
1.3DHCP的工作流程:
DHCP的工作流程包括发现阶段(Discover)、提供阶段(Offer)、请求阶段(Request)和确认阶段(Acknowledge)。在发现阶段,设备会向网络中的DHCP服务器发送一个DHCP发现消息,该消息以广播形式发送到整个局域网上的所有DHCP服务器。在提供阶段,DHCP服务器会选择一个IP地址,并将该地址以DHCP提供消息的形式发送回设备。在请求阶段,设备会向其中的一个DHCP服务器发送DHCP请求消息,确认接受该服务器提供的IP地址和配置。在确认阶段,DHCP服务器会发送DHCP确认消息作为响应,确认设备已经获得了分配的IP地址和配置信息。
2.DHCP中继简介:
DHCP中继(也称作DHCP Relay Agent)是一种网络设备或服务,它实现了不同网段间的DHCP服务器和客户端之间的报文交互。
2.1DHCP中继的作用:
DHCP中继承担处于不同网段间的DHCP客户端和服务器之间的中继服务,将DHCP协议报文跨网段透传到目的DHCP服务器,最终使网络上的DHCP客户端可以共同使用一个DHCP服务器。
2.2DHCP中继的工作原理:
当DHCP客户端和DHCP服务器处于不同网段时,由于路由器通常不会转发广播包,因此DHCP客户端无法直接找到DHCP服务器。此时,DHCP中继起到了关键作用。它会接收DHCP客户端发送的DHCP发现报文,并将其转发给DHCP服务器。然后,DHCP服务器会选择一个IP地址,并通过DHCP中继将DHCP提供报文发送回DHCP客户端。这样,DHCP客户端就可以获得所需的IP地址和其他网络配置信息。
2.3DHCP中继的工作流程:
DHCP中继的工作流程相对简单,主要包括以下几个步骤:
首先,DHCP客户端发送DHCP发现报文给DHCP服务器(但由于网段不同,该报文会先被DHCP中继接收);
然后,DHCP中继将DHCP发现报文转发给位于其他网段上的DHCP服务器;
接着,DHCP服务器根据请求报文中的信息提供必要参数,并发送给DHCP中继;
最后,DHCP中继将配置信息返回给DHCP客户端,完成对客户端的动态配置。
3.实验目的:
DHCP用于自动化地分配和管理IP地址等网络配置信息,而DHCP中继则实现不同网段间的DHCP服务器和客户端之间的通信。
4.实验要求:
实验设备:
- 路由器(两台,用于模拟不同网络段)
- C交换机(用于划分VLAN)
- PC机(作为DHCP客户端)
- DHCP服务器(可以由一台CISCO路由器或专用服务器担任)
相关要求:
- 在路由器上配置DHCP服务器,为特定VLAN或网络段提供IP地址分配服务。
- 在需要跨网络段获取IP地址的路由器上配置DHCP中继。
- 确保PC机能够通过DHCP服务器或中继正确获取IP地址。
配置R1为DHCP服务器,分配地址网段:
192.168.1.0/24,要求排除R1自身地址192.168.1.254以及其他服务器地址192.168.1.251~253
10.0.0.0/8
20.0.0.0/8
配置R2为DHCP中继:
DHCP中继
f0/0:172.16.1.253/16
f0/1.1:10.1.1.254/8
f0/1.2:20.1.1.254/8
vlan 10:f0/2-12
vlan 20:f0/13-24
4.1实验拓扑:
5.具体配置:
5.1配置DHCP服务器:
Router>en
Router#configure t
Router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#hostname R1
# 配置接口IP
R1(config)#interface f0/0
R1(config-if)#ip address 172.16.1.254 255.255.0.0
R1(config-if)#no shutdown
R1(config-if)#exit
R1(config)#interface f0/1
R1(config-if)#ip address 192.168.1.254 255.255.255.0
R1(config-if)#no shutdown
R1(config-if)#exit
# 排除R1自身地址192.168.1.254以及其他服务器地址192.168.1.251~253
R1(config)#ip dhcp excluded-address 192.168.1.251 192.168.1.254
R1(config)#ip dhcp pool vlan1 # 创建地址池为vlan1
R1(dhcp-config)#network 192.168.1.0 255.255.255.0 # 分配地址网段
# 指定默认网关
R1(dhcp-config)#default-router 192.168.1.254
# 指定DNS服务器
R1(dhcp-config)#dns-server 8.8.8.8
R1(dhcp-config)#exit
R1(config)#ip dhcp pool vlan10
R1(dhcp-config)#network 10.0.0.0 255.0.0.0
R1(dhcp-config)#default-router 172.16.1.254
R1(dhcp-config)#dns-server 8.8.8.8
R1(dhcp-config)#exit
R1(config)#ip dhcp pool vlan20
R1(dhcp-config)#network 20.0.0.0 255.0.0.0
R1(dhcp-config)#default-router 172.16.1.254
R1(dhcp-config)#dns-server 8.8.8.8
R1(dhcp-config)#exit
# 开启dhcp服务
R1(config)#service dhcp
# 配置路由
R1(config)#ip route 10.0.0.0 255.0.0.0 172.16.1.253
R1(config)#ip route 20.0.0.0 255.0.0.0 172.16.1.253
验证是否配置成功:
5.2配置DHCP中继:
Router>enable
Router#conf terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#hostname R2
# 配置各类接口IP
R2(config)#interface f0/0
R2(config-if)#ip add 172.16.1.253 255.255.0.0
R2(config-if)#no shutdown
# 开启接口
R2(config)#int f0/1
R2(config-if)#no shutdown
# 为VLAN 10和VLAN 20创建子接口,并配置封装类型为dot1q(用于VLAN标记)。
R2(config)#interface f0/1
R2(config-if)#int f0/1.1
R2(config-subif)#encapsulation dot1Q 10
R2(config-subif)#ip address 10.1.1.254 255.0.0.0
R2(config-subif)#ip helper-address 172.16.1.254 # 子接口开启dhcp中继,并指定DHCP服务器的IP地址
R2(config-subif)#no shutdown
R2(config-subif)#exit
R2(config)#interface f0/1.2
R2(config-subif)#encapsulation dot1Q 20
R2(config-subif)#ip address 20.1.1.254 255.0.0.0
R2(config-subif)#ip helper-address 172.16.1.254
R2(config-subif)#no shutdown
R2(config-subif)#exit
# 配置路由
R2(config)#ip route 192.168.1.0 255.255.255.0 172.16.1.254
5.3配置交换机:
SW1配置相关接口:
Switch>enable
Switch#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#hostname SW1
SW1(config)#vlan 1
SW1(config-vlan)#exit
SW1(config)#int f0/1
SW1(config-if)#switchport mode trunk
SW1(config-if)#switchport trunk allowed vlan 1
SW1(config-if)#exit
SW1(config)#int f0/2
SW1(config-if)#switchport mode access
SW1(config-if)#switchport access vlan 1
SW1(config-if)#exit
SW2创建vlan 10 和vlan 20:
Switch>enable
Switch#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#hostname SW2
SW2(config)#vlan 10
SW2(config-vlan)#name VLAN10
SW2(config-vlan)#exit
SW2(config)#vlan 20
SW2(config-vlan)#name VLAN20
SW2(config-vlan)#exit
将接口分配到valn:
SW2(config)#interface range f0/2 - 12
SW2(config-if-range)#switchport mode access
SW2(config-if-range)#switchport access vlan 10
SW2(config-if-range)#exit
SW2(config)#interface range f0/13 - 24
SW2(config-if-range)#switchport mode access
SW2(config-if-range)#switchport access vlan 20
SW2(config-if-range)#exit
验证vlan是否配置成功:
配置trunk接口:
SW2(config)#interface f0/1
SW2(config-if)#switchport mode trunk # 设置接口为Trunk模式
SW2(config-if)#switchport trunk allowed vlan all # 配置允许的VLAN
# 可以不配置
SW2(config-if)#switchport trunk encapsulation dot1q # 启用Dot1q封装(通常默认启用)
验证:
6.测试IP分配和连通性:
PC1DHCP请求成功:
PC2DHCP请求成功:
PC3DHCP请求成功:
PC1pingPC2成功:
PC1pingPC3成功:
PC2pingPC3成功:
PC3pingPC1成功:
7.实验总结与收获:
7.1实验收获:
配置DHCP服务器需要根据具体vlan划分合理创建地址池,并且分配合理的网段,设置默认网关和DNS服务器,开启DHCP服务。
配置DHCP中继需要根据具体vlan创建子接口,并且配置封装类型为dot1q,还要开启子接口DHCP中继,并指定DHCP服务器的IP地址。
配置路由器时不要忘记开启接口。
7.2实验总结:
1.实现了VLAN 之间的通信。
2.实现了各VLAN内的主机能够访问路由器连接的主机。
3.实现了DHCP用于自动化地分配和管理IP地址等网络配置信息。
4.DHCP中继则实现不同网段间的DHCP服务器和客户端之间的通信。