Linux系统——dns域名解析

news2024/10/24 10:58:16

Linux系统——dns域名解析

  • 一、dns域名解析介绍
    • 1、DNS核心概念
      • 1.1 区域 zone
      • 1.2 记录 record
  • 二、DNS服务的配置
    • 1、正向解析的配置
    • 2、测试dns正常工作
    • 3、配置反向解析
    • 4、dns复制
  • 三、DNS查询类型
  • 四、hosts文件的使用

一、dns域名解析介绍

dns,应用层协议
作用:域名解析
正向解析,将主机名解析成对应的IP地址
反向解析,将IP地址解析成对应的主机名

  • 涉及的软件
    软件: bind
    服务: named
    端口: 53/udp (提供解析服务)、53/tcp(提供多个DNS间数据同步)

1、DNS核心概念

在这里插入图片描述

1.1 区域 zone

  • 正向区域
    一般就是个二级域名, linux.com

  • 反向区域
    x.x.x.in-addr.arpa
    10.168.192.in-addr.arpa

1.2 记录 record

A记录, 标识主机名和IP地址的对应关系

www.jd.com		A		123.45.6.78

PTR记录, 标识IP地址和主机名的对应关系

1.1.1.1		PTR		test.linux.com

NS记录, 标识DNS服务器自身, 必须配合A记录

		NS  ns1.jd.com
ns1.jd.com		A		2.2.2.2

MX记录, 标识邮件服务器, 必须配合A记录

// 数字5:优先级,数字越小优先级越高
				MX  5  mail1.linux.com
mail1.linux.com		A		3.3.3.3
				MX  10  mail2.linux.com
mail2.linux.com		A		4.4.4.4

CNAME记录, 别名记录

www.baidu.com		CNAME		www.a.shifen.com

二、DNS服务的配置

1、正向解析的配置

  • 关闭selinux,防火墙
[root@node01 ~]# getenforce 
Disabled
[root@node01 ~]# systemctl status firewalld.service 
● firewalld.service
   Loaded: masked (/dev/null; bad)
   Active: inactive (dead)
  • 安装bind软件
[root@node01 ~]# yum install bind -y 

[root@node01 ~]# rpm -q bind
bind-9.11.4-26.P2.el7_9.16.x86_64
  • 修改dns主配置文件, named.conf
[root@node01 ~]# ls -l /etc/named.conf 
-rw-r----- 1 root named 1806 Jun 11 22:41 /etc/named.conf

[root@node01 ~]# vim /etc/named.conf 
listen-on port 53 { any; };				// 定义dns服务启动的地址、端口
directory       "/var/named";			// 记录文件的存放位置 

allow-query     { any; };				  // 定义dns服务可以为哪些主机提供解析
……………………
include "/etc/named.rfc1912.zones";
  • 创建区域
[root@node01 ~]# vim /etc/named.rfc1912.zones 

zone "linux.com" IN {
    type master;  						// 指定区域类型为master
    file "linux.com.zone";		// 指定存放记录的文件名
};
  • 创建记录
[root@node01 ~]# cp -a /var/named/named.localhost /var/named/linux.com.zone

-a:保留文件权限
[root@node01 ~]# cat /var/named/linux.com.zone
$TTL 1D
@	IN SOA	linux.com. 454452000.qq.com. (
					0	; serial
					1D	; refresh
					1H	; retry
					1W	; expire
					3H )	; minimum
	NS ns01.linux.com.
ns01	A	192.168.140.10
www	A	192.168.10.1
file	A	192.168.10.9
	MX 5 mail.linux.com.
mail	A	192.168.10.7
  • 启动named服务
[root@node01 ~]# systemctl enable --now named 
Created symlink from /etc/systemd/system/multi-user.target.wants/named.service to /usr/lib/systemd/system/named.service.
[root@node01 ~]# 
[root@node01 ~]# ps -elf | grep named 
5 S named      2911      1  0  80   0 - 171176 sigsus 11:20 ?       00:00:00 /usr/sbin/named -u named -c /etc/named.conf
0 S root       2932   1268  0  80   0 - 28203 pipe_w 11:21 pts/0    00:00:00 grep --color=auto named
[root@node01 ~]# 
[root@node01 ~]# 
[root@node01 ~]# netstat -tunlp | grep named 
tcp        0      0 127.0.0.1:953           0.0.0.0:*               LISTEN      2911/named          
tcp6       0      0 ::1:953                 :::*                    LISTEN      2911/named          
tcp6       0      0 ::1:53                  :::*                    LISTEN      2911/named          
udp6       0      0 ::1:53                  :::*                                2911/named    

