Linux-DHCP安装配置流程

news/2025/2/16 6:52:59/

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; #指定地址池的范围,必须是上面的网段里的ipoption 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.leasescat /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.5server-duid "\000\001\000\001,U*\000\000\014)\020\"=";

在这里插入图片描述

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


http://www.ppmy.cn/news/983747.html

相关文章

使用xtcp映射穿透指定服务

使用xtcp映射穿透指定服务 管理员Ubuntu配置公网服务端frps配置service自启(可选) 配置内网服务端frpc配置service自启(可选) 使用者配置service自启(可选) 通过frp实现内网client访问另外一个内网服务器 管理员 1)配置公网服务端frps2)配置内网服务端…

PostgreSQL——sql文件导入

Windows方式: 进入PostgreSQL安装目录的bin,进入cmd 执行命令: psql -d 数据库名 -h localhost -p 5432 -U 用户名 -f 文件目录 SQL Shell: 执行命令: \i 文件目录(Windows下要加引号和双斜线)

ubuntu18.04 安装php7.4-xdebug

文章目录 场景解决 场景 apt install php7.4-xdebug 下载失败, 只好通过编译解决了 解决 https://xdebug.org/wizard 输入php -i的执行结果

【C#】Lock关键字

一、概述 Lock关键字,确保当一个线程位于代码的临界区时,另一个线程不进入临界区。如果其他线程试图进入锁定的代码,则它将一直等待(即被阻止),直到该对象被释放。 Lock关键字属于语法糖,其本…

随手笔记——3D−3D:ICP求解

随手笔记——3D−3D:ICP求解 使用 SVD 求解 ICP使用非线性优化来求解 ICP 原理参见 https://blog.csdn.net/jppdss/article/details/131919483 使用 SVD 求解 ICP 使用两幅 RGB-D 图像,通过特征匹配获取两组 3D 点,最后用 ICP 计算它们的位…

2.03 PageHelper分页工具

步骤1&#xff1a;在application.yml中添加分页配置 # 分页插件配置 pagehelper:helperDialect: mysqlsupportMethodsArguments: true步骤2&#xff1a;在顶级工程pom文件下引入分页插件依赖 <!--5.PageHelper --> <dependency><groupId>com.github.pagehe…

开源数据库 | 记一次在麒麟操作系统上适配openGauss进阶之旅

引入 适配 | 认证-Kylin V10 ARM 麒麟操作系统openGauss数据库 开篇 1、数据库架构 百度百科&#xff1a;openGauss 是一款全面友好开放&#xff0c;携手伙伴共同打造的企业级开源关系型数据库。openGauss采用木兰宽松许可证v2发行&#xff0c;提供面向多核架构的极致性能、全…

C++-----list

本期我们来讲解list&#xff0c;有了string和vector的基础&#xff0c;我们学习起来会快很多 目录 list介绍 ​编辑 list常用接口 insert erase reverse sort merge unique remove splice 模拟实现 基础框架 构造函数 push_back 迭代器 常见问题 const迭代器 …