Linux-DHCP安装配置流程

news2024/11/14 2:06:20

DHCP

介绍

DHCP(Dynamic Host Configuration Protocol)是一种网络协议,用于在局域网(LAN)中自动分配IP地址和其他网络配置信息给计算机设备。DHCP旨在简化网络管理,允许设备自动获取IP地址,无需手动配置,从而降低了网络配置的复杂性和管理工作量。

在Linux中,可以通过安装DHCP服务器软件来实现DHCP功能,常用的DHCP服务器软件有ISC DHCP Server和dnsmasq。这些DHCP服务器软件允许Linux系统充当DHCP服务器,为局域网中的设备提供IP地址和其他网络配置信息。

以下是DHCP服务器在Linux中的主要功能和工作原理:

  1. IP地址分配
    DHCP服务器负责将IP地址动态分配给局域网中的设备。当设备加入网络时,DHCP客户端软件会发送一个DHCP请求,请求分配一个IP地址。DHCP服务器接收请求后,从预先配置的地址池中选择一个可用的IP地址,并将其分配给设备。

  2. 网关和子网掩码分配
    DHCP服务器不仅分配IP地址,还分配网关和子网掩码等网络配置信息。这些信息允许设备正确地与其他网络设备进行通信,实现互联网访问。

  3. 租约管理
    DHCP服务器分配的IP地址是有限的资源,为了合理利用IP地址,DHCP服务器通过租约管理机制对分配的IP地址进行管理。每个设备被分配一个IP地址时,会与DHCP服务器建立一个租约,指定IP地址的租期。在租约到期前,设备可以继续使用该IP地址。如果租约到期后设备继续存在于网络上,它需要重新请求IP地址,否则该IP地址会被释放供其他设备使用。

  4. 动态更新
    DHCP服务器允许设备在连接网络时动态地获取IP地址和其他配置信息。这样,设备的网络配置可以根据不同的网络环境和场景进行动态更新。

DHCP服务器软件的配置文件允许管理员定义IP地址池、网关、子网掩码、租约时长和其他网络配置选项。通过正确配置DHCP服务器,可以大大简化网络管理,提高网络的可扩展性和灵活性。

linux中配置

  • 安装dhcp相关的软件包
[root@ydh ~]# yum install dhcp -y
[root@ydh ~]# cd /etc/dhcp/
[root@ydh dhcp]# ls
dhclient.d  dhclient-exit-hooks.d  dhcpd6.conf  dhcpd.conf  scripts
  • 修改配置文件

拷贝样例文件到/etc/dhcp目录

[root@ydh dhcp]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf 
cp:是否覆盖"/etc/dhcp/dhcpd.conf"? y

dhcp服务器里的网关或者dns服务器配置错误,就会误导客户机上不了网

[root@ydh dhcp]# cat dhcpd.conf 
# have to hack syslog.conf to complete the redirection).
log-facility local7;#指定日志类型

# No service will be given on this subnet, but declaring it helps the 
# DHCP server to understand the network topology.

# A slightly different configuration for an internal subnet.
subnet 192.168.2.0 netmask 255.255.255.0 { #指定分配ip地址的网段号和子网掩码
  range 192.168.2.210  192.168.2.240; #指定地址池的范围,必须是上面的网段里的ip
  option domain-name-servers 114.114.114.114; #指定dns服务器地址
  option routers 192.168.2.1; #指定网关
  default-lease-time 600; #最短租约时间600秒
  max-lease-time 7200; #最长租约时间7200秒
}

  • 启动
[root@ydh dhcp]# service dhcpd start
Redirecting to /bin/systemctl start dhcpd.service

看进程、看端口

[root@ydh dhcp]# ps aux|grep dhcp
dhcpd      2044  0.0  0.8 105992  8104 ?        Ss   21:13   0:00 /usr/sbin/dhcpd -f -cf /etc/dhcp/dhcpd.conf -user dhcpd -group dhcpd --no-pid
root       2048  0.0  0.0 112824   988 pts/0    S+   21:15   0:00 grep --color=auto dhcp

[root@ydh dhcp]# netstat -anplut

  • 测试使用

