云计算 3月5号 (DNS域名解析及部署)

DNS域名解析服务

1.DNS介绍

DNS 是域名系统 (Domain Name System) 的缩写,是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。

域名解析
域名对应ip
www.baidu.com.这个域名--对应IP---183.232.231.174
2.域名的分层结构
  • 任何一个连接在因特网上的主机或路由器,都有一个唯一的层次结构的名字,即域名(domain name)。域名可以划分为各个子域,子域还可以继续划分为子域的子域,这样就形成了顶级域、主域名、子域名等。关于域名层次结构如下图:

域名分层举例
比如:www.aliyun.com.
​
-  DNS里面顶层是: "." 表示根域 ( 一共有十三台根服务器)
- “.com”是顶级域名;分类:职能:com域,.org域(非营利机构),edu域名(教育)国家:.cn ,.us ,
- “aliyun.com”是主域名(二级域),主要指企页名;
- “example.aliyun.com”是子域名(也可称为托管三级域名);
- “www.example.aliyun.com”是子域名的子域(也可称为托管四级域名)。
3.DNS的分层结构
  • 域名是分层结构,域名DNS服务器也是对应的层级结构。有了域名结构,还需要有域名DNS服务器去解析域名,且是需要由遍及全世界的域名DNS服务器去解析,域名DNS服务器实际上就是装有域名系统的主机。域名解析过程涉及4个DNS服务器,分别如下:

每个层的域名上都有自己的域名服务器,最顶层的是根域名服务器
每一级域名服务器都知道下级域名服务器的IP地址,以便于一级一级向下查询
4.DNS 解析过程
下面的示例则概述了本地域名服务器没有缓存的情况下,DNS查询所需的8个步骤:
​
1.用户在Web浏览器中输入“www.example.com”,浏览器先检查自身缓存中有没有解析过的这个域名对应的ip地址,如果有,解析结束.如果浏览器没有缓存,那么就检查操作系统的hosts文件,称为本地解析,比如windows就是C:\Windows\System32\drivers\etc\hosts文件,linux在/etc/hosts文件中配置。如果命中域名解析结束。如果没有命中域名解析,浏览器会向本地的DNS服务器查询,如果命中域名解析就结束。
​
2. 如果本地DNS服务器没有命中域名解析,那么本地DNS服务器采用递归查询的方法,向根域名服务器进行查询。
3. 根域名服务器开启迭代查询方法告诉本地域名服务器,下一步应该查询的顶级域名服务器.com TLD的IP地址
4. 本地域名服务器向顶级域名服务器.com TLD进行查询
5. .com TLD服务器告诉本地域名服务器,下一步查询example.com权威域名服务器的IP地址
6. 本地域名服务器向example.com权威域名服务器发送查询
7. example.com权威域名服务器告诉本地域名服务器所查询的主机IP地址
8. 本地域名服务器最后把查询的IP地址响应给web浏览器
​
- 一旦DNS查询的8个步骤返回了example.com的IP地址,浏览器就能够发出对网页的请求:
​
9. 浏览器向IP地址发出HTTP请求
10. 该IP处的web服务器返回要在浏览器中呈现的网页

