Linux的DHCP的工作原理
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的工作原理相关推荐
- DHCP的工作原理 公网IP与私网IP 网络通信的流程与数据包发送 网卡的工作原理 网卡丢包问题
网络通信的四个要素 本机的IP地址 子网掩码 网关的IP地址 DNS服务器的IP地址 获取以上配置,有两种方式 : 静态获取==>手动配置 动态获取==>dhcp自动获取 DHCP的作用 ...
- 理解并取证:DHCP的工作原理、怎么检测IP地址冲突
动态主机配置协议(Dynamic Host Configuration Protocol, DHCP)被设计用于动态的为网络中的主机分配IP地址及其它相关的TCP/IP属性,它属于客户/服务模式的应用 ...
- linux shell 原理,linux下shell的工作原理
linux下shell的工作原理 2009-12-8 10:19:53 出处:https://www.yqdown.com shell是用户和Linux操作系统之间的接口.Linux中有多种she ...
- 计算机网络-DHCP的工作原理,IP地址如何获取
我们计算机的IP地址如何来的 DHCP的工作原理 DHCP的一些疑惑解答 我们计算机的IP地址如何来的 看了前面交换机.路由器.网络包传输的文章,那么就知道要连上网络,就需要IP地址,那么IP地址是如 ...
- Linux中LVM的工作原理是什么?优缺点有哪些?
在Linux操作系统中,LVM全称Logical Volume Manager,中文意思为逻辑卷管理.之前文章为大家介绍过什么是LVM.LVM名词解释.LVM写入模式等内容,本篇文章为大家介绍一下LV ...
- Linux下调试器工作原理
Linux下调试器工作原理之一-基础篇 介绍关于Linux下的调试器实现的主要组成部分--ptrace系统调用.本文中出现的代码都在32位的Ubuntu系统上开发.请注意,这里出现的代码是同平台紧密相 ...
- DHCP的工作原理、怎么检测IP地址冲突
原帖地址:http://7658423.blog.51cto.com/7648423/1270601 理解DHCP的雏形BOOTP(Bootstrap Protocol) DHCP的为什么要替代BOO ...
- DHCP的工作原理及过程
本篇博客是对DHCP的一些原理介绍,具体实验过程请查询 基于linux下的DHCP实验 一.什么是DHCP? DHCP,动态主机配置协议,前身是BOOTP协议,是一个局域网的网络协议,使用UDP协议工 ...
- linux下shell的工作原理
shell是用户和Linux操作系统之间的接口.Linux中有多种shell,其中缺省使用的是Bash.本章讲述了shell的工作原理,shell的种类,shell的一般操作及Ba ...
- linux 触摸屏程序,触摸屏工作原理以及驱动程序详细分析
编者:这部分还是比较长的,因此没有放在上个移植里面.这里主要说触摸屏的工作原理,以及对上述驱动程序代码的简单分析.分析中参考了网上的很多资料.感谢原作者的无私奉献,因为涉及多篇,在此就没有注出原作的链 ...
最新文章
- 他们拿走腾讯广告百万奖金,我算是知道票圈广告为啥那么多赞了
- 无线网络会杀死固网? 不可能的事情
- Java中的微信支付(1):API V3版本签名详解
- 程序员基本功04JAVA的内存回收
- F5设备中存在一个Ticketbleed漏洞,可被远程攻击者利用
- PHP实现上升沿,可编程控制器(PLC)编程如何使用ST语言实现上升沿和下降沿触发...
- Ubuntu版本进化史 4.10-7.04
- 全球首发!计算机视觉Polygon Mesh Processing读书笔记6——微分几何中的Metric Properties
- 笨方法教你学python_笨方法学Python(1)
- JAVA集合Set之HashSet详解_Java基础———集合之HashSet详解
- ctf_backdoor
- python验证码生成器_用Python实现随机验证码
- Spring Security 实战内容:实现自定义退出登录
- C++ ERROR:error: passing 'XXX' as 'this' argument of 'XXX' discards qualifiers
- 即构CEO林友尧:让实时音视频技术融于无形
- 方法的调用,构造方法,方法的重载
- [生存志] 第84节 列子淡泊号冲虚
- 100天精通Python(数据分析篇)——第75天:Pandas数据预处理之数据标准化
- 内核编译obj-m和obj-y的区别
- mysql面试题 学生成绩表_sql面试题(学生表_课程表_成绩表_教师表)
热门文章
- linux驱动开发架构
- 基于Android的城市环境监测系统
- 网络协议学习--SOAP协议(一)
- IT知识点及书籍推荐
- sql server 2000 打了sp4补丁包仍不能监听1433端口问题的解决
- 2021年微信视频号生态趋势调查报告|友望数据发布
- Ubuntu 20.04.2 LTS安装 最新版 微信(wine)
- 基于ZigBee的远程温度监测系统.
- <EDEM CFD案例01>EDEM2018 + FLUENT19.2 Coupling Interface Compiling
- 【编程|二十四点】关于编程解决二十四点的两种思路