首页 > 技术文章 > DHCP 网络分配(附带超详细的实验)——DHCP原理与配置

weq0805 2021-06-29 09:30 原文

一、DHCP服务

1、DHCP (Dynamic HostConfiguration Protocol,动态主机配置协议)

 由Internet] C作任务小组设计开发
专门用于为TCP/IP网络中的计算机自动分配TCP/IP参数的协议

2、 使用DHCP的好处

• 减少管理员的工作量
• 避免输入错误的可能
• 避免IP地址冲突
• 当更改IP地址段时,不需要重新配置每个用户的IP地址
• 提高了IP地址的利用率
• 方便客户端的配置

3、 DHCP的分配方式

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

二.DHCP的租约过程

1、客户机从DHCP服务器获得IP地址的过程称为DHCP的租约过程

2、分为四个步骤

  • 客户端在网络中搜索服务器
  • 服务器向客户端响应服务
  • 客户端向目标服务器发出服务请求
  • 服务器向客户端提供服务

3、具体详情:

3.1.客户机请求IP地址

• 当一个DHCP客户机启动时,客户机还没有IP地址,所以客户机要通过DHCP获取一个合法的地址

• 此时DHCP客户机以广播方式发送DHCP Discover发现信息来寻找DHCP服务器

3.2.服务器响应

• DHCP服务器接收到来自客户机请求IP地址的信息时,在自己的IP地址池中查找是否有合法的IP地址提供给客户机

• 如果有,DHCP服务器将此IP地址做上标记,加入到DHCP Offer的消息中,然后广播- -则DHCP Offer消息

3.3.客户机选择IP地址

• DHCP客户机从接收到的第一个DHCP Offer消息中提取IP地址,发出IP地址的DHCP服务器将该地址保留,这样该地址就不能再分配给另一个DHCP客户机

3.4.服务器确定租约

• DHCP服务器接收到DHCP Request消息后,以DHCP ACK消息的形式向客户机广播成功确认,该消息包含有IP地址的有效租约和其他可配置的信息

• 当客户机收到DHCP ACK消息时,配置IP地址,完成TCP/IP的初始化

3.5.重新登录

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

3.6.更新租约

• 当DHCP服务器向客户机出租的IP地址租期达到50%时,就需要更新租约

• 客户机直接向提供租约的服务器发送DHCP Request包,要求更新现有的地址租约

三.使用DHCP动态配置主机地址

1、 DHCP服务

• 为大量客户机自动分配地址,提供集中管理
• 减轻管理和维护成本、提高网络配置效率

2、可分配的地址信息主要包括

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

四.安装DHCP服务器

1、DHCP服务器软件

• CentOS光盘中的dhcp-4.2.5-47.el7.centos.x86_ 64 .rpm

2、 DHCP软件包的主要文件

主配置文件: /etc/dhcpd.conf
◆执行程序: /usr/sbin/dhcpd、/usr/sbin/dhcrelay

配置DHCP服务器

 

yum install -y dhcp
cd /etc/dhcp/
ls
less dhcpd. conf

cd /usr/ share/doc/dhcp-4.2.5/
ls
less dhcpd.conf.example 

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

 

 

vim /etc/ dhcp/ dhcpd.conf
#设置全局配置参数

default-lease-time 21600;
#默认租约为6小时,单位为秒

max-lease-time 43200;
#最大租约为12小时,单位为秒

option domain-name "benet . com";
#指定默认域名

option domain-name-servers 202.106.0.20,202.106.148.1;
#指定DNS服务器地址

ddns-update-style none;
#禁用DNS动态更新
#subnet网段声明(作用于整个子网段,部分配置参数优先级高于全局配置参数)
subnet 192.168.80.0 netmask 255.255.255.0 {    #声明要分配的网段地址
 range 192.168.80.10 192.168.80.20;            #设置地址池
 option routers 192.168.80.254;               #指定默认网关地址
}

subnet 192.168.1.0 netmask 255.255.255.0 {
 range 192. 168.1.100 192.168.1.200;
 option routers 192.168.1.254;
}

subnet 192.168.2.0 netmask 255.255.255.0 {
 range 192.168.2.20 192.168.2.30;
 option routers 192. 68.2.254;
}

#host主机声明(给单机分配固定的IP地址)
host hostname{                              #指定需要分配固定IP地址的客户机名称
 hardware ethernet 00:c0:c3:22:46:81;        #指定该主机的MAC地址
 fixed-address 192. 168.4.100;               #指定保留给该主机的IP地址
}

#后面内容可都删除

systemctl start dhcpd
systemctl stop firewalld 
setenforce 0

 

Linux客户端使用DHCP 动态获取IP
#方法一:
vi /etc/ sysconfig/network-scripts/i fcfg-ens33
DEVICE=ens33
ONBOOT=yes
BOOTPROTO=dhcp
ifdown ens33 ; ifup ens33

#方法二:
dhclient -d ens33

查看租约文件
less / var/lib/ dhcpd/ dhcpd. lease
     

 

 五、DHCP网络分配实验

实验:要求使用ensp结合VMware完成以下实验

  • PC1、PC2和PC3可以自动获取ip地址,DHCP服务器为Linux主机
  • 给VMware内的win10主机配置DHCP固定分配ip为:192.168.80.188

 

 具体实验步骤如下:

1、设置虚拟机和虚拟机网关为仅主机模式

 

 

 

 2、设置宿主机的网络设置

 3、配置Linux虚拟机的IP地址并连接Xshell

 4、配置ensp中的cloud(配置完成之后cloud才能与交换机连接成功)

 5、配置ensp的交换机(sw2与sw1)

 

6、在虚拟机linux中进行测试(ping测试)

7、DHCP安装以及复制配置文件

8、修改DHCP配置文件(域名、DNS服务器地址以及声明网段、设置地址池,用于分配IP地址的范围、指定默认网关)

9、开启DHCP服务并关闭防火墙

setenforce是Linux的selinux防火墙配置命令, 执行setenforce 0 表示关闭selinux防火墙

10、将ensp的主机都设置为DHCP并查看是否能够自动获取到IP地址

11、在ensp配置DHCP中继服务(虚拟机作为中继服务器,故地址池地址是虚拟机IP地址)

12、再次查看PC2与PC3是否能够获取到IP地址

13.测试win10虚拟机,看是否也能够自动获取IP地址

14、host主机声明(给单机分配固定的IP地址)——指定IP设置(win10虚拟机操作)

在工作中我们可能会遇到需要给领导或者老板指定固定的IP地址(192.168.80.188),那么操作来了

推荐阅读