Linux网络服务之DHCP(上)

本文涉及的产品
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: 1 了解DHCP服务1.1 DHCP是什么DHCP(Dynamic Host Configuration Protocol,动态主机配置协议),由Internet工作任务小组设计开发,专门用于为TCP/IP网络中计算机自动分配TCP/IP参数的协议。DHCP是一个局域网的网络协议。指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码。 默认情况下,DHCP作为Windows Server的一个服务组件不会被系统自动安装,还需要管理员手动安装并进行必要的配置。DHCP采用C/S架构,C-client(客户机),S-server(服务器),客户

1 了解DHCP服务


1.1 DHCP是什么

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

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

DHCP采用C/S架构,C-client(客户机),S-server(服务器),客户机/服务器架构

DHCP服务采用传输层UDP协议,客户机使用UDP协议的68端口,服务器使用UDP的67端口。


1.2 DHCP好处

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


1.3 DHCP的分配方式

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

注:

一般在公司中,邮件服务器、打印机、扫描仪需要固定IP地址。


2 DHCP的租约过程

网络异常,图片无法展示
|


客户机从DHCP服务器获得IP地址的过程称为DHCP的租约过程,分为4个步骤:

1、客户机请求IP地址(DHCP Discover)

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

网络异常,图片无法展示
|


2、服务器响应(DHCP Offer)

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

网络异常,图片无法展示
|


3、客户机选择IP地址(DHCP Request)

  • DHCP客户机从接收到的第一个DHCP Offer消息中提取IP地址, 之后广播发送DHCP Request消息,通告给局域网中所有的DHCP服务器,它选择了哪个DHCP服务器的哪个IP以及租约期限。
  • 让未被选中的DHCP服务器,把未使用的地址收回。同时发出IP地址的DHCP服务器将该地址保留,该地址就不能再分配给另一个DHCP客户机。

网络异常,图片无法展示
|


4、服务器确定租约(DHCP Ack)

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

网络异常,图片无法展示
|


备注:

重新登录:

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

网络异常,图片无法展示
|


更新租约:

  • 当DHCP服务器向客户机出租的IP地址租期达到50%时,就需要更新租约;
  • 客户机直接向提供租约的服务器发送DHCP Request包,要求更新现有的地址租约。
  • 当租约到期前,DHCP服务器还没有收到客户机的请求,就会释放该IP地址。


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


3.1DHCP服务优点

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

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

  • 网卡的IP地址、子网掩码
  • 对应的网络地址、广播地址
  • 默认网关地址
  • DNS服务器地址

3.3 DHCP共有八种报文

报文 说明
DHCP Discover 这是客户机首次登录网络时进行 DHCP 过程的第一个报文,用来寻找 DHCP 服务器。
DHCP Offer DHCP服务器用来响应DHCP DISCOVER报文,此报文携带了各种配置信息。
DHCP Request 客户端初始化后,发送广播的 DHCP REQUEST 报文来回应服务器的 DHCP OFFER 报文。 客户端重启初始化后,发送广播的 DHCP REQUEST 报文来确认先前被分配的 IP 地址等配置信息。 当客户端已经和某个 IP 地址绑定后,发送 DHCP REQUEST 报文来延长 IP 地址的租期。
DHCP ACK 服务器对客户端的 DHCP REQUEST 报文的确认响应报文,客户端收到此报文后,才真正获得了 IP 地址和相关的配置信息。
DHCP NAK 服务器对客户端的DHCP REQUEST报文的拒绝响应报文,通知客户端无法分配合适的 IP 地址。
DHCP Decline 客户端发送给服务器,指示地址已被使用,并且会重新向服务器申请地址。
DHCP Release 客户端发送给服务器,主动释放服务器分配给它的IP地址,取消剩余租约时间。
DHCP Inform 客户端发送给服务器,客户端已经获得了 IP 地址,发送此报文的目的是为了从服务器获得其他的一些网络配置信息,比如网关地址、DNS 服务器地址等。极少用到。


4 DHCP配置文件


DHCP服务的配置文件为/etc/dhcp/dhcpd.conf。

配置文件参数含义:

