Linux DHCP服务

 DHCP

作用

DHCP动态主机配置协议作为服务端负责集中给客户端分配各种网络地址参数(主要包括IP地址、子网掩码、广播地址、默认网关地址、DNS服务器地址)

传输协议端口

服务端 UDP 67端口 

客户端 UDP 68端口

工作原理

1) 客户端广播发送DISCOVER报文寻找服务端

2) 服务端广播发送OFFER报文响应给客户端,报文中还包含地址池中的一个可用IP

3)客户端只会接收第一个发来的OFFER报文并提取出可用IP,再向服务端广播发送REQUEST报文请求使用这个可用IP

4) 服务端广播发送ACK报文响应给客户端,告知IP合法可用并提供租期信息

 

5)重新登录 DHCP客户机重新登录网络,不需要再发送DHCP DISCOVER,而是直接发送包含前一次所分配的IP地址的DHCP REQUEST请求信息

6)更新租约 DHCP服务器向客户机出租的IP地址租期到达50%时,就要更新租约。客户机向租约服务器发送DHCP REQUEST包,要求更新现有的地址租约

 

配置DHCP服务器

安装dhcp

yum install -y dhcp

查看配置文件

cd /etc/dhcp/
ls
less dhcpd.conf

根据配置文件提示查看相关文档

cd /usr/share/doc/dhcp-4.2.5/
ls
less dhcpd.conf.example

复制dhcp示例文件,依照示例修改参数

cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf  #yes
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 服务器地址
ddns-update-style none;                                     #禁用 DNS 动态更新,提高效率

#subnet网段声明(作用于整个子网段,部分配置参数优先级高于全局配置参数)
subnet 192.168.80.0 netmask 255.255.255.0 {         #声明要分配的网段地址
  range 192.168.80.10 192.168.80.20;                #设置地址池 对应网卡1地址
  option routers 192.168.80.254;                    #指定默认网关地址
}

subnet 192.168.1.0 netmask 255.255.255.0 {
  range 192.168.1.100 192.168.1.200;           #若多个网卡多个地址,可以设置多个subnet项
  option routers 192.168.1.254;                #对应网卡2地址
}

subnet 192.168.2.0 netmask 255.255.255.0 {
  range 192.168.2.20 192.168.2.30;             #对应网卡3地址
  option routers 192.168.2.254;
}

#host主机声明(给单机分配固定的 IP 地址)
host hostname {                                #指定需要分配固定 IP地址的客户机名称
  hardware ethernet 00:c0:c3:22:46:81;         #指定该主机的 MAC地址
  fixed-address 192.168.4.100;                 #指定保留给该主机的 IP地址
}

#后面内容可都删除

开启服务 检查

systemctl start dhcpd
netstat -lnup | grep dhcpd
netstat -lnup | grep 67

若不能访问需要关闭selinux和防火墙

systemctl stop firewalld
setenforce 0

如果DHCP服务启动失败,可以查看日志文件

netstat -anpu | grep ":67"

#如果DHCP服务启动失败,可以查看日志文件
tail -f /var/log/messages

使用windows虚拟机查看DHCP服务器是否成功设置 

创建vmnet2,设置仅主机模式 取消本地DHCP服务器,更改两虚拟机网络为vmnet2(同一内网)

若要模拟内网与外网,可以一机使用vmnet2(内网),一机使用vmnet3(外网)(都是仅主机模式)

Linux虚拟网络配置器设置2网卡,vmnet2(内网)、vmnet3(外网)。ifconfig查看两网卡ip地址,dhcp配置文件中对应两网卡地址设置内网与外网两网段的地址、地址池等

 

 

修改物理机vmnet2网址(虚拟机使用的也是vmnet2)保持物理机与虚拟机为同一个网段,使其能够被ssh连接

 

 禁用再启用网络适配器

 ip获取成功

 

 

在ensp中配置DHCP 中继      基本不用 没有意义
dhcp enable                                    #开启DHCP功能
#
interface Vlanif10
 ip address 192.168.1.254 255.255.255.0
 dhcp select relay                            #开启DHCP中继功能
 dhcp relay server-ip 192.168.80.10            #指向DHCP服务器的地址