再开一台linux服务器做客户机,网卡类型选择nat/hostonly模式,前面的linux dhcp服务器网卡也改为nat/hostonly模式
nfs 这台linux测试机也改为nat/hostonly

要把VMware 在hostonly 网卡类型上的dhcp功能关闭,因为一个局域网里最好只有一个dhcp服务器,不然会抢生意的

在这里插入图片描述

nfs测试机重新获得ip

service network restart  
ifdown ens33;ifup ens33

nfs测试查看ip地址是谁分配的

dhclient -lf  /var/lib/dhclient/dhclient.leases   #保存租约信息到文件dhclient.leases

cat /var/lib/dhcpd/dhcpd.leases

dhcp服务器直接cat /var/lib/dhcpd/dhcpd.leases查看

这是一开始的

[root@ydh dhcp]# cat /var/lib/dhcpd/dhcpd.leases
# The format of this file is documented in the dhcpd.leases(5) manual page.
# This lease file was written by isc-dhcp-4.2.5

server-duid "\000\001\000\001,U*\000\000\014)\020\"=";

在这里插入图片描述

可以看到dhcp已经成功分配了一个ip地址了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/798920.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

哈工大计算机网络课程局域网详解之:无线局域网

哈工大计算机网络课程局域网详解之:无线局域网 文章目录 哈工大计算机网络课程局域网详解之:无线局域网IEEE 802.11无线局域网802.11体系结构802.11:信道与AP关联 本节介绍一下平时经常使用的一个无线局域网技术,也就是通常我们使…

《机器学习公式推导与代码实现》chapter22-EM算法

《机器学习公式推导与代码实现》学习笔记,记录一下自己的学习过程,详细的内容请大家购买作者的书籍查阅。 EM算法 作为一种迭代算法,EM算法(expectation maximization,期望极大值算法)用于包含隐变量的概率模型参数的极大似然估…

devops(后端)

1.前言 该devpos架构为gitlabjenkinsharbork8s,项目是java项目,流程为从gitlab拉取项目代码到jenkins,jenkins通过maven将项目代码打成jar包,通过dockerfile构建jdk环境的镜像并把jar包放到镜像中启动,构建好的镜像通…

springboot运行报错Failed to load ApplicationContext for xxx