5.DNS术语
1、递归查询
是指DNS服务器在收到用户发起的请求时,必须向用户返回一个准确的查询结果。如果DNS服务器本地没有存储与之对应的信息,则该服务器需要询问其他服务器,并将返回的查询结果提交给用户。( 根服务器不会开递归查询。会开迭代查询)
2、迭代查询
是指DNS服务器在收到用户发起的请求时,并不直接回复查询结果,而是告诉另一台DNS服务器的地址,用户再向这台DNS服务器提交请求,这样依次反复,直到返回查询结果。
3、TTL
英文全称Time To Live ,这个值是告诉本地域名服务器,域名解析结果可缓存的最长时间,缓存时间到期后本地域名服务器则会删除该解析记录的数据,删除之后,如有用户请求域名,则会重新进行递归查询/迭代查询的过程。
4、TLD Server
英文全称Top-level domains Server,指顶级域名服务器。
5、DNS Resolver
指本地域名服务器,它是DNS查找中的第一站,是负责处理发出初始请求的DNS服务器。运营商ISP分配的DNS、谷歌8.8.8.8等都属于DNS Resolver。
6、Root Server
指根域名服务器,当本地域名服务器在本地查询不到解析结果时,则第一步会向它进行查询,并获取顶级域名服务器的IP地址。
DNS 记录类型
DNS支持A、CNAME、AAAA、NS等记录类型
记录类型   功能描述
A         ipv4记录,支持将域名映射到ipv4的地址使用
AAAA      ipv6记录,支持将域名映射到ipv6的地址使用
CNAME     别名记录, 支持将域名指向另外一个域名
NS        名称服务器记录,支持将子域名委托给其他DNS服务商解析
DNS 客户端检测工具
1.dig
域名查询工具,可以用来测试域名系统工作是否正常。
功能与 nslookup 类似,建议使用 dig 来取代 nslookup
[root@localhost ~]# yum install bind-utils -y  #安装dig命令(包括host、nslookup)
# 解析域名对应的IP地址等信息
[root@localhost ~]# dig  www.baidu.com
​
; <<>> DiG 9.11.4-P2-RedHat-9.11.4-16.P2.el7_8.6 <<>> www.baidu.com
;; global options: +cmd
​
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 65304
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1
​
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; MBZ: 0x0005, udp: 4096
;; QUESTION SECTION:  #展示查询信息
;www.baidu.com.                 IN      A
​
;; ANSWER SECTION:
www.baidu.com.          5       IN      CNAME   www.a.shifen.com.
www.a.shifen.com.       5       IN      A       183.232.231.172
www.a.shifen.com.       5       IN      A       183.232.231.174
​
;; Query time: 8 msec
;; SERVER: 192.168.153.2#53(192.168.153.2)
;; WHEN: 三 8月 05 06:45:14 CST 2020
;; MSG SIZE  rcvd: 101
HEADER(标题):显示查询的内容有哪些,
QUESTION SECTION:展示发起的DNS 请求参数。其中A表示我们默认查询A类型的记录。
ANSWER SECTION:这一部分展示DNS服务的响应流程。
===============================================
IN:代表类别为IP协议,即Internet
====================================================================
1.www.baidu.com 通过 CNAME 映射到 www.a.shifen.com,但是无法直接访问 www.a.shifen.com 。
2.CNAME (CanonicalName)记录,(alias from one domain name to another)通常称别名指向
2.host
解析域名对应的IP地址和别名等信息
​
[root@linux-server ~]# yum install -y bind-utils-9.11.4-16.P2.el7_8.3.x86_64 #安装host命令

[root@localhost ~]# host www.baidu.com
www.baidu.com is an alias for www.a.shifen.com.
www.a.shifen.com has address 183.232.231.172
www.a.shifen.com has address 183.232.231.174
配置DNS方式:
1.本机解析
本机解析:/etc/hosts    默认先使用本机解析
[root@linux-server ~]# vim /etc/hosts  #本机解析文件---添加如下内容
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.246.160 www.soso666.cn
表示:cn域下面有一个soso666,soso666下面有一子域名www。仅供本地解析。
2.使用本地DNS服务器解析
DNS: domain name service 
客户端设置(指定)DNS:
# vim /etc/resolv.conf  #本地dns配置文件
# Generated by NetworkManager
search localdomain
nameserver 192.168.246.2
nameserver 114.114.114.114  #新添加

一、DNS原理

查询方式

递归查询            

直接把结果给客户端

迭代查询

如果知道结果,把结果告诉客户端,如果不知道结果,会把查询转发到下一台DNS服务器

DNS解析类型

SOA 记录:起始授权记录   NS 记录:指定管理某一个域的服务器是谁子域授权   A 记录:正向解析,把域名解析成IP       PTR 记录:反向解析   MX 记录:指定邮件服务器   CNAME:别名、泛域名解析、负载均衡、主从、只缓存、转发、子域授权、View 视图

二、DNS 部署

环境介绍

服务器3台、系统centos

安装软件
  yum install -y bind bind-utils bind-chroot
    bind  主包
    bind-utils   客户端测试工具(host 、dig 、nslookup)
    bind-chroot   chroot环境  禁锢dns服务器的工作目录
    caching-nameserver(rhel5提供模板文本,缓存服务)   rhel6不需要
关闭防火墙
systemctl stop firewalld && setenforce 0
启动服务
    
# systemctl start named
        如果启动服务没有工作目录的文件夹
工作目录
    /var/named/chroot/etc                    存放主配置文件
    /var/named/chroot/var/named
配置文件
备份配置文件

