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服务器

  1. 先看我本机的hosts文件,如果有直接访问,如果没有就去找你设置缓存dns
  2. 如果缓存服务器有,直接反馈结果 (递归),如果没有就需要迭代查询直接去找根域服务
  3. 由于根域服务器 只能解析根无法解析 www.baidu.com 但是根域服务器让你去找级域服务器
  4. 一级域发现自己 也解析 不了,让你去找二级域
  5. 二级域发现这台服务在自己的 管理范围内,直接反馈结果给 缓存服务器
  6. 缓存服务器 再交给 客户
  7. 其中正向解析是根据域名查找对应的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 中有新邮件

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

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

相关文章

java实现AES256对称加解密工具类

一、引入依赖包 引入相关依赖包 <dependency><groupId>org.bouncycastle</groupId><artifactId>bcprov-jdk15on</artifactId><version>1.70</version> </dependency> <!--lombok用于简化实体类开发--> <dependency&g…

Hive基础

hive的基础部分大致有四部分&#xff1a;Hive数据类型、Hive运算符、Hive数据存储、Hive表存储格式。这四部分是学习hive必须掌握的知识。 一、Hive数据类型 整体概述 1&#xff0c;hive的数据类型指的是表中列字段类型&#xff0c;类似于编程语言中对变量类型的定义如&#…

Beauty algorithm(七)瘦脸

瘦脸的实现采用局部平移法。 一、skills 前瞻 局部平移 二、目标区域定位 左脸: 关键点选择3、5点,基点30 rmax:计算两点5-3间的距离, |x-c|:图像任一点到固定基点c的距离 |m-c|:两固定点距离 右脸: 关键点选择

【MySQL】锁机制

文章目录 一、表级锁和行级锁二、排他锁和共享锁三、InnoDB行级锁行级锁间隙锁意向共享锁和意向排他锁 四、InnoDB表级锁五、死锁六、锁的优化建议 一、表级锁和行级锁 表级锁&#xff1a; 对整张表加锁。开销小&#xff0c;加锁快&#xff0c;不会出现死锁&#xff1b;锁粒度…

STL-list的使用简介

目录 ​编辑 一、list的底层实现是带头双向循环链表 二、list的使用 1、4种构造函数&#xff08;与vector类似&#xff09;​编辑 2、迭代器iterator 3、容量&#xff08;capicity&#xff09;操作 4、element access 元素获取 5、增删查改 list modifiers 6、list的迭…

Linxu每日智囊

每日分享三个Linux命令,悄悄培养读者的Linux技能。 欢迎关注公众号(NLP Research) apt 作用 包管理器 语法 apt [选项] 软件包 参数: -h:帮助-y:当安装过程提示选择全部为"yes"-q:不显示安装的过程案例 列出所有可更新的软件清单命令sudo apt update升级软…

ROS2——Parameters

节点可以使用参数来配置各项操作&#xff0c;这些参数可以说布尔值、整数、字符串等类型。节点在启动时会读取参数。我们将参数单独列出来&#xff0c;而不是写在源文件中&#xff0c;这样做可以方便我们调试&#xff0c;因为在不同的机器人、环境中&#xff0c;我们需要的参数…

【Unity】Joystick Pack摇杆插件实现锁四向操作

Joystick Pack ​ 简介&#xff1a;一款Unity摇杆插件&#xff0c;非常轻量化 ​ 摇杆移动类型&#xff1a;圆形、横向、竖向 ​ 摇杆类型&#xff1a; Joystick描述Fixed固定位置Floating浮动操纵杆从用户触碰的地方开始&#xff0c;一直固定到触碰被释放。Dynamic动态操纵…

网卡高级设置-提高网络环境

网卡高级设置&#xff0c;提高网络质量排除一些连接问题 一、有线网卡 1、关闭IPv6&#xff1b; 可以关闭协议版本6&#xff0c;因为它会引起一些网络连接问题&#xff0c;而且现在几乎用不到IP6。 2、关闭节约电源模式&#xff1b; 右击计算机->设备->设备管理器-&…