Failed to load ApplicationContext for报错解决方法 报错Failed to load ApplicationContext for 报错Failed to load ApplicationContext for 网上找了一堆方法都尝试了还是没用 包括添加mapperScan,添加配置类 配置pom文件 [外链图片转存失败,源站可能有防盗链机…

com.android.ide.common.signing.KeytoolException:

签名没问题但是提示Execution failed for task :app:packageDebug. > A failure occurred while executing com.android.build.gradle.tasks.PackageAndroidArtifact$IncrementalSplitterRunnable > com.android.ide.common.signing.KeytoolException: Failed to read ke…

21.2:象棋走马问题

请同学们自行搜索或者想象一个象棋的棋盘, 然后把整个棋盘放入第一象限,棋盘的最左下角是(0,0)位置 那么整个棋盘就是横坐标上9条线、纵坐标上10条线的区域 给你三个 参数 x,y,k 返回“马”从(0,0)位置出发,必须走k步 …

数据结构—串

4.1串 4.1.1串的定义 串(String)——零个或多个任意字符组成的有限序列 S"a1 a2...an"串的定义——几个术语 子串:串中任意个连续字符组成的子序列称为该串的子串 例如,“abcde”的子串有: “ ”、“a”、…

【C++】【自用】选择题 刷题总结

文章目录 【类和对象】1. 构造、拷贝构造的调用2. 静态成员变量3. 初始化列表4. 成员函数:运算符重载5. 友元函数、友元类55. 特殊类设计 【细节题】1. 构造 析构 new \ deletet、new[] \ delete[] 【类和对象】 1. 构造、拷贝构造的调用 #include using namespace…

大数据面试题:超详细版MapReduce工作原理

面试题来源: 《大数据面试题 V4.0》 大数据面试题V3.0,523道题,679页,46w字 参考答案: MapReduce详细流程: 1、准备待处理文件(200M) 2、submit()对原始文件进行切片分析&#…

热点活动-秒杀功能设计

一、需求描述 秒杀活动是电子商务兴起后出现的一种新型的购物方式,通过网上APP、小程序等平台推出一些低于市场价格的商品,提升购买率的营销活动,所有买家在同一时间网上抢购的一种销售方式。对比其他的营销活动,秒杀限时性更强&…

地平线J5芯片部署参考算法(2023.07.27)

本文主要是记录地平线官方提供的可在J5芯片上部署的参考算法。 参考算法数据集FPSPointPillarsKITTI116 (双核)CenterPointNuscenes98.72(双核)FCOS3DNuscenes589 (双核)GANetCULane2431(双核)Swin TransformerImageNet133&#…

网络加速技巧

某APP限制网速,可以这么做: (1)把网络禁用 (2)在APP的设置里面,把优化速率打开 (3)启用网络 2023年7月27日亲测有用,开启优化速率之前是100k/s,开…

机器学习---混淆矩阵代码

1. 导包: import pandas as pd from sklearn.preprocessing import LabelEncoder from sklearn.model_selection import train_test_split from sklearn.preprocessing import StandardScaler from sklearn.pipeline import Pipeline from sklearn.svm import SVC …

共用体类型

共用体&#xff08;union&#xff09;是一种成员共享存储空间的结构体类型。 union 共用体类型名 {成员列表 } 共用体内存长度是所有成员内存长度的最大值。 #include <iostream> using namespace std;int main() {//先声明共用体类型再定义共用体对象 union A {int m,…

11-2_Qt 5.9 C++开发指南_QSqlQueryModel的使用(QSqlQueryModel 只能作为只读数据源使用,不可以编辑数据)

文章目录 1 QSqlQueryModel 功能概述2 使用 QSqlQueryModel 实现数据查询2.1 实例功能2.2 可视化UI设计2.3 主窗口类定义&#xff08;去除自动生成的槽函数&#xff09;2.4 打开数据库2.5 记录移动 1 QSqlQueryModel 功能概述 从下图中可以看到&#xff0c;QSqlQueryModel 是 …

代码随想录算法训练营day13 | 239. 滑动窗口最大值,347. 前 K 个高频元素

239. 滑动窗口最大值 目录 239. 滑动窗口最大值 347. 前 K 个高频元素 239. 滑动窗口最大值 难度&#xff1a;hard 类型&#xff1a;队列&#xff0c;单调队列&#xff0c;滑动窗口 思路&#xff1a; 构造单调队列&#xff0c;维护大小为k的队列。队列里的元素始终是单调递…

无法加载文件 C:\Program Files\nodejs\npm.ps1,因为在此系统上禁止运行脚本。npm.ps1 cannot be loaded

目录 原因 解决方法 提示 查看当前的执行策略命令 改回默认值 "Restricted"命令 这个错误提示是因为您的系统禁止执行 PowerShell 脚本。 原因 现用执行策略是 Restricted&#xff08;默认设置&#xff09; 解决方法 以管理员身份运行 PowerShell&#xff1a;右键…

AICodeConvert网站,可以用AI把代码从一种语言转换为另一种语言实现,代码开源了,从 6.24 到现在一个月, 没有主动推广,居然9.8K 访问量

这是我一个之前周六 6.24 开始验证思路的项目&#xff0c;验证的感觉差不多&#xff0c;不做主动推广到现在一个月&#xff0c;访问量 9.8K 。 源码开源了&#xff0c;github.com 网址&#xff1a;AICodeConvert 另一个在佛系验证中的还有这个&#xff1a;Base64.kr&#xf…

gedit更改字体大小颜色、行号、更改各种属性

最近在linux&#xff08;CentOS&#xff09;中运行gedit时发现&#xff1a; 如果用普通用户运行&#xff0c;不会报错&#xff0c;但是不会出现Preferences &#xff08;首选项&#xff09;等选项&#xff0c;不能进行基本属性参数的更改&#xff1b;如果采用su、sudo 运行则会…

机器学习之十大经典算法

机器学习算法是计算机科学和人工智能领域的关键组成部分&#xff0c;它们用于从数据中学习模式并作出预测或做出决策。本文将为大家介绍十大经典机器学习算法&#xff0c;其中包括了线性回归、逻辑回归、支持向量机、朴素贝叶斯、决策树等算法&#xff0c;每种算法都在特定的领…