Linux动态分配IP与正向解析DNS
目录
一、DHCP分配
1. 动态分配
1.1 服务端服务安装
1.2 修改服务端dhcp配置
1.3 修改客户端dhcp,重启查询网卡信息
2. 根据mac固定分配
2.1 修改服务器端dhcp服务配置
2.2 客户端自动获取,查看网卡信息
二、时间同步
1. 手动同步
2. 自动同步
3. 搭建本地时间同步服务器
3.1 图示
3.2 环境搭建时间校准
3.2.1 时间服务器配置
3.2.2 内网设备配置
3.2.3 重启服务关闭防火墙
3.2.4 客户机模拟时间校准
三、DNS正向解析
1. DNS解析过程介绍
2. DNS服务器类型
3. DNS查询方式
4. 内网搭建dns服务器
4.1 安装bind相关软件
4.2 关闭防火墙,开启服务
4.3 配置bind服务
4.4 配置区域文件
4.5 编辑数据库文件,解析记录对应关系
4.6 修改网卡配置重启服务
4.7 解析
一、DHCP分配
1. 动态分配
DHCP服务避免了因手动设置IP地址所产生的错误。客户机可以获得DHCP服务器分配下来的IP信息:包括IP地址、DNS等,从而带来方便安全的的体验。
1.1 服务端服务安装
[root@localhost ~]# yum install -y dhcp #安装dhcp服务
[root@localhost ~]# rpm -qc dhcp #查看配置文件
/etc/dhcp/dhcpd.conf
/etc/dhcp/dhcpd6.conf
/etc/openldap/schema/dhcp.schema
/etc/sysconfig/dhcpd
/var/lib/dhcpd/dhcpd.leases
/var/lib/dhcpd/dhcpd6.leases
[root@localhost ~]# vim /etc/dhcp/dhcpd.conf
#空的
#
# DHCP Server Configuration file.
# see /usr/share/doc/dhcp*/dhcpd.conf.example
# 在此目录下有配置模板
# see dhcpd.conf(5) man page
[root@localhost ~]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
cp:是否覆盖"/etc/dhcp/dhcpd.conf"? y
#将文件拷贝过来覆盖
[root@localhost dhcp]# cd /etc/dhcp/
[root@localhost dhcp]# vim dhcpd.conf
1.2 修改服务端dhcp配置
[root@localhost ~]# systemctl start dhcpd.service
[root@localhost ~]# systemctl status dhcpd.service
● dhcpd.service - DHCPv4 Server DaemonLoaded: loaded (/usr/lib/systemd/system/dhcpd.service; disabled; vendor preset: disabled)Active: active (running) since 三 2024-01-10 22:07:03 CST; 18s ago
1.3 修改客户端dhcp,重启查询网卡信息
[root@localhost ~]# ifconfig ens33
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500inet 192.168.190.10 netmask 255.255.255.0 broadcast 192.168.190.255
[root@localhost ~]# cat /etc/resolv.conf #查看当前系统使用的DNS服务器列表
# Generated by NetworkManager
search example.org
nameserver 114.114.114.114 #局部配置优先
由dns信息可见,dhcp服务局部配置优先级高于全局配置。
2. 根据mac固定分配
在特殊环境中,需要为某台设备单独配置固定的IP信息,为了避免手动配置过程中将同一个IP分配给多台设备,可以根据mac地址指定设备IP。
2.1 修改服务器端dhcp服务配置
[root@localhost ~]# vim /etc/dhcp/dhcpd.conf
[root@localhost dhcp]# systemctl restart dhcpd.service
#重启dhcp服务
2.2 客户端自动获取,查看网卡信息
[root@localhost ~]# ifconfig ens33
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500inet 192.168.190.66 netmask 255.255.255.0 broadcast 192.168.190.255inet6 fe80::634f:e6f9:d634:c6b3 prefixlen 64 scopeid 0x20<link>ether 00:0c:29:62:c7:6d txqueuelen 1000 (Ethernet)
二、时间同步
1. 手动同步
[root@localhost ~]# date
2024年 01月 10日 星期三 22:58:47 CST
[root@localhost ~]# date -s '1 year' #一年后
2025年 01月 10日 星期五 22:59:05 CST
[root@localhost ~]# ntpdate ntp.aliyun.com #同阿里云时间服务器校准(立马校准)
10 Jan 22:59:19 ntpdate[1751]: step time server 203.107.6.88 offset -31622399.968146 sec
2. 自动同步
[root@localhost ~]# yum install chrony.x86_64 -y
#chrony软件:一点点的快速同步时间,避免立马校准丢失部分时段日志;确定了计算机增减时间的比率,并对此进行平滑调整。
3. 搭建本地时间同步服务器
3.1 图示
3.2 环境搭建时间校准
3.2.1 时间服务器配置
[root@localhost ~]# vim /etc/chrony.conf #编辑时间同步服务配置
3.2.2 内网设备配置
[root@localhost ~]# vim /etc/chrony.conf
3.2.3 重启服务关闭防火墙
时间服务器:
[root@localhost ~]# systemctl restart chronyd
[root@localhost ~]# systemctl restart firewalld.service
[root@localhost ~]# setenforce 0
内网设备客户机:
[root@localhost ~]# systemctl restart chronyd #时间服务器,内网机均需要重启chronyd服务
3.2.4 客户机模拟时间校准
[root@localhost ~]# date -s '1 year' #模拟修改时间,一年后
2025年 01月 11日 星期六 19:51:54 CST
[root@localhost ~]# chronyc sources -v #查看当前系统的时间同步源信息
210 Number of sources = 1 #当前系统一共连接了1个NTP服务器.-- Source mode '^' = server, '=' = peer, '#' = local clock./ .- Source state '*' = current synced, '+' = combined , '-' = not combined,
| / '?' = unreachable, 'x' = time may be in error, '~' = time too variable.
|| .- xxxx [ yyyy ] +/- zzzz
|| Reachability register (octal) -. | xxxx = adjusted offset,
|| Log2(Polling interval) --. | | yyyy = measured offset,
|| \ | | zzzz = estimated error.
|| | | \
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^? 192.168.190.100 0 6 0 - +0ns[ +0ns] +/- 0ns[root@localhost ~]# ntpdate 192.168.190.100 #时间跨度长手动同步
11 Jan 19:55:52 ntpdate[2117]: step time server 192.168.190.100 offset -31622401.090556 sec
[root@localhost ~]# date
2024年 01月 11日 星期四 19:55:55 CST
服务器源状态:
- ^表示服务器,=表示对等方,#表示本地连接的参考时钟
- *:表示chronyd当前同步到的源
- +:表示可接受的信号源,与选定的信号源组合在一起
- -:表示被合并算法排除的可接受源
- ?:指示已失去连接性或其数据包未通过所有测试的源。它也显示在启动时,直到从中至少收集了3个样本为止(校准成功后变为*)
- x:表示chronyd认为是虚假行情的时钟(即,其时间与大多数其他来源不一致)
- 〜:表示时间似乎具有太多可变性的来源
三、DNS正向解析
1. DNS解析过程介绍
访问 www.baidu.com服务器
- 先看我本机的hosts文件,如果有直接访问,如果没有就去找你设置缓存dns
- 如果缓存服务器有,直接反馈结果 (递归),如果没有就需要迭代查询直接去找根域服务
- 由于根域服务器 只能解析根无法解析 www.baidu.com 但是根域服务器让你去找级域服务器
- 一级域发现自己 也解析 不了,让你去找二级域
- 二级域发现这台服务在自己的 管理范围内,直接反馈结果给 缓存服务器
- 缓存服务器 再交给 客户
- 其中正向解析是根据域名查找对应的IP地址
2. DNS服务器类型
- 缓存域名服务器:只提供域名解析结果的缓存功能,目的在于提高查询速度和效率,但是没有自己控制的区域地址数据。构建缓存域名服务器,必须设置根域或指定其他DNS服务器作为解析来源。
- 主域名服务器:管理和维护所负责解析的域内解析库的服务器
- 从域名服务器:从主服务器或从服务器"复制"(区域传输)解析库副本
3. DNS查询方式
- 递归查询:一般客户机和本地DNS服务器之间属于递归查询,即当客户机向DNS服务器发出请求后,若DNS服务器本身不能解析,则会向另外的DNS服务器发出查询请求,得到最终的肯定或否定的结果后转交给客户机。此查询的源和目标保持不变,为了查询结果只需要发起一次查询。(不需要自己动手)
- 迭代查询:一般情况下(有例外)本地的DNS服务器向其它DNS服务器的查询属于迭代查询,如:若对方不能返回权威的结果,则它会向下一个DNS服务器(参考前一个DNS服务器返回的结果)再次发起进行查询,直到返回查询的结果为止。此查询的源不变,但查询的目标不断变化,为查询结果一般需要发起多次查询。(需要自己动手)
4. 内网搭建dns服务器
目的:在内网使用域名访问,为了方便访问内网,供内部使用
4.1 安装bind相关软件
[root@localhost ~]# yum install -y bind*
4.2 关闭防火墙,开启服务
[root@localhost ~]# systemctl stop firewalld.service
[root@localhost ~]# setenforce 0
[root@localhost ~]# systemctl start named
4.3 配置bind服务
[root@localhost ~]# vim /etc/named.conf
[root@localhost ~]# rndc reload #重新加载DNS服务
server reload successful
4.4 配置区域文件
[root@localhost ~]# vim /etc/named.rfc1912.zone
4.5 编辑数据库文件,解析记录对应关系
[root@localhost ~]# cd /var/named/ #切换目录
[root@localhost named]# ls
chroot chroot_sdb data dynamic dyndb-ldap named.ca named.empty named.localhost named.loopback slaves
[root@localhost named]# cp -a named.localhost fql.com.zone #保留权限复制模板
[root@localhost named]# vim fql.com.zone
4.6 修改网卡配置重启服务
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
[root@localhost ~]# systemctl restart network
[root@localhost ~]# systemctl restart named #重启bind服务
4.7 解析
[root@localhost ~]# host www.fql.com
www.fql.com has address 192.168.190.102
[root@localhost ~]# host wwwwww.fql.com
wwwwww.fql.com has address 192.168.190.100
[root@localhost ~]# host ftp.fql.com
ftp.fql.com has address 192.168.190.103
[root@localhost ~]# host abc.fql.com
abc.fql.com is an alias for www.fql.com.
www.fql.com has address 192.168.190.102
[root@localhost ~]# host fql.com
fql.com has address 192.168.190.100
您在 /var/spool/mail/root 中有新邮件
相关文章:

Linux动态分配IP与正向解析DNS
目录 一、DHCP分配 1. 动态分配 1.1 服务端服务安装 1.2 修改服务端dhcp配置 1.3 修改客户端dhcp,重启查询网卡信息 2. 根据mac固定分配 2.1 修改服务器端dhcp服务配置 2.2 客户端自动获取,查看网卡信息 二、时间同步 1. 手动同步 2. 自动同…...
pyspark 使用udf 进行预测,发现只起了一个计算节点
PySpark UDF 只使用一个计算节点的问题 原因分析 默认的并行度设置 PySpark在执行UDF(用户定义函数)时,默认可能不会利用所有可用的计算节点。这是因为UDF通常在单个节点上执行,并且如果没有正确设置分区,可能会导致数…...
mysql触发器的简单使用
mysql触发器 触发器是一个特殊的存储过程,在事件delete、insert、update发生时自动执行一条或多条SQL语句(执行多条SQL语句需要用begin、end 包裹起来) 创建触发器 创建触发器的四大必要条件 唯一的触发器名称触发器关联的表触发器响应的…...

全志T113开发板Qt远程调试
1引言 通常情况下工程师在调试Qt程序时,需要频繁制作镜像烧录到核心板来测试Qt程序是否完善,这样的操作既费时又费力。这时我们可以通过QtCreator设备功能,定义设备后,在x86_64虚拟机上交叉编译qt程序,将程序远程部署到…...
学习使用php、js脚本关闭当前页面窗口的方法
学习使用php、js脚本关闭当前页面窗口的方法 前言方法一:使用JavaScript代码方法二:通过http头文件来实现方法三:使用服务器端脚本来实现 前言 在开发web应用程序时,我们通常需要在不同的网页之间进行导航。通常情况下࿰…...
python 人脸检测与人脸识别
安装库文件: pip install dlib face_recognition import dlib import face_recognition import cv2 from PIL import Image, ImageDraw# 判断运行环境 cpu or gpu def check_env():print(dlib.DLIB_USE_CUDA)print(dlib.cuda.get_num_devices())# 判断人脸在图片当中的位置 def…...