#
interface Vlanif20
 ip address 192.168.2.254 255.255.255.0
 dhcp select relay
 dhcp relay server-ip 192.168.80.10
#
interface Vlanif100
 ip address 192.168.80.254 255.255.255.0
 dhcp select relay
 dhcp relay server-ip 192.168.80.10
 

Linux客户端使用 DHCP 动态获取IP
#方法一:
vi /etc/sysconfig/network-scripts/ifcfg-ens33
DEVICE=ens33
ONBOOT=yes
BOOTPROTO=dhcp

ifdown ens33 ; ifup ens33

#方法二:
dhclient -d ens33


查看租约文件 
less /var/lib/dhcpd/dhcpd.lease

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

5G物理层信道pdcch说明(留档)

网络七层协议OSI是一个开放性的通信系统互连参考模型。 它是国际标准组织制定的一个指导信息互联、互通和写作的网络规范。 开放:是指只要遵循OSI标准,位于世界的任何地方的任何系统之间都可以进行通讯;开放系统:是指遵循互联网协…

MBD—模型的回调函数

目录 前面 如何设置? 应用 简单的提示 数据的初始化 前面 常用的回调函数有三类:模型的回调函数、模块的回调函数、信号的回调函数。这里分享一下模型的回调函数。 回调函数就是CallBack. 如何设置? 打开一个模型,在空白…

论文阅读【17】Dynamic ensemble learning for multi-label classification

论文十问十答: Q1论文试图解决什么问题? Q2这是否是一个新的问题? Q3这篇文章要验证一个什么科学假设? Q4有哪些相关研究?如何归类?谁是这一课题在领域内值得关注的研究员? Q5论文中提到的解决方…

简述API(电商数据API)网关的概念和功能