2、测试dns正常工作

C:\Users\admin>nslookup
默认服务器:  public1.alidns.com
Address:  223.5.5.5

> server 192.168.140.10
默认服务器:  [192.168.140.10]
Address:  192.168.140.10

>
> ns01.linux.com
服务器:  [192.168.140.10]
Address:  192.168.140.10

名称:    ns01.linux.com
Address:  192.168.140.10

> www.linux.com
服务器:  [192.168.140.10]
Address:  192.168.140.10

名称:    www.linux.com
Address:  192.168.10.1

> file.linux.com
服务器:  [192.168.140.10]
Address:  192.168.140.10

名称:    file.linux.com
Address:  192.168.10.9

> mail.linux.com
服务器:  [192.168.140.10]
Address:  192.168.140.10

名称:    mail.linux.com
Address:  192.168.10.7

> 192.168.10.7
服务器:  [192.168.140.10]
Address:  192.168.140.10

> exit

3、配置反向解析

  • 创建反向解析区域
[root@node01 ~]# vim /etc/named.rfc1912.zones 

zone "10.168.192.in-addr.arpa" IN {
    type master;
    file "192.168.10.zone";
};
  • 创建反向区域对应的记录文件
[root@node01 ~]# cd /var/named/
[root@node01 named]# cp -a linux.com.zone 192.168.10.zone
[root@node01 named]# cat 192.168.10.zone
$TTL 1D
@	IN SOA	linux.com. 454452000.qq.com. (
					0	; serial
					1D	; refresh
					1H	; retry
					1W	; expire
					3H )	; minimum
	NS ns01.linux.com.
ns01	A	192.168.140.10
1	PTR	www.linux.com.
9	PTR	file.linux.com.
7	PTR	mail.linux.com.
  • 重启named服务,测试
[root@node01 ~]# systemctl restart named
C:\Users\admin>nslookup
默认服务器:  public1.alidns.com
Address:  223.5.5.5

> server 192.168.140.10
默认服务器:  [192.168.140.10]
Address:  192.168.140.10

> 192.168.10.9
服务器:  [192.168.140.10]
Address:  192.168.140.10

名称:    file.linux.com
Address:  192.168.10.9

> 192.168.10.7
服务器:  [192.168.140.10]
Address:  192.168.140.10

名称:    mail.linux.com
Address:  192.168.10.7

> exit

4、dns复制

作用:保证多个dns间的数据同步,实现备份

  • 环境描述
    192.168.140.10 ns01.linux.com 主DNS
    192.168.140.11 ns02.linux.com 从DNS

  • 从DNS安装bind软件

[root@localhost ~]# yum install -y bind
  • 修改主DNS上区域配置文件
[root@node01 ~]# vim /etc/named.rfc1912.zones 

zone "linux.com" IN {
    type master;
    allow-transfer { 从DNS服务器地址; };		// 允许哪个从来复制数据
    file "linux.com.zone";
};
  • 修改主DNS上记录文件
[root@node01 ~]# vim /var/named/linux.com.zone 

        NS ns01.linux.com.
        NS ns02.linux.com.
ns01    A       192.168.140.10
ns02    A       192.168.140.11

[root@node01 ~]# systemctl restart named
  • 修改从DNS的主配置文件
[root@node01 ~]# vim /etc/named.conf 
listen-on port 53 { any; };				
allow-query     { any; };				 
  • 在从dns上创建和主dns一样的区域
[root@localhost ~]# vim /etc/named.rfc1912.zones 

zone "linux.com" IN {
    type slave;			// 指定区域类型为slave从
    masters { 主DNS服务器地址; };		
    file "slaves/linux.com.zone";
};
  • 启动从DNS服务,验证可以正常复制记录文件
[root@localhost ~]# systemctl enable --now named
[root@localhost ~]# 
[root@localhost ~]# netstat -tunlp | grep named
tcp        0      0 192.168.140.11:53       0.0.0.0:*               LISTEN      1475/named          
tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN      1475/named          
tcp        0      0 127.0.0.1:953           0.0.0.0:*               LISTEN      1475/named          
tcp6       0      0 ::1:53                  :::*                    LISTEN      1475/named          
tcp6       0      0 ::1:953                 :::*                    LISTEN      1475/named          
udp        0      0 192.168.140.11:53       0.0.0.0:*                           1475/named          
udp        0      0 127.0.0.1:53            0.0.0.0:*                           1475/named          
udp6       0      0 ::1:53                  :::*                                1475/named          
[root@localhost ~]# 
[root@localhost ~]# ls /var/named/slaves/
linux.com.zone