RT-Thread: ulog 日志 讲解和使用
说明:记录 RT-Thread: ulog 日志功能和使用流程。 官网资料链接: https://docs.rt-thread.org/#/rt-thread-version/rt-thread-standard/programming-manual/ulog/ulog 1.ulog 简介 日志的定义:日志是将软件运行的状态、过程等信息&#x…...

git ssh key 配置
一、Profile Settings-->SSH Keys 我们点击这里会有详情的文档介绍生成sshkey。 ssh-keygen -t rsa -b 2048 -C "邮箱" --回车... 将生成的id_rsa.pub粘贴到如下保存 git config --global user.name "用户名" git config --global user.email "邮…...
MongoDB聚合:$documents
$documents阶段可以根据输入值返回字面意义的文档。 语法 { $documents: <表达式> }$documents接受可解析为对象数组的任何有效表达式,包括: 系统变量,如 $$NOW 或 $$SEARCH_META $let 表达式 $lookup 表达式作用域中的变量 没有…...
程序员英语 - 英文会议常用句型
相信大部分程序员都会有如下经历: 产品经理(BA)们在和外系统聊集成方案时或者给用户解决某个问题时发现搞不定了,这个时候就会拉上程序员一起上会参与讨论或者排查问题,但程序员们英文又不好,上了会又听不懂…...