开源C语言库Melon:数据恢复算法

本文讲述开源C语言库Melon中的里德所罗门纠错码的使用。 关于 Melon 库&#xff0c;这是一个开源的 C 语言库&#xff0c;它具有&#xff1a;开箱即用、无第三方依赖、安装部署简单、中英文文档齐全等优势。 Github repo 简介 里德所罗门编码是一种纠错码技术&#xff0c;…

微信小程序的生命周期函数有哪些?

面试官&#xff1a;说说微信小程序的生命周期函数有哪些&#xff1f; 一、是什么 跟vue、react框架一样&#xff0c;微信小程序框架也存在生命周期&#xff0c;实质也是一堆会在特定时期执行的函数 小程序中&#xff0c;生命周期主要分成了三部分&#xff1a; 应用的生命周期…

MacOS安装Miniforge、Tensorflow、Jupyter Lab等(2024年最新)

大家好&#xff0c;我是邵奈一&#xff0c;一个不务正业的程序猿、正儿八经的斜杠青年。 1、世人称我为&#xff1a;被代码耽误的诗人、没天赋的书法家、五音不全的歌手、专业跑龙套演员、不合格的运动员… 2、这几年&#xff0c;我整理了很多IT技术相关的教程给大家&#xff0…

MySQL数据库导入导出远程备份

一 navcat导入导出 导入 选择数据库 选择自己需要的的脚本进行导入 18万的sql脚本数据 导入时间33秒左右 导出 选择表右击----转存SQL文件---结构和数据 导出时间比较快 二 mysqldump 导入导出 先进入mysql的安装bin目录下&#xff0c;先将所要导入的脚本放入该bin目录下…

从优化设计到智能制造:生成式AI在可持续性3D打印中的潜力和应用

可持续性是现代工业中一个紧迫的问题&#xff0c;包括 3D 打印领域。为了满足环保制造实践日益增长的需求&#xff0c;3D 打印已成为一种有前景的解决方案。然而&#xff0c;要使 3D 打印更具可持续性&#xff0c;还存在一些需要解决的挑战。生成式人工智能作为一股强大的力量&…

Java虚拟机类加载机制探究:生命周期、初始化、使用与验证

一、java虚拟机与程序的生命周期 在如下几种情况之下&#xff0c;java虚拟机将结束生命周期&#xff1a; 执行了System.exit()方法程序正常执行结束程序在执行过程中遇到了异常或者错误而异常终止由于操作系统用出现错误而导致java虚拟机进程终止 二、类的加载&#xff0c;链…

基于ssm运动会管理系统的设计与实现 【附源码】

基于ssm运动会管理系统的设计与实现 【附源码】 &#x1f345; 作者主页 央顺技术团队 &#x1f345; 欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; &#x1f345; 文末获取源码联系方式 &#x1f4dd; 项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuil…

CSS 圆形分割按钮动画 带背景、图片

<template><view class="main"><view class="up"> <!-- 主要部分上 --><button class="card1"><image class="imgA" src="../../static/A.png"></image></button><butt…

NIO通信代码示例

NIO通信架构图 1.Client NioClient package nio;import constant.Constant;import java.io.IOException; import java.util.Scanner;public class NioClient {private static NioClientHandle nioClientHandle;public static void start() {nioClientHandle new NioClientHa…

3 快速前端开发

3 前端JavaScript 3 前端JavaScript1. JavaScript1.1 代码位置1.2 注释1.3 变量1.4 字符串类型案例&#xff1a;跑马灯 1.5 数组案例&#xff1a;动态数据 1.6 对象&#xff08;字典&#xff09;案例&#xff1a;动态表格 1.7 条件语句1.8 函数 2.DOM2.1 事件的绑定 3.知识点的…

redis中的string相关的部分命令

redis命令手册 redis中文官网查看文档 挨个进行输出调试 Redis Setnx 命令 Redis Getrange 命令 Redis Mset 命令 redis 127.0.0.1:6379> MSET key1 "Hello" key2 "World" OK redis 127.0.0.1:6379> GET key1 "Hello" redis 127.0.0.1:…