DHCP原理与配置

一、DHCP工作原理

1、DHCP的定义

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

DHCP( 动态主机配置协议)是一个局域网的网络协议,指的是由服务器控制一段 IP 地址范围,客户机登录服务器时可以自动获取服务器分配的 IP 地址和子网掩码。在默认情况下,DHCP作为Windows Server 的一个服务组件是不会被系统自动安装的,需要管理员手动安装并进行配置。

典型的C/S模式:
在网络中假设一台专用的DHCP服务器,负则集中分配各种网络地址参数(主要包括 IP、子网掩码、广播地址、默认网关、DNS服务器地址),其他主机作为DHCP的客户机,将网卡配置为自动获取地址,即可与DHCP服务器进行通讯,完成自动配置的过程

DHCP是C/S模式,DHCP服务端和客户端需要保持通信,DHCP基于UDP协议,双方都有可能回主动向对方发起通信,因此双方都需要监听端口
Server端:DHCP Server(运行dhcp服务)
UDP服务:监听端口67(bootps)
Client端:DHCP Client(运行dhcp程序)
UDP服务:监听端口68(bootpc)

2 、使用DHCP的好处

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

3、DHCP的分配方式

1、自动分配:分配到一个IP地址以后永久使用

2、手动分配:由DHCP服务器管理员专门指定IP地址

3、动态分配:使用完后释放该IP,供其他客户机使用

4、DHCP工作原理

在这里插入图片描述
客户机从DHCP服务器获得IP地址的过程称为DHCP的租约过程
1、客户机请求IP地址

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

2、服务器响应

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

3、客户机选择IP地址

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

4、服务器确定租约

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

重新登陆

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

更新租约

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

DHCP服务

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

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

  • 网卡的IP地址、子网掩码

  • 对应的网络地址、广播地址

  • 默认网关地址

  • DNS服务器地址

二、DHCP服务器的位置

●软件CentOS光盘中的dhcp-4.2.5-47.el7.centos.x86_64.rpm
●DHCP软件包的主要文件
1、主配置文件: letc/dhcpd.conf
2、执行程序:/usrlsbin/dhcpd、lusr/sbin/dhcrelay

三、安装DHCP服务过程(适用于所有服务)

1、 yum安装dhcp服务
2、配置dhcp配置文件
3、启动服务
4、查看端口
5、验证服务

  • 安装DHCP服务前的准备
rpm -q dhcp #查看是否有服务
未安装软件包 dhcp 
yum -y install dhcp #下载服务
rpm -q dhcp
dhcp-4.2.5-83.el7.centos.1.x86_64

rpm -qc dhcp #查看配置文件有哪些
在这里插入图片描述
cat /etc/dhcp/dhcpd.conf //服务刚安装好,配置文件是没有任何东西的,需要把模板拷贝过来
在这里插入图片描述cp -fp /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf //拷贝模板起名为dhcpd.conf

vim /etc/dhcp/dhcpd.conf //编辑配置文件在这里插入图片描述
7 option domain-name “example.org”; //指定默认搜索域,本地域名
8 option domain-name-servers ns1.example.org, ns2.example.org; //指定 DNS 服务器地址,多台用逗号隔开
10 default-lease-time 600; //默认租约为600秒
11max-lease-time 7200; //最大租约为2小时,在客户端没有特殊的租约时间请求的时候,都会统一的指 派默认租约时间(多数情况)。 如果客户端请求了自定义的租约时间,服务器将会启用最大租约时间作为限制,客户端自己请求的租约时间不能大于该值

ddns-update-style none; /禁用 DNS 动态更新,提高DHCP的效率,减少带宽的使用,默认注释了
ignore client-updates: //与ddns-update-style设定相关,客户端可以通过DHCP服务器来更新DNS相关信息,这里暂时不予考虑,所以设置成igo
注:以上为DHCP全局配置

  • subnet 网段声明
    一台 DHCP 服务器可以为多个网段提供服务,因此 subnet 网段声明必须有而且可以有多个。
    注意别少了每行结尾的分号!
vi /etc/dhcp/dhcpd.conf 
subnet 192.168.10.0 netmask 255.255.255.0 { //声明网段地址 
#default-lease-time 6000;   //默认租约为6000秒,当和全局设置重复时,subnet里的配置生效
range 192.168.10.100 192.168.10.110;     //设置地址池 
#option broadcast-address 192.168.10.255;   //定义广播地址
option routers 192.168.10.105;     //指定默认网关地址
option domain-name-servers 114.114.114.114;  //定义DNS服务器
}

在这里插入图片描述

  • 启动DHCP和服务查看端口

  • 客户端验证:
    ipconfig /release
    ipconfig /renew
    ipconfig /all #查看所有

补:
客户机预留指定的固定ip地址

host 声明用于设置单个主机的网络属性,通常用于为网络打印机或个别服务器分配固定的 IP 地址(保留地址),这些主机的共同特点是要求每次获取的 IP 地址相同,以确保服务的稳定性。

vim /etc/dhcp/dhcpd.conf

host win10{
hardware ethernet 00:0C:29:BE:10:C7; #hardware ethernet:mac地址
fixed-address 192.168.10.105; #保留地址
}
#host 后面可自定义名称

  • 验证并且查看