cp /etc/named.conf /etc/named.conf.backup
​
修改配置文件:
[root@wing etc]# vim /etc/named.conf 
options {
    # 监听在主机的53端口上。any代表监听所有的主机
    listen-on port 53 { any; };
    listen-on-v6 port 53 { ::1; };
​
    # 如果此档案底下有规范到正反解的zone file 档名时,该档名预设应该放置在哪个目录底下
    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";
​
    # 谁可以对我的DNS服务器提出查询请求。any代表任何人
    allow-query     { any; };
​
    /* 
     - If you are building an AUTHORITATIVE DNS server, do NOT enable recursion.
     - If you are building a RECURSIVE (caching) DNS server, you need to enable 
       recursion. 
     - If your recursive DNS server has a public IP address, you MUST enable access 
       control to limit queries to your legitimate users. Failing to do so will
       cause your server to become part of large scale DNS amplification 
       attacks. Implementing BCP38 within your network would greatly
       reduce such attack surface 
    */
    recursion yes;
​
    dnssec-enable yes;
    dnssec-validation yes;
​
        dnssec-lookaside auto;
        forwarders { 
           # 指定上层DNS服务器(网关)
           192.168.1.1;
        };
​
    /* Path to ISC DLV key */
    bindkeys-file "/etc/named.iscdlv.key";
​
    managed-keys-directory "/var/named/dynamic";
​
    pid-file "/run/named/named.pid";
    session-keyfile "/run/named/session.key";
};
​
logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};
​
zone "." IN {
    type hint;
    file "named.ca";
};
​
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
增加zone信息
vim /etc/named.rfc1912.zones
zone "baidu.com" IN {    
       # 定义要解析主域名
        type master;
        file "baidu.com.zone";  
       # 具体相关解析的配置文件保存在 /var/named/baidu.com.zone 文件中
};
​
编辑区域配置文件
vim /var/named/baidu.com.zone
​
​
$TTL 1D
@       IN SOA          baidu.com. root (
                                        1       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        0 )     ; minimum
​
        IN      NS      baidu.com.
        IN      A       192.168.101.1
www     IN      A       192.168.101.244
test    IN      A       192.168.101.129

增加权限 并启动服务

chown root:named /var/named/baidu.com.zone
systemctl restart named
systemctl enable named

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

UD效果广告

1.定义 全称Unidesk&#xff0c;是由阿里旗下大数据运营平台“阿里妈妈”推出的数字营销引流平台。UD投放将其他媒体的流量通过相关的广告创意导入到天猫店铺。 2.UD投放优化技巧 &#xff08;1&#xff09;不起量排查&#xff1a; 可以从账户问题、计划数量不足、计划设置…

c语言经典测试题11

1.题1 #include <stdio.h> int main() { int a[] {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}, *p a 5, *q NULL; *q *(p5); printf("%d %d\n", *p, *q); return 0; }上述代码的运行结果是什么呢&#xff1f; 我们来分析一下&#xff1a;我们创建了一个数…

美易官方《盘前:美国股指期货温和走低》

美国股指期货在盘前交易中温和走低&#xff0c;市场情绪在美联储主席鲍威尔即将作证前显得谨慎。投资者对即将公布的证词内容充满期待&#xff0c;以寻求对美联储未来货币政策的更多线索。 鲍威尔即将在国会作证&#xff0c;这是市场关注的焦点事件之一。他的证词可能会对美元汇…

删除有序链表中重复的数字Ⅱ

