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. 函数功能MATLAB
  2. 浅入浅出TensorFlow 8 - 行人分割
  3. cacti命令行添加监控详解
  4. Winfrom中设置ZedGraph显示多个标题(一个标题换行显示)效果
  5. C# WinForm开发系列 - WebBrowser
  6. 【IPFS + 区块链 系列】 入门篇 - IPFS + Ethereum (下篇)-ipfs + Ethereum 大图片存储
  7. C++虚析构和纯虚析构
  8. leetcode 373. Find K Pairs with Smallest Sums | 373. 查找和最小的K对数字(小根堆)
  9. LeetCode 399. 除法求值(图的DFS搜索)
  10. 联想小新电脑摄像头黑屏、检测不到设备、指示灯不亮解决方案
  11. 经典算法题1:找出数组中只出现一次的数字,其它数字都出现了两次
  12. iPhone 13,战略性“不香”!
  13. Laravel重写或者覆盖vender下面的方法
  14. FEDORA9安装后的配置lvlv全记录必看一览表 解决FC9安装后网络需激活
  15. (廿五)Python爬虫:抓取今日头条图片
  16. 消逝的Coin:Stratum协议劫持技术
  17. 七夕情人节送女朋友什么礼物?七夕情人节礼物推荐
  18. 冰山一角 管窥中国互联网的地下世界
  19. solidworks模型如何进行1/4剖面
  20. RN Weex 的比较

热门文章

  1. 梦幻西游这么火, Python也不甘示弱, Python写游戏辅助软件!
  2. LinkedList源码解析
  3. My97DatePicker组件使用方法
  4. android x86 联网,没有网络连接 – VMWare Fusion上的Android-x86
  5. 评论列表css样式,评论框CSS样式修改
  6. cecore.cls.php 08cms,动态分析小示例| 08CMS SQL 注入分析
  7. wps 将html转为word,用WPS快速将网页内容转换为WORD文档
  8. 利用浏览器另存为将网页内容保存为word
  9. 如何获得Windows聚焦壁纸
  10. 安全模块之FIPS 140-2标准和国密标准对比