Linux的DHCP的工作原理

1DHCP的工作原理

文章目录

  • Linux的DHCP的工作原理
    • 1DHCP的工作原理
      • 1.1DHCP介绍及优势
        • 1.1.1DHCP介绍
        • 1.1.2DHCP优势
      • 1.2为什么要使用DUCP?
    • 2DHCP的模式与分配方式
      • 2.1 DHCP模式
      • 2.2DHCP分配方式
    • 3DHCP工作原理
      • 3.1 DHCP的租约过程
      • 3.2DHCP更新租约
      • 3.3重新登录
    • 4配置DHCP服务
      • 4.1使用DHCP动态配置主机地址
      • 4.2更改网卡配置
      • 4.3配置ensp
      • 4.4验证Windows上面的IP地址是否分配成功
    • 5总结

1.1DHCP介绍及优势

1.1.1DHCP介绍

DHCP (Dynamic Host Configuration Protocol):动态主机配置协议,由internet工作任务小组设计开和发 , 专门用于为TCP/IP网络中的计算机自动分配TCP/IP参数的协议。 是一个应用层协议,使用UDP的67和68端口。

-简单说:就是服务器给客户端分配ip地址。

DHCP的前身是BOOTP协议(BootstrapProtocol),BOOTP被创建出来为了连接到网络中的设备自动分配地址,后来被DHCP取代了,DHCP比BOOTP更加复杂,功能更强大。

1.1.2DHCP优势

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

1.2为什么要使用DUCP?

DHCP服务避免了因手动设置IP地址所产生的错误,同时也避免了把一个IP地址分配给多台工作站所造成的地址冲突,DHCP提供了安全、可靠且简单的TCP/IP网络设置,降低了配置IP地址的负担。

2DHCP的模式与分配方式

2.1 DHCP模式

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

DHCP是C/S模式(Client/Server),DHCP服务端和客户端需要保持通信,DHCP基于UDP协议,双方都有可能会主动向对方发起通信,因此双方都需要监听端口。

  • server 端:DHCP server(运行dhcp服务)
  • UDP服务:监听端口67(bootps)
  • Client端:DHCP Client(运行dhcp服务)
  • UDP服务:监听端口68(bootpc)

2.2DHCP分配方式

三种模式:

自动分配: 客户机第一次成功的从DHCP获取到一个IP地址后,就永久的使用这个地址。

手动分配: 是由DHCP服务器管理员专门制定IP地址

动态分配: 当客户机拿到ip地址,并非永久使用,使用完结束后,客户机会进行释放这个ip。

3DHCP工作原理

3.1 DHCP的租约过程

四个报文步骤

  • discover : Client 端广播发现DHCP服务器
  • offer : DHCP服务器分配Clinet端一个可用的ip,并询问是否使用
  • Request : Client端回应DHCP服务器,确认使用此IP。
  • ACK: 确认租约。

具体介绍

1.客户机向DHCP请求IP地址
当一个DHCP客户机启动时,客户机还没有IP地址,所以客户机要通过DHCP获取一个合法的地址,此时DHCP客户机以广播方式发送DHCP Discover发现信息来寻找DHCP服务器;
2.DHCP服务器接收到来自客户机请求lP地址的信息时,在自己的IP地址池中查找是否有合法的IP地址提供给客户机。如果有,DHCP服务器将此IP地址做上标记,加入到DHCP Offer的消息中,然后以广播方式发送DHCP Offer消息
DHCP offer 消息中,包含DHCP服务器的IP地址、子网掩码和提供给客户端的合法IP地址
3.客户机收到DHCP offer消息后,将从中提取DHCP服务器提供的IP地址等信息。并以广播的方式发送DHCP request信息,回复DHCP服务器,提供的IP地址客户机将使用。
4.DHCP服务器收到客户机的DHCP request信息后,将以广播方式发送DHCP ACK消息,该消息包含有IP地址的有效租约和其他可配置的信息 ;当客户机收到DHCP ACK消息时,配置IP地址,完成TCP/IP的初始化

3.2DHCP更新租约

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

3.3重新登录