UV贴图和展开初学者指南
在线工具推荐: 3D数字孪生场景编辑器 - GLTF/GLB材质纹理编辑器 - 3D模型在线转换 - Three.js AI自动纹理开发包 - YOLO 虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎 介绍 这正是本文的主题——UV贴图——登上舞台的时候。大多数 3D 建…...
解密Path环境变量
解密Path环境变量 大家好,我是免费搭建查券返利机器人赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!今天,让我们一起深入探讨程序开发中不可或缺的一项关键技术——“path环境变量”。无论…...

git撤销提交到本地的commit
有些时候,当我们提交代码到本地后,突然发现因为某些原因需要撤销提交本地的代码。 就比如我,因为代码写错了分支,已经提交到本地了,而我需要取消,并且还要把代码搞得另外的分支上。 提交前: …...

使用Adobe Acrobat Pro DC给pdf文件填加水印
前言 GPT4的官方售价是每月20美元,很多人并不是天天用GPT,只是偶尔用一下。 如果调用官方的GPT4接口,就可以按使用量付费,用多少付多少,而且没有3个小时内只能提问50条的使用限制。 但是对很多人来说调用接口是比较麻烦…...

解决:Unity : Error while downloading Asset Bundle: Couldn‘t move cache data 问题
目录 问题: 尝试 问题得到解决 我的解释 问题: 最近游戏要上线,发现一个现象,部分机型在启动的时候闪退或者黑屏,概率是5%左右,通过Bugly只有个别机型才有这个现象,其实真实情况比这严重的多…...

SpringBoot默认配置文件
✅作者简介:大家好,我是Leo,热爱Java后端开发者,一个想要与大家共同进步的男人😉😉 🍎个人主页:Leo的博客 💞当前专栏: 循序渐进学SpringBoot ✨特色专栏: MySQL学习 🥭本文内容:SpringBoot默认配置文件 📚个人知识库: Leo知识库,欢迎大家访问 1.前言☕…...

Flink构造宽表实时入库案例介绍
1. 安装包准备 Flink 1.15.4 安装包 Flink cdc的mysql连接器 Flink sql的sdb连接器 MySQL驱动 SDB驱动 Flink jdbc的mysql连接器 2. 入库流程图 3. Flink安装部署 上传Flink压缩包到服务器,并解压 tar -zxvf flink-1.14.5-bin-scala_2.11.tgz -C /opt/ 复…...
【Kubernetes】K8s 查看 Pod 的状态
K8s 查看 Pod 的状态 [rootk8s-master1 ~]# kubectl get pods NAME READY STATUS RESTARTS AGE nginx-3 1/1 Running 2 (34m ago) 14hNAME:Pod 的名称。READY:代表 Pod 里面有几个容器,前面是启动的,后面…...

