Linux的DHCP工作原理和dns服务器

news2025/1/22 15:42:14

目录

一、DHCP原理

1.DHCP的好处

2.DHCP的分配方式

3.实验

二、dns服务器

1.什么是dns

2.dns域名解析

3、在内网搭建dns


一、DHCP原理

DCHP工作原理使用C/S架构 

(1)第一步,客户端广播发送一个discover报文寻找DHCP服务器。

(2)第二步,DHCP服务器收到discover报文后广播返回一个offer报文,里面包括可分配的ip、子网掩码、网关、广播形式等。

(3)第三步,计算机收到第一个DHCP服务器的offer报文后广播回复服务器一个request报文,告诉服务器请求分配的ip地址等。华为路由器此步骤为单播

(4)第四步,服务器以广播形式返回一个ACK确认报文并将可用ip地址和租约告诉客户端。

1.DHCP的好处

减少管理员的工作量

避免输入错误的可能

避免IP地址冲突
当更改IP地址段时,不需要重新配置每个用户的IP地址
提高了IP地址的利用率
方便客户端的配置

2.DHCP的分配方式

1.自动分配: 分配到一个IP地址后永久使用

2.手动分配:由DHCP服务器管理员专门指定IP地址

3.动态分配: 使用完后释放该IP,供其它客户机使用

3.实验

本地DHCP服务器搭建,需要在虚拟机中添加网络适配器

yum install dhcp -y ## 安装 dhcp 软件
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf 
#复制 配置文件的模板
vim /etc/dhcp/dhcpd.conf 
复制粘贴 5yy p
subnet 192.168.91.0 netmask 255.255.255.0 {
 range 192.168.91.50 192.168.91.80;
 option routers 192.168.91.2;
 option domain-name-servers 114.114.114.114; 
}
systemctl start dhcpd #启动服务
验证 打开 
win 调整 获取地址 为 dhcp
打开 cmd 命令
ipconfig/release #释放ip地址配置
ipconfig/renew #重新获取地址
ipconfig/all #显示所有的网卡配置
linux机器 
vim /etc/sysconfig/netwprk-scripts/ifcfg-ens33
BOOTPROTO =dhcp
ip配置删除
systemctl restart networ

二、dns服务器

1.什么是dns

DNS域名解析服务:是将域名和ip地址相互映射的一个分布式数据库。

正向解析:将域名解析为对应的ip地址。

反向解析:通过ip地址解析对应的域名

举例:www.baidu.com

.     根域

.com   顶级域 一级域

.baidu    二级域

www     主机名

一个 dns 服务器 只管 自己范围内的 解析

2.dns域名解析

一次dns 解析的过程:

我要访问 www.baidu.com 服务器

1.先看我本机的 /etc/hosts 文件,如果有直接访问, 如果没有就去找你设置的缓存dns服务器

2. 如果 缓存服务器有, 直接反馈结果(递归),如果没有就需要迭代查询, 直接去找 根域服务

 3.由于根域服务器 只能 解析根 无法解析 www.baidu.com 但是 根域服务器会让你去找 一级域服务器

4.一级域发现自己 也解析 不了, 让你去找二级域

 5.二级域发现这台服务器在自己的 管理范围内,直接反馈结果给 缓存服务器

6.缓存服务器 再交给 客户 权威dns服务器:只有他说了算,最后解析成功的服务器为权威服务器

3、在内网搭建dns

首先安装bind

# yum install bind

然后开始主配置文件

主配置文件修改:
vim /etc/named.conf
options {
listen-on port 53 {localhost;}  #监听localhost地址的UDP 53端口,localhost表示提供dns服务的ip,也可用any表示所有
listen-on-v6 port 53 {::1;}   #ipv6地址设置,若不适用可注释或删除
directory "/var/named";       #区域数据文件默认的存放位置
dump-file"/var/named/data/cache_dump.db";     #域名缓存数据库文件的位置
statistics-file "/var/named/data/named_stats.txt";    #状态统计文件的位置
memstatistics-file "/var/named/data/named_mem_stats.txt";    #内存统计文件的位置
allow-query { any; };  #允许使用本DNS解析服务的网段或ip地址,也可用any表示所有
}

区域配置文件修改:
vim /etc/named.rfc1912.zones
zone  "localhost"  IN {         #正向解析配置,localhost表示域名
type  master                    #类型为主DNS服务器
file “named.loopback”;         #指定区域数据文件为named.loopback
allow-update {none;};#表示若主dns故障切换到另一个指定的备用DNS服务器,none表示没有不指定
};
 
