Linux动态分配IP与正向解析DNS

2024-01-12 00:36

本文主要是介绍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 中有新邮件

这篇关于Linux动态分配IP与正向解析DNS的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/596231

相关文章

Java 正则表达式URL 匹配与源码全解析

《Java正则表达式URL匹配与源码全解析》在Web应用开发中,我们经常需要对URL进行格式验证,今天我们结合Java的Pattern和Matcher类,深入理解正则表达式在实际应用中... 目录1.正则表达式分解:2. 添加域名匹配 (2)3. 添加路径和查询参数匹配 (3) 4. 最终优化版本5.设计思

Linux内核参数配置与验证详细指南

《Linux内核参数配置与验证详细指南》在Linux系统运维和性能优化中,内核参数(sysctl)的配置至关重要,本文主要来聊聊如何配置与验证这些Linux内核参数,希望对大家有一定的帮助... 目录1. 引言2. 内核参数的作用3. 如何设置内核参数3.1 临时设置(重启失效)3.2 永久设置(重启仍生效

使用Java将DOCX文档解析为Markdown文档的代码实现

《使用Java将DOCX文档解析为Markdown文档的代码实现》在现代文档处理中,Markdown(MD)因其简洁的语法和良好的可读性,逐渐成为开发者、技术写作者和内容创作者的首选格式,然而,许多文... 目录引言1. 工具和库介绍2. 安装依赖库3. 使用Apache POI解析DOCX文档4. 将解析

Java字符串处理全解析(String、StringBuilder与StringBuffer)

《Java字符串处理全解析(String、StringBuilder与StringBuffer)》:本文主要介绍Java字符串处理全解析(String、StringBuilder与StringBu... 目录Java字符串处理全解析:String、StringBuilder与StringBuffer一、St

Spring Boot循环依赖原理、解决方案与最佳实践(全解析)

《SpringBoot循环依赖原理、解决方案与最佳实践(全解析)》循环依赖指两个或多个Bean相互直接或间接引用,形成闭环依赖关系,:本文主要介绍SpringBoot循环依赖原理、解决方案与最... 目录一、循环依赖的本质与危害1.1 什么是循环依赖?1.2 核心危害二、Spring的三级缓存机制2.1 三

C#中async await异步关键字用法和异步的底层原理全解析

《C#中asyncawait异步关键字用法和异步的底层原理全解析》:本文主要介绍C#中asyncawait异步关键字用法和异步的底层原理全解析,本文给大家介绍的非常详细,对大家的学习或工作具有一... 目录C#异步编程一、异步编程基础二、异步方法的工作原理三、代码示例四、编译后的底层实现五、总结C#异步编程

kali linux 无法登录root的问题及解决方法

《kalilinux无法登录root的问题及解决方法》:本文主要介绍kalilinux无法登录root的问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,... 目录kali linux 无法登录root1、问题描述1.1、本地登录root1.2、ssh远程登录root2、

Python中使用正则表达式精准匹配IP地址的案例

《Python中使用正则表达式精准匹配IP地址的案例》Python的正则表达式(re模块)是完成这个任务的利器,但你知道怎么写才能准确匹配各种合法的IP地址吗,今天我们就来详细探讨这个问题,感兴趣的朋... 目录为什么需要IP正则表达式?IP地址的基本结构基础正则表达式写法精确匹配0-255的数字验证IP地

Linux ls命令操作详解

《Linuxls命令操作详解》通过ls命令,我们可以查看指定目录下的文件和子目录,并结合不同的选项获取详细的文件信息,如权限、大小、修改时间等,:本文主要介绍Linuxls命令详解,需要的朋友可... 目录1. 命令简介2. 命令的基本语法和用法2.1 语法格式2.2 使用示例2.2.1 列出当前目录下的文

MySQL中FIND_IN_SET函数与INSTR函数用法解析

《MySQL中FIND_IN_SET函数与INSTR函数用法解析》:本文主要介绍MySQL中FIND_IN_SET函数与INSTR函数用法解析,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友一... 目录一、功能定义与语法1、FIND_IN_SET函数2、INSTR函数二、本质区别对比三、实际场景案例分