一、DHCP概述

DHCP:动态主机配置协议,能动态给予客户机分配IP地址和子网掩码,使用udp的67和68号端口,client使用的是68port,server使用67port

DHCP作用

  • 动态分配IP地址,减少管理员的工作量以及输入IP地址错误的可能
  • 为大量客户机自动分配地址,提供了集中管理,避免了IP地址冲突
  • 提高了IP地址利用率

DHCP分配的主要信息

  • 网卡的IP地址,子网掩码
  • 对应的网络地址、广播地址
  • 默认网关地址
  • DNS服务器地址

DHCP分配方式

  • 自动分配:分配一个IP地址后永久使用
  • 手动分配:由DHCP服务器管理员自动IP地址
  • 动态分配:给予分配的IP地址一个租期,时间一到释放IP地址供其它客户使用

DHCP租约过程

在这里插入图片描述
租约时间默认8天

DHCP租约的更新

  • 当IP地址租期达到50%时,客户机会发送Request请求更新现在的IP地址租约
  • 如果发送的请求为收到回复,客户机继续使用IP地址到租期的87.5%时,再次发送Request请求跟新租约
  • 如果服务器收到请求并回复,客户机也会先在原IP地址租期用完的情况下再使用新IP地址,如果到最后还是为收到服务器的回复,就会释放该IP地址,重新发送Discover报文

二、模拟设置DHCP

实验设备:一个linux添加开启dhcp服务作为DHCP服务器,再另加win10系统和linux系统,让win10和linux系统能动态获取ip

[root@handsomeboy1 ~]# yum -y install dhcp           //下载dhcp
[root@handsomeboy1 ~]# vim /etc/dhcp/dhcpd.conf      //查看这个配置文件

在这里插入图片描述
1、将/etc/dhcp/chcpd.conf中看到的的这个文件复制一份到/etc/dhcp/chcpd.conf中

[root@handsomeboy1 ~]# cp -p /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf
cp:是否覆盖"/etc/dhcp/dhcpd.conf"? y
[root@handsomeboy1 ~]# vim /etc/dhcp/dhcpd.conf       //文件复制后再编辑这个文件

在这里插入图片描述
在这里插入图片描述
然后保存退出
在这里插入图片描述

[root@localhost ~]# netstat -anup | grep dhcpd        //查看dhcp是否开启
udp        0      0 0.0.0.0:67              0.0.0.0:*                           77457/dhcpd 

2、将设置dhcp服务器的ens33网卡根据VMnet1的ip设置固定的ip,因为作为DHCP服务器不能再开启dhcp动态获取地址
在这里插入图片描述
这里注意,因为上面VMnet1的DHCP没有勾选,所有我们需要给本机的VMnet1创建一个IP地址,不然本机无法获得VNnet1IP地址
在这里插入图片描述
设置dhcp服务器的网卡配置

在这里插入图片描述

3、然后再将其网络适配器改为仅主机VMnet1(由自己选择)设置另外两个windows10和cengtOS7,网络适配器也为VMnet1仅主机模式
在这里插入图片描述
4、将另一个linux系统的网卡配置设置dhcp动态获取IP
在这里插入图片描述

5、查看另外两个win10系统和linux系统是否获取IP
在这里插入图片描述
在这里插入图片描述
小拓展:在上面基础上以win10物理MAC地址给予固定ip
在这里插入图片描述

[root@localhost ~]# vim /etc/dhcp/dhcpd.conf

在这里插入图片描述
在这里插入图片描述

三、ensp连接虚拟机,实现DHCP动态分配IP地址

实验设备准备:linux中采用上面已设置好的dhcp服务器,ensp设备如下
在这里插入图片描述

各设备的配置:
1、PC1和PC2全部开启dhcp动态分配ip地址
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

[root@localhost ~]# vim /etc/dhcp/dhcpd.conf
[root@localhost ~]#cat /var/lib/dhcpd/dhcpd.leases   //查看DHCP租约
[root@localhost ~]#dhclient -d ens33    //查看dhcp的状态

在这里插入图片描述

[root@localhost ~]# systemctl restart dhcpd     //修改完服务配置需要重启
[root@localhost ~]#systemctl restart network    //修改完网卡配置需要重启网络

sw:

[sw]dis cu                       //查看配置
vlan batch 10 20 30
interface Ethernet0/0/1
 port link-type access
 port default vlan 10
#
interface Ethernet0/0/2
 port link-type access
 port default vlan 20
#
interface Ethernet0/0/3
 port link-type trunk
 port trunk allow-pass vlan 2 to 4094
#
interface Ethernet0/0/4
 port link-type access
 port default vlan 30
#

LSW:

[lsw]dis cu
sysname lsw
undo info-center enable
vlan batch 10 20 30
dhcp enable
interface Vlanif10
 ip address 192.168.10.1 255.255.255.0
 dhcp select relay                     
 dhcp relay server-ip 192.168.40.66                        //指定dhcp服务器
#
interface Vlanif20
 ip address 192.168.20.1 255.255.255.0
 dhcp select relay
 dhcp relay server-ip 192.168.40.66
#
interface Vlanif30
 ip address 192.168.40.1 255.255.255.0
 dhcp select relay
interface MEth0/0/1
#
interface GigabitEthernet0/0/1
 port link-type trunk
 port trunk allow-pass vlan 2 to 4094

在PC机上释放IP地址再重新获取

ipconfig /release  释放IP地址
ipconfig /renew :重新获取IP地址

在这里插入图片描述

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