千家信息网

小型实验:基于GNS3与VMware用Linux CentOS7搭建DHCP中继服务(原理+实验)

发表于:2024-11-23 作者:千家信息网编辑
千家信息网最后更新 2024年11月23日,一、DHCP工作原理1.DHCP服务简介DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)通常被应用在大型的局域网络环境中,主要作用是集中的管理、分配
千家信息网最后更新 2024年11月23日小型实验:基于GNS3与VMware用Linux CentOS7搭建DHCP中继服务(原理+实验)

一、DHCP工作原理

1.DHCP服务简介

DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)通常被应用在大型的局域网络环境中,主要作用是集中的管理、分配IP地址,使网络环境中的主机动态的获得IP地址、Gateway地址、DNS服务器地址等信息,并能够提升地址的使用率。

2.DHCP服务的好处

(1)减少管理员的工作量;
(2)避免IP地址冲突;
(3)当网络更改IP地址段时,不需要再重新配置每个用户的IP地址;
(4)提高了IP地址的利用率;
(5)方便客户端的配置。

3.DHCP的分配方式

(1)自动分配:分配到一-个IP地址后永久使用;
(2)手动分配:由DHCP服务器管理员专门指定IP地址;
(3)动态分配:使用完后释放该IP,供其它客户机使用。

4.DHCP的租约过程

(1)客户机请求IP地址(Discover)

当一个DHCP客户机启动时,客户机还没有IP地址,所以客户机要通过DHCP获取一个合法的地址,此时DHCP客户机以广播方式发送DHCP Discover发现信息来寻找DHCP服务器。

(2)服务器响应(Offer)

当DHCP服务器接收到来自客户机请求IP地址的信息时,它就在自己的IP地址池中查找是否有合法的IP地址提供给客户机,如果有,DHCP服务器就将此IP地址做上标记,加入到DHCP Offer的消息中,然后DHCP服务器就广播一则DHCP Offer消息。

(3)客户机选择IP地址(Request)

DHCP客户机从接收到的第一个DHCP Offer消息中提取IP地址,发出IP地址的DHCP服务器将该地址保留,这样该地址就不能再分配给另一个DHCP客户机。在网络环境中可能有多个DHCP服务器,所以DHCP客户机会得到多个 DHCP offer,这是DHCP客户机需要选择其中一个提供的IP,然后广播发送request告诉所有DHCP服务器自己的选择。

(4)服务器确定租约(ACK)

DHCP服务器接收到DHCP Request消息后,以DHCP ACK消息的形式向客户机广播成功确认,该消息包含有IP地址的有效租约和其他可配置的信息。当客户机收到DHCP ACK消息时,它就配置了IP地址,完成TCP/IP的初始化。

(5)重新登录

DHCP客户机每次重新登录网络时,不需要再发送DHCP Discover信息,而是直接发送包含前一次所分配的IP地址的DHCP Request请求信息。

(6)更新租约

当DHCP服务器向客户机出租的IP地址租期达到50%时,就需要更新租约。客户机直接向提供租约的服务器发送DHCP Request包,要求更新现有的地址租约。

二、DHCP中继服务的配置

1.首先在GNS3中将拓扑图设置好,然后将设备按图中接口连接好。

接口连接:
sw1:f1/0----------sw2:f1/0
sw1:f1/1----------DHCP:VMnet1
sw1:f1/2----------win10:VMnet2
sw1:f1/3----------server:VMnet8
vlan分配:
win10:vlan 10
server:vlan 20
DHCP:vlan 100
网段分配:
win10:192.168.10.0/24
server:192.168.20.0/24
DHCP:192.168.100.0/24

2.在Linux系统用yum源安装DHCP服务。注意:需要在联网环境下安装。

3.将win10系统的网络模式,选择为自定义并绑定VMnet1网卡。

4.将server系统的网络模式,选择为自定义并绑定VMnet2网卡。

5.将Linux系统的网络模式,选择为自定义并绑定VMnet8网卡。

6.点击"编辑"选择"虚拟网络编辑器",然后选择"更改设置",再选择"VMnet8"网卡将改为仅主机模式,并将"使用本地DHCP服务分配IP地址"选项的"√"去掉。(4、5、6步是为了创造一个局域网内没有DHCP服务器的实验环境)



7.进入Linux系统,用vim编辑器对网卡"ens33"的配置文件进行编辑,给它配置一个固定IP。

输入:vim  /etc/sysconfig/network-scripts/ifcfg-ens33将dhcp改为static添加:IPADDR=192.168.100.100NETMASK=255.255.255.0GATEWAY=192.168.100.1


8.更改完网卡"ens33"的配置后,重启网络服务,再查看网卡信息,可以看到IP地址设置成功。

输入:service network restart 输入:ifconfig