DHCP客户机每次重新登录网络时,不需要再发送DHCP Discover信息,而是直接发送包含前一次所分配的IP地址的DHCP Request请求信息。如果次IP地址未被使用,则DHCP服务端发送DHCP ACK确认信息,让客户机继续使用该IP。
若该IP地址被其它客户机使用,DHCP服务端会发送DHCP Nak否认信息。让客户机重新发送DHCP Discover请求,进行新的租约请求。

4配置DHCP服务

4.1使用DHCP动态配置主机地址

■DHCP服务
为大量客户机自动分配地址,提供集中管理
减轻管理和维护成本、提高网络配置效率
■可分配的地址信息主要包括(地址池必要配置)
网卡的P地址、子网掩码
对应的网络地址、广播地址
默认网关地址
DNS服务器地址

DHCP实验

安装DHCP

查看DHCP配置文件

查看配置文件

配置dhcp配置文件

DHCP全局配置

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服务器地址 218.2.135.1
ddns-update-style none; 禁用DNS动态更新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服务器地址 218.2.135.1
ddns-update-style none; 禁用DNS动态更新

在文件中进行配置

DHCP配置

systemctl stop firewalld
systemctl disable firewalld
setenforce 0

关闭防火墙和核心防护

yum install -y dhcp 下载软件包

rpm -qc dhcp 注意 dhcp 配置文件

cp -fp /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf 把配置文件复制到DHCP的配置文件中

vim /etc/dhcp/dhcpd.conf