[root@localhost ~]# file /var/named/slaves/linux.com.zone 
/var/named/slaves/linux.com.zone: data
  • 验证使用从dns解析主机名
C:\Users\admin>nslookup
默认服务器:  public1.alidns.com
Address:  223.5.5.5

> server 192.168.140.11
默认服务器:  [192.168.140.11]
Address:  192.168.140.11

> www.linux.com
服务器:  [192.168.140.11]
Address:  192.168.140.11

名称:    www.linux.com
Address:  192.168.10.1

> mail.linux.com
服务器:  [192.168.140.11]
Address:  192.168.140.11

名称:    mail.linux.com
Address:  192.168.10.7
  • 验证数据同步
    主DNS修改记录,从DNS会根据记录文件中的序列号检测变化,同步复制数据
[root@node01 ~]# vim /var/named/linux.com.zone
添加一条记录,修改序列号
 
[root@node01 ~]# systemctl restart named

验证使用从dns来解析变化的记录

三、DNS查询类型

  • 递归查询
    只发送一次DNS请求,等待结果
    发生在客户端与DNS服务器间

  • 迭代查询
    发送多次DNS请求
    发生在DNS服务器间

在这里插入图片描述

四、hosts文件的使用

保存主机名、IP地址对应关系

  • Linux
[root@node01 ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

10.11.0.254	file.linux.com
  • Windows
C:\Windows\System32\drivers\etc\hosts 
  • 主机域名解析的流程
    1、先找本地的DNS缓存
    2、再找hosts文件
    3、向网卡DNS服务器发送查询请求,经过多次迭代过程返回结果

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

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

相关文章

arp代答观察

文章目录 代答和代理简述实验前提先不开启proxy代答的配置开启代答总结 代答和代理简述 ARP(地址解析协议)是在局域网中用于将IP地址映射到MAC地址的协议。在理解 ARP 代答和 ARP 代理之前,让我们先澄清一下 ARP 的基本工作原理。 ARP 代答&…

标题PLSQL 里面怎么在文件窗口下 ,创建文件夹,并做好常用sql语句的分类

标题PLSQL 里面怎么在文件窗口下 ,创建文件夹,并做好常用sql语句的分类? 效果如图: 标题打开plsql,找到文件窗口 找到,窗口下的这个类似文件夹带扳手的这个图标,打开, 打开后,定位…

十一、pico+Unity交互开发教程——手指触控交互(Poke Interaction)

一、XR Poke Interactor 交互包括发起交互的对象(Interactor)和可被交互的对象(Interactable)。XR Interaction Toolkit提供了XR Poke Interactor脚本用于实现Poke功能。在LeftHand Controller和RightHand Controller物体下创建名…

LeetCode做题笔记第202题:快乐数

题目描述 编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」 定义为: 1.对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。 2.然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。 3.如果这个过程 结…

「C/C++」C++ STL容器库 之 std::set 唯一键的集合容器

✨博客主页何曾参静谧的博客📌文章专栏「C/C」C/C程序设计📚全部专栏「VS」Visual Studio「C/C」C/C程序设计「UG/NX」BlockUI集合「Win」Windows程序设计「DSA」数据结构与算法「UG/NX」NX二次开发「QT」QT5程序设计「File」数据文件格式「PK」Parasoli…

小鹏汽车股价分析:看涨信号已出现,技术指标显示还有40%的上涨空间

猛兽财经核心观点: (1)小鹏汽车的股价过去几天有所回落。 (2)随着需求的上升,该公司的业务发展的还算不错。 (3)猛兽财经对小鹏汽车股价的技术分析:多头已经将目标指向15…

【通俗理解】Neurosymbolic AI——融合神经网络与符号推理的智慧之力

【通俗理解】Neurosymbolic AI——融合神经网络与符号推理的智慧之力 关键词提炼 #Neurosymbolic AI #神经网络 #符号推理 #感知能力 #逻辑能力 #认知水平 #智慧与力量 第一节:Neurosymbolic AI的类比与核心概念 Neurosymbolic AI就像是给神经网络这位“大力士”…

排序算法 —— 计数排序

目录 1.计数排序的思想 2.计数排序的实现 3.计数排序的分析 时间复杂度 空间复杂度 稳定性 优点 缺点 1.计数排序的思想 顾名思义,计数排序就是通过计数的方式来排序,其基本思想为: 开辟一个计数数组,统计每个数出现的次…

计算机毕业设计Hadoop+大模型在线教育大数据分析可视化 学情分析 课程推荐系统 机器学习 深度学习 人工智能 大数据毕业设计

一、研究背景和意义 “互联网”和大数据带来了网络教育的蓬勃发展,学习分析技术和自适应学习也在近年内得到了重大突破。在线教育是互联网技术与传统教育的结合,是当前中国教育信息化发展最快的领域,而当下最迫切的是有效整合教育资源和互联…

AJAX——使用 fetch 发送 AJAX 请求

1、fetch()函数属于全局函数,可以全局调用,返回的结果是一个 promise 对象。 2、语法: 3、参数 本文分享到此结束,欢迎大家评论区相互讨论学习,下一篇继续分享AJAX中同源策略的学习。

ChatGPT实现旅游推荐微信小程序

随着旅游行业的快速发展,个性化推荐已成为提升用户体验的重要手段。通过AI技术,提供一个智能旅游推荐小程序,使用户能够轻松获取定制化的旅行建议。 项目概述 项目目标 开发一个AI旅游推荐小程序,基于用户输入的旅行偏好&#…

Axure中继器单选、多选和重置

亲爱的小伙伴,在您浏览之前,烦请关注一下,在此深表感谢! 课程主题:Axure中继器单选、多选和重置 主要内容:根据查询条件,通过单选、多选和重置,从中继器中得到数据 应用场景&…

C++ 二叉树进阶:二叉搜索树

目录 二叉搜索树的概念 二叉搜索树的实现 基本结构 插入 1,当树是空树的时候 2,当树不为空的时候 3,纠正后的代码 查找 删除 1,左为空或右为空 2,左右都不为空 3,删除的完整代码: 二…

hadoop-Zookeeper安装

hadoop-Zookeeper安装 Ububtu18.04安装Zookeeper3.7.1 环境与版本 这里采用的ubuntu18.04环境的基本配置为: hostname 为master 用户名为hadoop 静态IP为 192.168.100.3 网关为 192.168.100.2 防火墙已经关闭 /etc/hosts已经配置全版本下载地址: htt…

Director3D: Real-world Camera Trajectory and 3DScene Generation from Text 论文解读

目录 一、概述 二、相关工作 1、文本到3D生成 2、3DGS 三、Director3D 1、Cinematographer 2、Decorator 3、Detailer 4、Loss 一、概述 该论文提出利用真实世界数据集,设计一个从文本生成真实世界3D场景和自适应相机轨迹的强大的开放世界文本到3D生成框架…

Git使用GUI界面实现任意历史版本对比

首先进入版本历史查看界面 标记某次提交 选择某次提交并和标记的提交对比 可以查看比较结果了,具体到每一个文件每一行代码

鸿蒙HarmonyOS NEXT 5.0开发(2)—— ArkUI布局组件

文章目录 布局Column:从上往下的布局Row:从左往右的布局Stack:堆叠布局Flex:自动换行或列 组件Swiper各种选择组件 华为官方教程B站视频教程 布局 主轴和交叉轴的概念: 对于Column布局而言,主轴是垂直方…

cnn做整图匹配

好像还没有人把cnn在工业机器视觉中使用,我们打破界限,试一试! 工业上有很多需求,判断加工产品有还是没有,从前基本上都是使用找斑的方法来判断。 我们可以用cnn代替试试! 我们前头cnn最好成绩是&#x…

STM32(二十一):看门狗

WDG(Watchdog)看门狗,手动重装寄存器的操作就是喂狗。 看门狗可以监控程序的运行状态,当程序因为设计漏洞、硬件故障、电磁干扰等原因,出现卡死或跑飞现象时,看门狗能及时复位程序,避免程序陷入…

免费送源码:Node.JS+Express+MySQL Express 流浪动物救助系统 计算机毕业设计原创定制

摘 要 随着互联网大趋势的到来,社会的方方面面,各行各业都在考虑利用互联网作为媒介将自己的信息更及时有效地推广出去,而其中最好的方式就是建立网络管理系统,并对其进行信息管理。由于现在网络的发达,流浪动物救助系…