Linux系统操作命令
Linux管理 在线查询Linux命令: https://www.runoob.com/linux/linux-install.htmlhttps://www.linuxcool.com/https://man.linuxde.net/ 1.Linux系统目录结构 Linux系统的目录结构是一个树状结构,每一个文件或目录都从根目录开始,并且根目…...

大模型学习与实践笔记(五)
一、环境配置 1. huggingface 镜像下载 sentence-transformers 开源词向量模型 import os# 设置环境变量 os.environ[HF_ENDPOINT] https://hf-mirror.com# 下载模型 os.system(huggingface-cli download --resume-download sentence-transformers/paraphrase-multilingual-…...

AI Agent与Agentic AI:原理、应用、挑战与未来展望
文章目录 一、引言二、AI Agent与Agentic AI的兴起2.1 技术契机与生态成熟2.2 Agent的定义与特征2.3 Agent的发展历程 三、AI Agent的核心技术栈解密3.1 感知模块代码示例:使用Python和OpenCV进行图像识别 3.2 认知与决策模块代码示例:使用OpenAI GPT-3进…...

.Net框架,除了EF还有很多很多......
文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...
条件运算符
C中的三目运算符(也称条件运算符,英文:ternary operator)是一种简洁的条件选择语句,语法如下: 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true,则整个表达式的结果为“表达式1”…...

如何将联系人从 iPhone 转移到 Android
从 iPhone 换到 Android 手机时,你可能需要保留重要的数据,例如通讯录。好在,将通讯录从 iPhone 转移到 Android 手机非常简单,你可以从本文中学习 6 种可靠的方法,确保随时保持连接,不错过任何信息。 第 1…...
【C语言练习】080. 使用C语言实现简单的数据库操作
080. 使用C语言实现简单的数据库操作 080. 使用C语言实现简单的数据库操作使用原生APIODBC接口第三方库ORM框架文件模拟1. 安装SQLite2. 示例代码:使用SQLite创建数据库、表和插入数据3. 编译和运行4. 示例运行输出:5. 注意事项6. 总结080. 使用C语言实现简单的数据库操作 在…...

【Oracle】分区表
个人主页:Guiat 归属专栏:Oracle 文章目录 1. 分区表基础概述1.1 分区表的概念与优势1.2 分区类型概览1.3 分区表的工作原理 2. 范围分区 (RANGE Partitioning)2.1 基础范围分区2.1.1 按日期范围分区2.1.2 按数值范围分区 2.2 间隔分区 (INTERVAL Partit…...

如何在网页里填写 PDF 表格?
有时候,你可能希望用户能在你的网站上填写 PDF 表单。然而,这件事并不简单,因为 PDF 并不是一种原生的网页格式。虽然浏览器可以显示 PDF 文件,但原生并不支持编辑或填写它们。更糟的是,如果你想收集表单数据ÿ…...

宇树科技,改名了!
提到国内具身智能和机器人领域的代表企业,那宇树科技(Unitree)必须名列其榜。 最近,宇树科技的一项新变动消息在业界引发了不少关注和讨论,即: 宇树向其合作伙伴发布了一封公司名称变更函称,因…...
C语言中提供的第三方库之哈希表实现
一. 简介 前面一篇文章简单学习了C语言中第三方库(uthash库)提供对哈希表的操作,文章如下: C语言中提供的第三方库uthash常用接口-CSDN博客 本文简单学习一下第三方库 uthash库对哈希表的操作。 二. uthash库哈希表操作示例 u…...
「全栈技术解析」推客小程序系统开发:从架构设计到裂变增长的完整解决方案
在移动互联网营销竞争白热化的当下,推客小程序系统凭借其裂变传播、精准营销等特性,成为企业抢占市场的利器。本文将深度解析推客小程序系统开发的核心技术与实现路径,助力开发者打造具有市场竞争力的营销工具。 一、系统核心功能架构&…...