DHCP原理与配置

本文详细介绍了DHCP服务的作用、好处和分配方式,并解析了DHCP的租约过程。通过实验展示了如何在CentOS上安装DHCP服务器,配置`dhcpd.conf`文件,包括全局设置和子网声明。同时,解释了DHCP中继的原理及解决跨VLAN分配IP的方法。最后,提供了Linux客户端使用DHCP动态获取IP的两种方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

DHCP服务

DHCP(动态主机配置协议)
又Internet工作任务小组设计开发
专门用于为TCP/IP网络中的计算机自动分配TCP/IP参数的协议

DHCP的好处

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

DHCP的分配方式

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

DHCP的租约过程

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

1.客户机请求IP地址

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

2.服务器相应

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

如果有,DHCP服务器将此IP地址做上标记,加入到DHCP Offer的消息中,然后广播一则DHCP Offer消息
在这里插入图片描述

3.客户机选择IP地址

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

4.服务器确定租约

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动态配置主机地址

可分配的地址信息主要包括
网卡的IP地址、子网掩码
对应的网络地址、广播地址
默认网关地址
DNS服务器地址

安装DHCP服务器

CentOS光盘中的 dhcp-4.2.5-47.el7.centos.x86_64.rpm

dhcpd.conf的内容构成

全局设置,作用于整个 DHCP 服务器

DHCP中继原理

当企业的内部网络规模较大时,通常被划分为多个不同的子网,网络内配置了VLAN,VLAN能隔离广播,而DHCP协议使用广播

DHCP服务器在VLAN 100中,就只有VLAN 100内的客户机能从在此获取IP地址

如果VLAN 2或VLAN 3的客户机也需要通过这台DHCP服务器来获取IP地址,应该怎么办?

在这里插入图片描述

两种解决办法

为每个网段安装一台DHCP服务器,但这种方式存在资源上的浪费,而且不利于集中管理

在连接不同网段的设备上开启DHCP中继功能,将DHCP这种特殊的广播信息在VLAN之间转发,让其他VLAN的客户机也能从DHCP服务器获得IP地址

实验

在这里插入图片描述

先测试能不能连通

Linux虚拟机上的网络设置

在这里插入图片描述

在这里插入图片描述

本机上的网络设置在这里插入图片描述

虚拟机的网卡设置,重启网卡

在这里插入图片描述

配置ensp中Cloud

在这里插入图片描述

配置ensp中的sw

在ensp中配置DHCP 中继
dhcp enable									#开启DHCP功能
#
interface Vlanif10
 ip address 192.168.1.254 255.255.255.0
 dhcp select relay							#开启DHCP中继功能
 dhcp relay server-ip 192.168.80.10			#指向DHCP服务器的地址
#
interface Vlanif20
 ip address 192.168.2.254 255.255.255.0
 dhcp select relay
 dhcp relay server-ip 192.168.80.10
#
interface Vlanif100
 ip address 192.168.80.254 255.255.255.0
 dhcp select relay
 dhcp relay server-ip 192.168.80.10
 

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

测试Linux能否跟ensp中的通断

在这里插入图片描述

配置

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.168.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

netstat -anpu | grep ":67"

#如果DHCP服务启动失败,可以查看日志文件
tail -f /var/log/messages

补充2

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

ifdown ens33 ; ifup ens33

#方法二:
dhclient -d ens33


查看租约文件 
less /var/lib/dhcpd/dhcpd.lease
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值