subnet 192.168.100.0 netmask 255.255.255.0{
range 192.168.100.20 192.168.100.30;
option routers 192.168.100.2;
subnet 192.168.2.0 netmask 255.255.255.0{
range 192.168.2.20 192.168.2.30;
option routers 192.168.2.2;

subnet 192.168.1.0 netmask 255.255.255.0{
range 192.168.1.20 192.168.1.30;
option routers 192.168.1.2;

4.2更改网卡配置

4.3配置ensp

先将三台主机配置成DHCP模式(pc1和pc2和pc3)

二层交换机配置

<Huawei>sys
Enter system view, return user view with Ctrl+Z.
[Huawei]sysname SW1
[SW1]undo info-center en
hange loop count is 0, and the maximum number of records is 4095.able
Info: Information center is disabled.
[SW1]vlan batch 10 20 100
Info: This operation may take a few seconds. Please wait for a [SW1]int e0/0/2    #配置接口vlan 10
[SW1-Ethernet0/0/2]port link-type access
[SW1-Ethernet0/0/2]port default vlan 10
[SW1-Ethernet0/0/2]undo shutdown
Info: Interface Ethernet0/0/2 is not shutdown.[SW1-Ethernet0/0/2]int e0/0/3    #配置接口vlan20
[SW1-Ethernet0/0/3]port link-type access
[SW1-Ethernet0/0/3]port default vlan 20
[SW1-Ethernet0/0/3]undo shutdown
Info: Interface Ethernet0/0/3 is not shutdown.[SW1-Ethernet0/0/3]int e0/0/5    #配置接口vlan 100
[SW1-Ethernet0/0/5]port link-type access
[SW1-Ethernet0/0/5]port default vlan 100
[SW1-Ethernet0/0/5]undo shutdown
Info: Interface Ethernet0/0/5 is not shutdown.[SW1-Ethernet0/0/5]int e0/0/4   #配置接口vlan 100
[SW1-Ethernet0/0/4]port link-type access
[SW1-Ethernet0/0/4]port default vlan 100
[SW1-Ethernet0/0/4]undo shutdown
Info: Interface Ethernet0/0/4 is not shutdown.[SW1-Ethernet0/0/4]int e0/0/1    #配置接口vlan all
[SW1-Ethernet0/0/1]port link-type trunk
[SW1-Ethernet0/0/1]port trunk allow-pass vlan all
[SW1-Ethernet0/0/1]undo shutdown
Info: Interface Ethernet0/0/1 is not shutdown.
[SW1-Ethernet0/0/1]di th
#
interface Ethernet0/0/1port link-type trunkport trunk allow-pass vlan 2 to 4094
#

三层交换机配置

<Huawei>sys
Enter system view, return user view with Ctrl+Z.
[Huawei]sysname SW2
[SW2] undo info-center enable
Info: Information center is disabled.[SW2]vlan batch 10 20 100   #创建vlan 10 20 100
Info: This operation may take a few seconds. Please wait for a moment...done.[SW2]int vlanif10   #进入vlanif10 (虚拟接口)配置ip地址
[SW2-Vlanif10]ip add 192.168.1.2 24[SW2-Vlanif10]int vlanif 20    #进入vlanif20(虚拟接口)配置ip地址
[SW2-Vlanif20]ip add 192.168.2.2 24[SW2-Vlanif20]int vlanif 100     #进入vlanif100 (虚拟接口)配置ip地址
[SW2-Vlanif100]ip add 192.168.100.2 24[SW2-Vlanif100]q
[SW2]int g0/0/1    #进入接口配置trunk链路
[SW2-GigabitEthernet0/0/1]port link-type trunk
[SW2-GigabitEthernet0/0/1]port trunk allow-pass vlan all
[SW2-GigabitEthernet0/0/1]undo shutdown
Info: Interface GigabitEthernet0/0/1 is not shutdown.
[SW2-GigabitEthernet0/0/1]q[SW2]dhcp enable     #开启dhcp服务
Info: The operation may take a few seconds. Please wait for a moment.done.[SW2]int vlanif 10    #进入vlanif 10 配置dhcp中继
[SW2-Vlanif10]dhcp select relay
[SW2-Vlanif10]dhcp relay server-ip 192.168.100.100[SW2-Vlanif10]int vlanif 20   #进入vlanif 20 配置dhcp中继
[SW2-Vlanif20]dhcp select relay
[SW2-Vlanif20]dhcp relay server-ip 192.168.100.100[SW2-Vlanif20]int vlanif 100    #进入vlanif 20 配置dhcp中继
[SW2-Vlanif100]dhcp select relay
[SW2-Vlanif100]dhcp relay server-ip 192.168.100.100

4.4验证Windows上面的IP地址是否分配成功

将centos 7 主机的ip地址设置成vmnet2下面的子网网段—>最后进入配置文件进程编辑。

vim /etc/dhcp/dhcpd.conf
host hostname{
gardware ethernet 00:0C:29:37:40:80
fixed-address 192.168.100.20;
}
systemctl start dhcpd
进行认证

5总结

100


### 4.4验证Windows上面的IP地址是否分配成功[外链图片转存中...(img-LUthkGph-1658136731758)]将centos 7 主机的ip地址设置成vmnet2下面的子网网段—>最后进入配置文件进程编辑。vim /etc/dhcp/dhcpd.conf
host hostname{gardware ethernet 00:0C:29:37:40:80fixed-address 192.168.100.20;
}
systemctl start dhcpd
进行认证## 5总结DHCP就是将DHCP客户端向DHCP服务申请ip地址,我们可以自行配置一台DHCP服务器,需要设置它的子网网段,子网掩码,可分配的地址池,以及默认的网关地址,如果需要连接往外网,还需要配置DNS,根据需求而定。

Linux的DHCP的工作原理相关推荐

  1. DHCP的工作原理 公网IP与私网IP 网络通信的流程与数据包发送 网卡的工作原理 网卡丢包问题

    网络通信的四个要素 本机的IP地址 子网掩码 网关的IP地址 DNS服务器的IP地址 获取以上配置,有两种方式 : 静态获取==>手动配置 动态获取==>dhcp自动获取 DHCP的作用 ...

  2. 理解并取证:DHCP的工作原理、怎么检测IP地址冲突

    动态主机配置协议(Dynamic Host Configuration Protocol, DHCP)被设计用于动态的为网络中的主机分配IP地址及其它相关的TCP/IP属性,它属于客户/服务模式的应用 ...

  3. linux shell 原理,linux下shell的工作原理

    linux下shell的工作原理 2009-12-8 10:19:53   出处:https://www.yqdown.com shell是用户和Linux操作系统之间的接口.Linux中有多种she ...

  4. 计算机网络-DHCP的工作原理,IP地址如何获取

    我们计算机的IP地址如何来的 DHCP的工作原理 DHCP的一些疑惑解答 我们计算机的IP地址如何来的 看了前面交换机.路由器.网络包传输的文章,那么就知道要连上网络,就需要IP地址,那么IP地址是如 ...

  5. Linux中LVM的工作原理是什么?优缺点有哪些?

    在Linux操作系统中,LVM全称Logical Volume Manager,中文意思为逻辑卷管理.之前文章为大家介绍过什么是LVM.LVM名词解释.LVM写入模式等内容,本篇文章为大家介绍一下LV ...

  6. Linux下调试器工作原理

    Linux下调试器工作原理之一-基础篇 介绍关于Linux下的调试器实现的主要组成部分--ptrace系统调用.本文中出现的代码都在32位的Ubuntu系统上开发.请注意,这里出现的代码是同平台紧密相 ...

  7. DHCP的工作原理、怎么检测IP地址冲突

    原帖地址:http://7658423.blog.51cto.com/7648423/1270601 理解DHCP的雏形BOOTP(Bootstrap Protocol) DHCP的为什么要替代BOO ...

  8. DHCP的工作原理及过程

    本篇博客是对DHCP的一些原理介绍,具体实验过程请查询 基于linux下的DHCP实验 一.什么是DHCP? DHCP,动态主机配置协议,前身是BOOTP协议,是一个局域网的网络协议,使用UDP协议工 ...

  9. linux下shell的工作原理

              shell是用户和Linux操作系统之间的接口.Linux中有多种shell,其中缺省使用的是Bash.本章讲述了shell的工作原理,shell的种类,shell的一般操作及Ba ...

  10. linux 触摸屏程序,触摸屏工作原理以及驱动程序详细分析

    编者:这部分还是比较长的,因此没有放在上个移植里面.这里主要说触摸屏的工作原理,以及对上述驱动程序代码的简单分析.分析中参考了网上的很多资料.感谢原作者的无私奉献,因为涉及多篇,在此就没有注出原作的链 ...

最新文章

  1. 他们拿走腾讯广告百万奖金,我算是知道票圈广告为啥那么多赞了
  2. 无线网络会杀死固网? 不可能的事情
  3. Java中的微信支付(1):API V3版本签名详解
  4. 程序员基本功04JAVA的内存回收
  5. F5设备中存在一个Ticketbleed漏洞,可被远程攻击者利用
  6. PHP实现上升沿,可编程控制器(PLC)编程如何使用ST语言实现上升沿和下降沿触发...
  7. Ubuntu版本进化史 4.10-7.04
  8. 全球首发!计算机视觉Polygon Mesh Processing读书笔记6——微分几何中的Metric Properties
  9. 笨方法教你学python_笨方法学Python(1)
  10. JAVA集合Set之HashSet详解_Java基础———集合之HashSet详解
  11. ctf_backdoor
  12. python验证码生成器_用Python实现随机验证码
  13. Spring Security 实战内容:实现自定义退出登录
  14. C++ ERROR:error: passing 'XXX' as 'this' argument of 'XXX' discards qualifiers
  15. 即构CEO林友尧:让实时音视频技术融于无形
  16. 方法的调用,构造方法,方法的重载
  17. [生存志] 第84节 列子淡泊号冲虚
  18. 100天精通Python(数据分析篇)——第75天:Pandas数据预处理之数据标准化
  19. 内核编译obj-m和obj-y的区别
  20. mysql面试题 学生成绩表_sql面试题(学生表_课程表_成绩表_教师表)

热门文章

  1. linux驱动开发架构
  2. 基于Android的城市环境监测系统
  3. 网络协议学习--SOAP协议(一)
  4. IT知识点及书籍推荐
  5. sql server 2000 打了sp4补丁包仍不能监听1433端口问题的解决
  6. 2021年微信视频号生态趋势调查报告|友望数据发布
  7. Ubuntu 20.04.2 LTS安装 最新版 微信(wine)
  8. 基于ZigBee的远程温度监测系统.
  9. <EDEM CFD案例01>EDEM2018 + FLUENT19.2 Coupling Interface Compiling
  10. 【编程|二十四点】关于编程解决二十四点的两种思路