# 设置全局配置参数
 option domain-name "example.org";     //指定默认域名
 option domain-name-servers 202.106.0.20,202.106.148.1;      //指定DNS服务器地址
 default-lease-time 600;              //默认租约600秒(10分钟)
 max-lease-time 7200;                 //最大租约为7200秒(2小时)
 ddns-update-style none;              //禁用DNS动态更新
 # subnet网段声明(作用于整个子网段,部分配置参数优先级高于全局配置参数)
 subnet 192.168.100.0 netmask 255.255.255.0 {         //声明要分配的网段地址
 range 192.168.100.128 192.168.100.200;               //设置地址池
 option routers 192.168.100.10;                       //指定默认网关地址
 # host主机声明(给单机分配固定的IP地址)    
 host hgstname{                                //指定需要分配固定IP地址的客户机名称
 hardware ethernet 00:c0:c3:22:46:81;          //指定该主机的MAC地址
 fixed-address 192.168.4.100;                  //指定保留给该主机的IP地址
复制代码


5 实验:设置DHCP服务器并分配地址


实验要求:

将Linux虚拟机设置成DHCP服务器,自动分配IP地址给Windows10 虚拟机。

实验思路:

  1. Linux虚拟机关闭防火墙和selinux。
  2. 安装 dhcp 软件包,并查看配置文件。
  3. 将Linux虚拟机的网络模式改成仅主机模式。修改网卡配置文件,之后重启网络服务。
  4. 编辑dhcp服务的配置文件/etc/dhcp/dhcpd.conf,设置网段、地址池、网关地址。之后重启dhcp服务。
  5. 验证Windows10虚拟机虚拟机能否获取DHCP服务器分配的IP地址。

实验步骤:

步骤1、Linux虚拟机关闭防火墙和selinux。

[root@localhost ~]# systemctl stop firewalld.service 
 [root@localhost ~]# setenforce 0
复制代码


步骤2、安装 dhcp 软件包,并查看配置文件。

[root@localhost ~]# yum install dhcp -y      //安装dhcp
 [root@localhost ~]# rpm -qc dhcp
 /etc/dhcp/dhcpd.conf                      //dhcp的配置文件
 /etc/dhcp/dhcpd6.conf
 /etc/openldap/schema/dhcp.schema
 /etc/sysconfig/dhcpd
 /var/lib/dhcpd/dhcpd.leases
 /var/lib/dhcpd/dhcpd6.leases
 [root@localhost ~]# cat /etc/dhcp/dhcpd.conf      //查看配置文件,为空文件
 #
 # DHCP Server Configuration file.
 #   see /usr/share/doc/dhcp*/dhcpd.conf.example    //系统提示可以参考该文件的设置
 #   see dhcpd.conf(5) man page
 #
复制代码


网络异常,图片无法展示
|


步骤3、将Linux虚拟机的网络模式改成仅主机模式。

网络异常,图片无法展示
|


网络异常,图片无法展示
|


目录
打赏
0
0
0
0
12
分享
相关文章
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
147 2
Linux(openwrt)下iptables+tc工具实现网络流量限速控制(QoS)
通过以上步骤,您可以在Linux(OpenWrt)系统中使用iptables和tc工具实现网络流量限速控制(QoS)。这种方法灵活且功能强大,可以帮助管理员有效管理网络带宽,确保关键业务的网络性能。希望本文能够为您提供有价值的参考。
83 28
【Azure APIM】APIM服务配置网络之后出现3443端口不通,Management Endpoint不健康状态
如果没有关联的网络安全组,则阻止所有网络流量通过子网和网络接口。
57 30
|
26天前
|
Linux 中停止 Docker 服务报 warning 导致无法彻底停止问题如何解决?
在 Linux 系统中,停止 Docker 服务时遇到警告无法彻底停止的问题,可以通过系统管理工具停止服务、强制终止相关进程、检查系统资源和依赖关系、以及重置 Docker 环境来解决。通过以上步骤,能够有效地排查和解决 Docker 服务停止不彻底的问题,确保系统的稳定运行。
114 19
深入解析:Linux网络配置工具ifconfig与ip命令的全面对比
虽然 `ifconfig`作为一个经典的网络配置工具,简单易用,但其功能已经不能满足现代网络配置的需求。相比之下,`ip`命令不仅功能全面,而且提供了一致且简洁的语法,适用于各种网络配置场景。因此,在实际使用中,推荐逐步过渡到 `ip`命令,以更好地适应现代网络管理需求。
35 11
|
25天前
|
Linux systemd 服务启动失败Main process exited, code=exited, status=203/EXEC
通过以上步骤,可以有效解决 systemd 服务启动失败并报错 `Main process exited, code=exited, status=203/EXEC` 的问题。关键在于仔细检查单元文件配置、验证可执行文件的有效性,并通过日志分析具体错误原因。确保可执行文件路径正确、文件具有执行权限,并且可以独立运行,将有助于快速定位和解决问题。
299 7
Ubuntu20.04搭建嵌入式linux网络加载内核、设备树和根文件系统
使用上述U-Boot命令配置并启动嵌入式设备。如果配置正确,设备将通过TFTP加载内核和设备树,并通过NFS挂载根文件系统。
101 15
|
2月前
|
Linux网络文件系统NFS:配置与管理指南
NFS 是 Linux 系统中常用的网络文件系统协议,通过配置和管理 NFS,可以实现跨网络的文件共享。本文详细介绍了 NFS 的安装、配置、管理和常见问题的解决方法,希望对您的工作有所帮助。通过正确配置和优化 NFS,可以显著提高文件共享的效率和安全性。
253 7
linux系统服务二!
本文详细介绍了Linux系统的启动流程,包括CentOS 7的具体启动步骤,从BIOS自检到加载内核、启动systemd程序等。同时,文章还对比了CentOS 6和CentOS 7的启动流程,分析了启动过程中的耗时情况。接着,文章讲解了Linux的运行级别及其管理命令,systemd的基本概念、优势及常用命令,并提供了自定义systemd启动文件的示例。最后,文章介绍了单用户模式和救援模式的使用方法,包括如何找回忘记的密码和修复启动故障。
59 5
linux系统服务二!
网络安全服务
机密主要利用密码学技术加密文件实现,完整主要利用验证码/Hash技术,可用**主要灾备来保障。 网络环境下的身份鉴别,当然还是依托于密码学,一种可以使用口令技术,另一种则是依托物理形式的鉴别,如身份卡等。其实更为安全的是实施多因子的身份认证,不只使用一种方式。数字签名可以用来保证信息的完整性,比如RSA就可以用于数字签名: 若A向B发送信息m则先用自己的保密密钥(私钥)对m加密,然后用B的公钥第二次加密,发送个B后,B先用自己的私钥解密一次,再用A的公钥解密即可。 Kerberos使用对称密码算法来实现通过可信第三方密钥分发中心的认证服务,已经成为工业界的事实标准。
68 3
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等