zone "1.0.0.127.in-addr.arpa" IN { #反向解析配置,1.0.0.127表示反向的ip,注意要反向写ip地址
type master;            #类型为主DNS服务器
file "named.loopback";  #指定区域数据文件为named.loopback
allow-update { none; }; #表示若主dns故障切换到另一个指定的备用DNS服务器,none表示没有不指定
};
制作区域数据配置文件lhj.com:
cd /var/named                 #进入区域数据配置文件模板文件目录
cp -p named.localhost lhj.com #名字为区域配置文件内写的名称lhj.com,注意拷贝时加 -p 保留权限,否则启动服务会报错不能识别
vim  /var/named/lhj.com       #修改复制好的区域数据配置文件
区域数据配置文件内容:
$TTL 1D    表示设置缓存解析结果的有效时间
​                  0    :serial  #更新序列号,一般是10以内的证书
 
​                  1D   :refresh #刷新时间,重新下载地址数据的间隔
 
​                  1H   :retry   #重试间隔,下载失败后的重试间隔
 
​                  1W   :expire  #失效时间,超过该时间仍然无法下载则放弃
 
@   IN SOA @  rename.invalid.   {   
#@为变量表示当前DNS域名注意必须从根域写起,IN表示使用INTERNET协议,SOA表示起始授权记录,rename.invalid. 表示邮箱
​         NS     @        #NS(nameserver)表示当前区域的DNS服务器的名称为@可修改
​         A     127.0.0.1 #A表示DNS服务器正向解析的地址为127.0.0.1 需要对应主配置文件内ip地址
​         AAAA  ;;1       #表示ipv6服务器地址,不用可删除
​         PTR             #表示DNS服务器反向解析,需要手动添加,默认没有
www  IN  A   127.0.0.2   #表示www服务的ip地址为127.0.0.2
mail  IN   A  127.0.0.3  #表示mail服务的ip地址为127.0.0.3
2  IN PTR  www.localhost. com    #表示dns服务器网段的2 ip对应为www域名
3  IN PTR  mail.localhost. com   #表示dns服务器网段的3 ip对应mail域名
}

systemctl restart named
重启服务

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

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

相关文章

使用CentOS搭建高性能静态HTTP服务器

在互联网应用中,静态内容是广泛存在的,例如HTML页面、图片、视频等。为了提供高效、稳定和安全的静态内容服务,我们可以使用CentOS来搭建高性能的静态HTTP服务器。 1. 选择合适的软件 Nginx和Apache是两个流行的HTTP服务器软件。Nginx以其高…

探索二维码:让信息传递更便捷