less /var/lib/dhcpd/dhcpd.leases 
  • 查看到DHCP 请求过程
dhclient -d ens33         ##-d 选项使其在前台运行

在服务器端可以通过查看租约文件/var/lib/dhcpd/dhcpd.leases 来了解服务器的IP 地址分配情况
租约文件中记录了分配出去的每个 IP 地址信息(租约记录), 包括 IP 地址、客户端的 MAC 地址、租用的起始时间和结束时间等。
客户端需要通过 dhclient 命令释放获取的 IP 租约时,可以结合“-r”选项。此时再通过执行ifconfig 命令就看不到分配的 IP 地址了。

 dhclient -r ens33
vim /var/lib/dhclient/dhclient.leases     //linux的dhcp客户端租约文件

例子:
renew 3 2021/05/19 20:42:06; renew:下一次去找dhcpd服务器续约的时间点 = 租约时间的50%

rebind 3 2021/05/19 20:46:36; rebind:renew失败后,重试的时间点 =租约时间的 85% 左右

expire 3 2021/05/19 20:47:51; expire:过期的时间点

四、DHCP客户端的使用

  • 方法一:
    vi /etc/sysconfig/network-scripts/ifcfg-ens33
    DEVICE=ens33
    ONBOOT=yes
    BOOTPROTO=dhcp
    ifdown ens33 ; ifup ens33

  • 方法二:
    dhclient -d ens33
    在这里插入图片描述

四、DHCP中继原理与配置

1、DHCP原理

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

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

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

■两种解决办法
●为每个网段安装一台DHCP服务器,但这种方式存在资源上的浪费,而且不利于集中管理
●在连接不同网段的设备上开启DHCP中继功能,将DHCP这种特殊的广播信息在VLAN之间转发,让其他VLAN的客户机也能从DHCP服务器获得IP地址

2、DHCP中继配置命令

语法格式:ip helper-address DHCPsrv=IPAddress

●DHCPsrv-IPAddress 为DHCP服务器的IP地址

3、DHCP 中继器配置(ensp实现)

利用三层交换机作为不同vlan之间的dhcp中继,ensp里用云朵绑定vmnet网卡实现与linux的dhcp服务器通信(linux服务器使用仅主机模式)
在这里插入图片描述
基本网卡配置
vim /etc/sysconfig/network-scripts/ifcfg-ens33 #修改
在这里插入图片描述

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

在这里插入图片描述

Linux中设置:

vim /etc/dhcp/dhcpd.conf 

option domain-name “kgc.com”;
option domain-name-servers 8.8.8.8;

subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.100 192.168.1.120;
option routers 192.168.1.254;
}

subnet 192.168.2.0 netmask 255.255.255.0 {
range 192.168.2.100 192.168.2.120;
option routers 192.168.2.254;
}

subnet 192.168.100.0 netmask 255.255.255.0 {
range 192.168.100.200 192.168.1.230;
option routers 192.168.100.254;
}
SW1

#
sysname SW1
#
undo info-center enable
#
vlan batch 10 20 100
#
cluster enable
ntdp enable
ndp enable
#
drop illegal-mac alarm
#
dhcp enable
#
diffserv domain default
#
drop-profile default
#
aaa
 authentication-scheme default
 authorization-scheme default
 accounting-scheme default
 domain default
 domain default_admin
 local-user admin password simple admin
 local-user admin service-type http
#
interface Vlanif1
#
interface Vlanif10
 ip address 192.168.1.254 255.255.255.0
 dhcp select relay
 dhcp relay server-ip 192.168.100.100
#
interface Vlanif20
 ip address 192.168.2.254 255.255.255.0
 dhcp select relay
 dhcp relay server-ip 192.168.100.100
#
interface Vlanif100
 ip address 192.168.100.254 255.255.255.0
#
interface MEth0/0/1
#
interface GigabitEthernet0/0/1
 port link-type trunk
 port trunk allow-pass vlan 2 to 4094

SW2

#
sysname SW2
#
undo info-center enable
#
vlan batch 10 20 100
#
cluster enable
ntdp enable
ndp enable
#
drop illegal-mac alarm
#
diffserv domain default
#
drop-profile default
#
aaa
 authentication-scheme default
 authorization-scheme default
 accounting-scheme default
 domain default
 domain default_admin
 local-user admin password simple admin
 local-user admin service-type http
#
interface Vlanif1
#
interface MEth0/0/1
#
interface Ethernet0/0/1
 port link-type trunk
 port trunk allow-pass vlan 2 to 4094
#
interface Ethernet0/0/2
 port link-type access
 port default vlan 10
#
interface Ethernet0/0/3
 port link-type access
 port default vlan 20
#
interface Ethernet0/0/4
 port link-type access
 port default vlan 100
#
interface Ethernet0/0/5
 port link-type access
 port default vlan 100

云配置
在这里插入图片描述
结果
PC1
在这里插入图片描述

PC2
在这里插入图片描述

PC3
在这里插入图片描述

总结

1.DHCP的定义以及好处

2.DHCP的分配方式:自动分配,手动分配,动态分配

3.DHCP的工作原理:

4.DHCP中继原理与配置

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值