题目 题目链接 删除有序链表中重复的元素-II_牛客题霸_牛客网 题目描述 代码实现 class Solution { public:/*** 代码中的类名、方法名、参数名已经指定&#xff0c;请勿修改&#xff0c;直接返回方法规定的值即可** * param head ListNode类 * return ListNode类*/ListNod…

redis缓存与集群

备份 rdb数据快照&#xff0c;内存数据记录到磁盘&#xff0c;故障重启磁盘读取文件 恢复数据 save主进程进行save阻塞其他命令 bgsave fork子进程rdb不影响其他的 fork主进程得到子进程 共享主进程内存数据 fork读取内存数据写入rdb文件 当主进程执行写操作时 拷贝一份数…

vs2022 qt 关于lnk2001和2019同时报错的问题

需要像qt中添加模块&#xff0c;这里&#xff0c;缺少qtopenglwidgets模块

MATLAB的基础二维绘图

1.plot函数 &#xff08;1&#xff09;plot函数的基本用法 plot(x,y)其中&#xff0c;x和y分别用于存储x坐标和y坐标数据&#xff0c;通常x和y为长度相同的向量。 例如&#xff1a; x[2.3,3.3,4.3,1];y[1.3,2,1.8,3]plot(x,y) (2)plot(x,y,选项&#xff09;其中选项包括颜色…

超详细的Scrapy框架的基本使用教程

Scrapy的介绍 scrapy的工作流程&#xff08;重点&#xff01;&#xff01;&#xff01;&#xff09; 如下图所示&#xff1a; 爬虫&#xff1a; 负责向引擎提供要爬取网页的URL&#xff0c;引擎会把这个URL封装成request对象并传递给调度器&#xff0c;把引擎传递过来的resp…

【送书活动1】基于React低代码平台开发:构建高效、灵活的应用新范式

【送书活动1】基于React低代码平台开发&#xff1a;构建高效、灵活的应用新范式 写在最前面一、React与低代码平台的结合优势二、基于React的低代码平台开发挑战三、基于React的低代码平台开发实践四、未来展望《低代码平台开发实践&#xff1a;基于React》编辑推荐内容简介作者…

逻辑代数基础(一)(逻辑符号)

目录 三种基本运算 与运算 或运算 非运算 复合运算 与非运算 或非运算 与或非运算 异或运算 同或运算 逻辑代数的基本定律和常用公式 逻辑代数的基本定律 常量-常量的运算 常量-变量的运算 特殊定律 逻辑代数的常用公式 逻辑函数 逻辑函数的定义 逻辑函数的约束条件 逻…

140.乐理基础-音程的转位

上一个内容&#xff1a;139.乐理基础-一四五八度为何用纯?-CSDN博客 上一个内容里练习的答案&#xff1a; 本次内容并不会感觉到有多大用处&#xff0c;但要牢牢掌握。 音程的转位&#xff1a; 改变音的高低顺序 比如c-e&#xff0c;c低、e高 音程转位&#xff1a;也就是变成…

为什么有了HTTP协议,还要有WebSocket协议?

文章目录 使HTTP不断轮询长轮询WebSocket是什么&#xff1f;怎么建立WebSocket连接WebSocket抓包WebSocket的消息格式WebSocket的使用场景总结 平时我们打开网页&#xff0c;比如购物网站某宝。都是点一下列表商品&#xff0c;跳转一下网页就到了商品详情。 从HTTP协议的角度来…

【C语言】编程题专项练习+答案

目录 1.删除有序数组中重复的数 2.用除二取余的方法&#xff0c;把任意一个十进制正数的二进制序列输出&#xff08;不考虑溢出&#xff09; 2.1如果是把任意一个十进制整数的二进制序列输出呢&#xff1f; 3.输出一个六行六列的整形矩阵&#xff0c;并输出其转置矩阵。矩阵…

C++之map

1、map介绍 map是C STL的一个关联容器&#xff0c;它提供一对一的数据处理能力。其中&#xff0c;各个键值对的键和值可以是任意数据类型&#xff0c;包括 C 基本数据类型&#xff08;int、double 等&#xff09;、使用结构体或类自定义的类型。 第一个可以称为关键字(key)&…

盘点国内大厂的10个AI创作工具,看看你都用过哪些?

国内大厂的 AI 创作工具&#xff0c;目前已经非常多了&#xff0c;而且有很多都是大家耳熟能详的。 下面整理了一些&#xff0c;包含 AI 绘画、AI 视频、AI 智能体、AI 大模型等多个方向的国内大厂 AI 创作工具。 发现有几款 AI 工具&#xff0c;还真的非常好用。看看这些 AI…

H5小游戏,斗地主

H5小游戏源码、JS开发网页小游戏开源源码大合集。无需运行环境,解压后浏览器直接打开。有需要的,私信本人,发演示地址,可以后再订阅,发源码,含60+小游戏源码。如五子棋、象棋、植物大战僵尸、开心消消乐、扑鱼达人、飞机大战等等 <!DOCTYPE html> <html> <…

算法46:动态规划专练(力扣198: 打家劫舍 力扣740:删除并获取点数)

打家劫舍问题&#xff1a; 你是一个专业的小偷&#xff0c;计划偷窃沿街的房屋。每间房内都藏有一定的现金&#xff0c;影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统&#xff0c;如果两间相邻的房屋在同一晚上被小偷闯入&#xff0c;系统会自动报警。 给定…

每日五道java面试题之mysql数据库篇(五)

目录&#xff1a; 第一题. 联合索引是什么&#xff1f;为什么需要注意联合索引中的顺序&#xff1f;第二题. 什么是数据库事务&#xff1f;第三题. 事物的四大特性(ACID)介绍一下?第四题. 按照锁的粒度分数据库锁有哪些&#xff1f;锁机制与InnoDB锁算法?第五题. 从锁的类别上…

Linux 防火墙 操作命令【实用】

防火墙操作&#xff1a; 描述命令查看防火墙状态systemctl status firewalld、firewall-cmd --state暂时关闭防火墙systemctl stop firewalld永久关闭防火墙systemctl disable firewalld开启防火墙systemctl start firewalld开放指定端口firewall-cmd --zonepublic --add-port…

Docker常见命令使用

Docker命令是使用Docker的基础。这里记录下Docker日常运维过程中经常使用到的一些命令&#xff0c;更全面的命令还请参考Docker官网。 docker用法概述 Docker命令可以通过CLI工具实现与服务器的交互。Docker命令的语法如下&#xff1a; docker [DOCKER-COMMAND] [OPTIONS] […