二维码是一种用于储存信息的方形图形编码,它可以在多种场景中实现信息的快速传递和识别。本文将从多个方面介绍二维码的原理、类型、优势及应用场景,帮助您深入了解这一重要的物联网技术。 二维码生成器 | 一个覆盖广泛主题工具的高效在线平台(amd794.c…

以太网抓包软件Wireshake应用介绍( SMART PLC MODBUSTCP通信)

首先介绍下常看到的字符ACK,ACK是确认字符,在数据通信中,接收站发给发送站的一种传输类控制字符,表示发来的数据已确认接收无误。在TCP/IP协议中,如果接收方成功的接收到数据,会回复一个ACK数据。通常ACK信号有自己固定的格式,长度大小,由接收方回复给发送方。ACK在TCP的…

C# 静态代码织入AOP组件之肉夹馍

写在前面 关于肉夹馍组件的官方介绍说明: Rougamo是一个静态代码织入的AOP组件,同为AOP组件较为常用的有Castle、Autofac、AspectCore等,与这些组件不同的是,这些组件基本都是通过动态代理IoC的方式实现AOP,是运行时…

C语言数据结构(1)复杂度(大o阶)

欢迎来到博主的专栏——C语言与数据结构 博主ID——代码小豪 文章目录 如何判断代码的好坏时间复杂度什么是时间复杂度如何计算时间复杂度 空间复杂度 如何判断代码的好坏 实现相同作用的不同代码,如何分辨这些代码的优劣之处呢? 有人说了&#xff0c…

GPT实战系列-简单聊聊LangChain搭建本地知识库准备

GPT实战系列-简单聊聊LangChain搭建本地知识库准备 LangChain 是一个开发由语言模型驱动的应用程序的框架,除了和应用程序通过 API 调用, 还会: 数据感知 : 将语言模型连接到其他数据源 具有代理性质 : 允许语言模型与其环境交互 LLM大模型…

6、C语言:输入与输出

输入输出 标准输入输出getchar&putchar函数printf函数sprintf函数格式化输入——scanf函数 文件访问文件读写 错误处理:stderr和exit行输入和行输出常用函数字符串操作函数字符类别测试和转换函数存储管理函数数学函数随机数发生器函数其他 标准输入输出 getch…

vue文件在<template>中使用多个<el-main>报错(已解决)

目录 1.原理 2. 根据你的需求,自定义每个 组件的内容。你可以在 标签内部插入文本、其他组件、样式等。 3. 根据需要添加样式或其他属性到每个 组件。你可以使用 class、style 或其他属性来自定义每个组件的外观和行为。 4.一个可以运行的总代码如下 5.我的一…

VQE音频处理流程

VQE 上行VQE,主要针对MIC采集部分的音频增强 下行VQE,主要针对SPK播放部分的音频增强 附关键词解释 RES RES 模块为重采样(Resampler)模块。当AI上行或AO下行通路中开启VQE 各功能 模块时,在处理前后各存在一次重采样…

COBOL语言 :一种主要专注于解决业务问题的编程语言

译文: 什么是COBOL? COBOL是一种主要专注于解决业务问题的编程语言。COBOL的完整形式是面向业务的通用语言。它主要用于公司和政府的商业、金融和行政系统。这种语言也被用来解决许多数据处理问题。 它是由CODASYL(数据系统语言会议)开发的。它被用作大型机中的一…

DSL查询文档--查询结果处理

排序 elasticsearch默认是根据相关度算分(_score)来排序,但是也支持自定义方式对搜索结果排序。可以排序字段类型有:keyword类型、数值类型、地理坐标类型、日期类型等。 普通字段排序 keyword、数值、日期类型排序的语法基本一…

【JAVA】在 Queue 中 poll()和 remove()有什么区别

🍎个人博客:个人主页 🏆个人专栏:JAVA ⛳️ 功不唐捐,玉汝于成 目录 前言 正文 poll() 方法: remove() 方法: 区别总结: 结语 我的其他博客 前言 在Java的Queue接口中&…

初识C语言·内存函数

目录 1 memcpy的使用和模拟实现 2 memmove的使用和模拟实现 3 memset的使用和模拟实现 4 memcmp的使用和模拟实现 1 memcpy的使用和模拟实现 紧接字符串函数,出场的是第一个内存函数memcpy。前面讲的字符串函数是专门干关于字符串的事的,而这个函数…

(十二)EEPROM的补充

文章目录 EEPROM补充篇读EEPROM补充内容写EEPROM补充内容单字节写入多字节拆成单字节写入现象 EEPROM补充篇 读EEPROM补充内容 对于上一篇博文在读EEPROM的时候,提到的DUMMY WRITE: 这里怎么理解呢: 大家看,写EEPROM的逻辑除了…

c++学习笔记-STL案例-演讲比赛管理系统2

目录 功能介绍 代码结构部分 查看一下类图 1.Speaker.h 2.speechManager.h 3.speechManager.cpp 4.演讲比赛流程关系系统.cpp 功能介绍 speechManager.h函数包含演讲比赛流程的所有功能如下: 开始演讲比赛:完成整届比赛的流程,每…

为什么使用双token实现无感刷新用户认证?

单token机制 认证机制:对与单token的认证机制在我们项目中仅使用一个Access Token的访问令牌进行用户身份认证和授权的方案处理。 不足之处: 安全性较低(因为只有一个token在客户端和服务器端之间进行传递,一旦Access Token被截…

解决ERROR 24680 --- [ main] o.a.catalina.core.AprLifecycleListener 报错:

1.报错全称: ERROR 24680 --- [ main] o.a.catalina.core.AprLifecycleListener : An incompatible version [1.2.32] of the Apache Tomcat Native library is installed, while Tomcat requires version [1.2.34] 2.解决方案: 步骤一 在…

Linux下编写zlg7290驱动(1)

大家好,今天给大家介绍Linux下编写zlg7290驱动(1),文章末尾附有分享大家一个资料包,差不多150多G。里面学习内容、面经、项目都比较新也比较全!可进群免费领取。 在智能仪表中,经常会用到键盘、数码管等外设。因此&…

LLM之RAG理论(五)| 使用知识图谱增强RAG

知识图谱(KG)或任何图都包括节点和边,其中每个节点表示一个概念,每个边表示一对概念之间的关系。本文介绍一种将任何文本语料库转换为知识图谱的技术,本文演示的知识图谱可以替换其他专业知识图谱。 一、知识图谱 知识…

【PyTorch简介】3.Loading and normalizing datasets 加载和规范化数据集

Loading and normalizing datasets 加载和规范化数据集 文章目录 Loading and normalizing datasets 加载和规范化数据集Datasets & DataLoaders 数据集和数据加载器Loading a Dataset 加载数据集Iterating and Visualizing the Dataset 迭代和可视化数据集Creating a Cust…