9.我们将系统给的DHCP配置文件的模板"/usr/share/doc/dhcp-4.2.5/dhcpd.conf.example",复制到DHCP服务的配置文件"/etc/dhcp/dhcpd.conf"中,并将其覆盖。

输入:cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf

10.用vim编辑器对DHCP服务的配置文件"/etc/dhcp/dhcpd.conf"进行配置。在里面添加三个网段的DHCP服务。

输入:vim /etc/dhcp/dhcpd.conf添加:subnet 192.168.10.0 netmask 255.255.255.0 {  range 192.168.10.50 192.168.10.100;  option routers 192.168.10.1;}subnet 192.168.20.0 netmask 255.255.255.0 {  range 192.168.20.50 192.168.20.100;  option routers 192.168.20.1;}subnet 192.168.100.0 netmask 255.255.255.0 {  range 192.168.100.50 192.168.100.100;  option routers 192.168.100.1;}


11.开启dhcp服务,并查看服务状态。

输入:systemctl start dhcpd输入:systemctl status dhcpd

12.进入GNS3将所有设备开启。

13.双击sw1,打开sw1的配置面板。进入全局模式,然后关闭路由功能。

输入:conf t输入:no ip routing

14.新建三个vlan,分别为vlan 10、vlan 20、vlan 100。然后查看vlan是否添加成功。

输入:vlan 10,20,100输入:do show vlan-sw b输入:exit

15.分别进入f1/1、f1/2、f1/3接口,将接口模式设置为"access"模式,然后将三个接口分别添加到vlan 100、vlan 10、vlan 20。再进入f1/0接口,将f1/0接口模式设置为"trunk"模式,trunk封装类型设置为"dot1q"。

输入:int f1/1输入:switch mode access输入:switch access vlan 100输入:exit输入:int f1/2输入:switch mode access输入:switch access vlan 10输入:exit输入:int f1/3输入:switch mode access输入:switch access vlan 20输入:exit输入:int f1/0输入:switch mode trunk输入:switchport trunk encapsulation dot1q输入:exit

16.双击sw2设备,打开sw2的配置面板。先进入全局模式,再新建三个vlan,vlan 10、vlan 20、vlan 100。然后查看是否添加成功。

输入:conf t输入:vlan 10,20,100输入:exit输入:do show vlan-switch brief

17.进入f1/0接口,将f1/0接口模式设置为"trunk"模式,trunk封装类型设置为"dot1q"。

输入:int f1/0输入:switch mode trunk输入:switchport trunk encapsulation dot1q输入:exit

18.分别进入vlan 10、vlan 20、vlan 100,设置它们的网关地址并开启。

输入:int vlan 10输入:ip add 192.168.10.1 255.255.255.0输入:no shutdown输入:exit输入:int vlan 20输入:ip add 192.168.20.1 255.255.255.0输入:no shutdown输入:exit输入:int vlan 100输入:ip add 192.168.100.1 255.255.255.0输入:no shutdown输入:exit

19.查看一下,IP地址是否设置成功。

输入:do show ip int brief

20.分别进入vlan 10、vlan 20、vlan 100中,然后给它们设置DHCP服务器的IP地址。

输入:int vlan 10输入:ip helper-address 192.168.100.100输入:no shutdown输入:exit输入:int vlan 20输入:ip helper-address 192.168.100.100输入:no shutdown输入:exit输入:int vlan 100输入:ip helper-address 192.168.100.100输入:no shutdown输入:exit

21.进入win10系统,先释放掉之前获取的IP地址,再重新获取IP地址。结果成功获取到DHCP服务器分配的IP地址192.168.10.50。

输入:ipconfig /release输入:ipconfig /renew

22.用"ipconfig /all"命令,查看一下DHCP服务器的地址。就是192.168.100.100。

23.进入server系统,先释放掉之前获取的IP地址,再重新获取IP地址。结果成功获取到DHCP服务器分配的IP地址192.168.20.51。

输入:ipconfig /release输入:ipconfig /renew

23.用"ipconfig /all"命令,查看一下DHCP服务器的地址。就是192.168.100.100。

24.给win10系统,指定一个固定的IP地址。先用"ipconfig /all"命令,查看一下win10的MAC地址。

25.再次进入Linux系统的DHCP服务配置文件,在里面设置win10的固定IP地址为192.168.10.10

输入:vim /etc/dhcp/dhcpd.conf添加:host fantasia {  hardware ethernet 00:0C:29:1E:27:9B;  fixed-address 192.168.10.10;}

26.重启DHCP服务。

输入:systemctl restart dhcpd

27.再次进入win10系统,先释放掉之前获取的IP地址,再重新获取IP地址。结果成功获取到DHCP服务器分配的固定IP地址192.168.10.10。

输入:ipconfig /release输入:ipconfig /renew

0