API 网关 ( API gateway ) 前言 在 IOT ( 物联网 )中,当我们的一些设备。例如( 监控、传感器等 )需要将收集到的数据和信息进行汇总时,我们就需要一个 API。(如果你需要Taobao/JD/pinduoduo平台…

Replicator简介

Replicator 文章目录 ReplicatorReplicator简介合成数据训练背后的理论Replicator核心组件已知的问题 Replicator简介 Omniverse Replicator 是一个高度可扩展的框架,构建在可扩展的 Omniverse 平台上,可生成物理上准确的 3D 合成数据,以加速…

OpenAI-ChatGPT最新官方接口《语音智能转文本》全网最详细中英文实用指南和教程,助你零基础快速轻松掌握全新技术(六)(附源码)

Speech to text 语音智能转文本 Introduction 导言Quickstart 快速开始Transcriptions 转录python代码cURL代码 Translations 翻译python代码cURL代码 Supported languages 支持的语言Longer inputs 长文件输入Prompting 提示其它资料下载 Speech to text 语音转文本 Learn how…

Mac配置QT

Mac配置QT 前言: 系统版本:Ventura 13.2.1 (22D68) 先安装homebrew,参考: https://blog.csdn.net/ZCC361571217/article/details/127333754 Mac配置: 安装Qt与Qt Creator: 通过Homebrew安装(若没Homeb…

用Spring Doc代替Swagger

1 OpenApi OpenApi 是一个业界的 API 文档标准,是一个规范,这个规范目前有两大实现,分别是: SpringFoxSpringDoc 其中 SpringFox 其实也就是我们之前所说的 Swagger,SpringDoc 则是我们今天要说的内容。 OpenApi 就…

【Python_Scrapy学习笔记(十三)】基于Scrapy框架的图片管道实现图片抓取

基于Scrapy框架的图片管道实现图片抓取 前言 本文中介绍 如何基于 Scrapy 框架的图片管道实现图片抓取,并以抓取 360 图片为例进行展示。 正文 1、Scrapy框架抓取图片原理 利用 Scrapy 框架提供的图片管道类 ImagesPipeline 抓取页面图片,在使用时需…

快速部署个人-ChatGPT Next Web

前提:要有梯子、谷歌账号。 目录 一、源码地址: 二、演示地址: 三、获取API密钥 四、 部署 五、重新部署 一、源码地址: GitHub - Yidadaa/ChatGPT-Next-Web: One-Click to deploy well-designed ChatGPT web UI on Verc…

批量给TXT文档插入带标题合成图片-Chatgpt生成TXT文档配图神器

1、我们用《Chatgpt 3.5-turbo软件》批量生成txt文档,但是这样txt文档里不带图片,直接发布到网站上,光有文字没有图片,效果也不是很理想,就需要一款配图软件。 2、提高文章的可读性和吸引力:插入图片可以丰…

JavaSE学习进阶day06_04 集合的嵌套和不可变集合

接昨天讲的内容,今天还要继续学习集合。学完今天的内容,集合就告于段落了,坚持! 集合的嵌套(掌握!): 什么是集合的嵌套?为什么要集合的嵌套?为了搞清楚这个…

免费英文在线翻译-英文自动翻译

免费的自动翻译器 作为一款免费的自动翻译器,我们的产品可以为全球用户提供高质量、高效率的翻译服务,帮助他们更好地沟通和交流。 现在,随着数字化的进一步发展,人们之间的跨文化交流越来越频繁。然而,语言偏差和文…

学习小程序基础内容之逻辑交互

我们先来看一下实现的效果。 然后再来分享结构。 结构分为左右3:7 分配, 左侧是类别,右侧是该类别对应的品牌。 后台会在onload的请求把左侧的类别返回来,然后我们通过循环把数据展示出来。然后通过点击事件,把对应的品牌请求回来…

CentOS 8自动化安装MongoDB并安装和实验master-slave集群、副本集群(Replica Set)、分片集群(Sharding)

文章目录 CentOS 8自动化安装MongoDB安装Master-Slave集群安装并测试副本集(Replica Set)集群安装副本集(Replica Set)集群实验测试 安装并测试分片集群(Sharding) 注意实验使用的是ARM架构的CentOS 8 虚拟机 CentOS 8自动化安装MongoDB 首先&#xff0…

【单片机】基于Arduino cli和VS Code配置开发环境,彻底抛弃Arduino IDE

文章目录 0 前言1 VS Code的优势和Arduino IDE的劣势2 前期准备3 Arduino cli3.1 Arduino cli是什么3.2 下载与安装3.3 基本使用3.4 开发环境配置 4 VS Code配置5 参考链接 0 前言 之前有在电脑上基于VS Code配置Arduino环境,大致方法就是在安装Arduino IDE的前提下…

linux网络

查看网络接口信息 ifconfig mtu 最大传输单元 mtu和mss区别 hostname命令 永久修改 hostnamectl set-hostname 切换shell环境生效 或者vi hostname 编辑完重启生效 查看路由表条目route route查看或设置主机中路由表信息 route -n将路由记录中的地址信息显示为数字形式 …

Linux查看串行端口

查看串口驱动 cat /proc/tty/driver/serial查看串口设备 dmesg | grep ttyS*[rootlocalhost driver]# cat /proc/tty/driver/serial serinfo:1.0 driver revision: 0: uart:16550A port:000003F8 irq:4 tx:0 rx:0 1: uart:16550A port:000002F8 irq:3 tx:0 rx:0 CTS|DSR|CD 2:…

Hadoop之HBase

文章目录 一、HBase简介二、HBase结构1.1HBase逻辑结构1.2HBase物理结构1.3HBase基础架构 三、HBase安装配置3.1单机模式3.2集群搭建 四、HBase JAVA API 一、HBase简介 《HBase官方文档》的原文地址是:http://hbase.apache.org/book.html W3Cschool.cn进行整理翻译…

上位机:创建WPF应用并使用控件完成控件交互

创建WPF应用并使用控件完成控件交互 1.XAML是WPF技术中专门用于设计UI的语言。 2.优点,XAML是一种声明型语言,只能用来声明一些UI元素、绘制UI和动画,不能在其中加入程序逻辑。实现UI与逻辑的剥离。 下面使用visual studio2019建立一个WPF项目: 进入项目,点击运行,然后…