就业班 2401--3.5 Linux Day11--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  #新添加
3.修改网卡配置文件定义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/ly2001.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/ly000.com.zone
systemctl restart named
systemctl enable named

情景:

如果使用的net的话,用Windows是不能ping通的,默认是桥接

如果用的net模式,那么windows不能访问到,windows默认是net,所以访问不到另一个

如果是桥接模式,需要修改windows的以太网,可以辨识到服务端的ip

如果排查了所有的问题,最后试一下 刷新dns缓存

ipconfig /flushdns

然后再尝试ping

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

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

相关文章

「项目实践」如何实现导购推荐“千人千面”

前言 在电商背景下&#xff0c;为用户提供精准的导购推荐不仅能极大提升购物体验&#xff0c;也成为推动业务增长的关键驱动力。随着人工智能和数据科学的快速发展&#xff0c;实现“千人千面”的个性化推荐已不再是无法触及的梦想。如何在众多商品中准确捕捉用户的偏好&#…

进口及国内细胞分析仪厂家名录大全-贝克曼、安捷伦、希森美康、迈瑞.....

流式细胞仪是一种测量层流中细胞的设备&#xff08;细胞仪&#xff09;&#xff0c;其通过将每个细胞排列在鞘液中&#xff0c;加以激光束照射&#xff0c;可测量散射光和荧光&#xff0c;从而获得有关每个细胞的信息&#xff0c;包含细胞结构&#xff08;如大小、粒度、表面积…

Java知识点总结(二)

ID生成策略 主键自增id 主键自动增长&#xff0c;不用手工设值、数字型&#xff0c;占用空间小、检索非常有利、有顺序&#xff0c;不会重复&#xff0c;但在迁移旧数据是会出现id冲突 UUID 基于时间&#xff0c;计数器和地址生成32位的id redis生成id 原子性自增&#xff0c;并…

记录一次排查负载均衡不能创建的排查过程

故障现象&#xff0c;某云上&#xff0c;运维同事在创建负载均衡的时候&#xff0c;发现可以创建资源&#xff0c;但是创建完之后&#xff0c;不显示对应的负载均衡。 创建负载均衡时候&#xff0c;按f12发现console有如下报错 后来请后端网络同事排查日志发现&#xff0c;是后…

探秘X-XSS-Protection头对抗跨站脚本攻击

欢迎来到我的博客&#xff0c;代码的世界里&#xff0c;每一行都是一个故事 探秘X-XSS-Protection头对抗跨站脚本攻击 前言XSS攻击的威胁X-XSS-Protection头的作用X-XSS-Protection头的配置报告模式&#xff08;Report-Only&#xff09;攻击与绕过X-XSS-Protection的方法 前言 …

(学习日记)2024.03.04:UCOSIII第六节:main函数+前六节总结

写在前面&#xff1a; 由于时间的不足与学习的碎片化&#xff0c;写博客变得有些奢侈。 但是对于记录学习&#xff08;忘了以后能快速复习&#xff09;的渴望一天天变得强烈。 既然如此 不如以天为单位&#xff0c;以时间为顺序&#xff0c;仅仅将博客当做一个知识学习的目录&a…

android开发教程视频,android组件化和插件化

第一阶段&#xff1a;Android 基础知识回顾&#xff1a; 回顾Android 开发编程&#xff0c;深入理解Android系统原理和层次结构&#xff0c;深入分析Handler源码和原理&#xff1b;回顾Java&#xff0c;C/C&#xff0c;Kotlin、dart 在Android开发中必用的语言&#xff0c;熟悉…

DQL语言学习(2024/3/5)one

1.基础查询&#xff1a; select 查询列表 from 表名&#xff1b; 查询列表可以是&#xff1a;①表中的字段、②常量值、③表达式、④函数 ①查询表中的单个字段&#xff0c;多个字段&#xff0c;所有字段 select *from 表名&#xff1b; ③查询表达式: select 100*98; ④…

软件设计师10--计算机组成与体系结构章节回顾

软件设计师10--计算机组成与体系结构章节回顾 章节重要内容考情分析 章节重要内容 考情分析

css使用

一、什么是CSS <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title><style>div{color: red;}</style> </head> <body><div>Hello CSS</div></…

MySQL——性能调优

性能调优&#xff08;重要&#xff09; SQL 优化的目的 减少磁盘 IO&#xff1a;尽可能避免全表扫描、尽量使用索引、尽量使用覆盖索引减少回表操作减少 CPU 和内存的消耗&#xff0c;尽可能减少排序、分组、去重之类的操作&#xff0c;尽量减少事务持有锁的时间 优化途径&…

QEMU设备直通pass through的地址映射转换

[内核:HVA]->[QEMU:HVA]的mmap地址映射 $ sudo cat /proc/2047239/maps | grep -i vfio address perms offset dev inode pathname 7f4b5444a000-7f4b5445a000 rw-s 9da50000 00:0e 13037 anon_inode:[vfi…

稀碎从零算法笔记Day7-LeetCode:罗马数字转整数

题型&#xff1a;字符串转化、找规律 链接&#xff1a;13. 罗马数字转整数 - 力扣&#xff08;LeetCode&#xff09; 来源&#xff1a;LeetCode 题目描述 给定一个数组 prices &#xff0c;它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 …

【HTML】day01

列表 作用&#xff1a;布局内容排序整齐的区域。 列表分类&#xff1a;无序列表、有序链表、定义列表 无序列表 <ul><li>test</li><li>test</li><li>test</li><li><h1>h1</h1></li></ul><!DOCTYPE…

DolphinScheduler——奇富科技的调度实践

目录 一、技术架构 二、业务挑战 2.1 调度任务量大 2.2 运维复杂 2.3 SLA要求高 三、调度优化实践 3.1 重复调度 3.2 漏调度 3.3 Worker服务卡死 3.4 任务重复运行 四、服务监控 4.1 方法耗时监控 4.2 任务调度链路监控 五、用户收益 原文大佬的这篇调度系统案例…

【Gitee】创建第一个仓库并提交第一次代码

目录 第一步&#xff1a;注册登录 第二步&#xff1a;创建第一个仓库 1、我的工作台 → 创建我的仓库 2、填写内容 3、创建 第三步&#xff1a;第一次提交代码 1、参考资料 2、操作 2.1 idea创建项目 2.2 项目内容推送至远程 最后&#xff1a;平台相关资料库 第一步…

1.Zookeeper理论基础

1.Zookeeper的基本概念 是一个分布式应用协调框架 &#xff0c;java编写的。客户端 /服务端 的架构模式。CP设计(一致性&#xff0c;分区容错) 它主要是用来解决分布式应用中经常遇到的一些数据管理问题&#xff0c;如&#xff1a;服务注册服务、状态同步服务、集群管理、分布…

解决物理机装不上VMnet1和VMnet8的虚拟网卡问题

问题描述&#xff1a; 博主在使用虚拟机时&#xff0c;发现物理机的ping命令连接不上虚拟机&#xff0c;导致xshell软件也连接不上&#xff0c;最后发现问题是更改适配器设置中没有虚拟机的网卡&#xff08;VMnet1和VMnet8&#xff09;&#xff1a; 方法一&#xff1a; 博主搜…

虽然写了不少前端代码,但是我真没搞懂什么是 JavaScript

追溯到 1998 年第一次拥有个人电脑开始&#xff0c;JavaScript 可能是我最早接触的编程语言&#xff0c;不过这么多年过去了&#xff0c;我现在又变得迷糊了&#xff0c;我反倒搞不清楚什么是 JavaScript 了。 一、历史 JavaScript最早是由Brendan Eich在1995年发明的。当时&…

SPC 之 I-MR 控制图

概述 1924 年&#xff0c;美国的休哈特博士应用统计数学理论将 3Sigma 原理运用于生产过程中&#xff0c;并发表了 著名的“控制图法”&#xff0c;对产品特性和过程变量进行控制&#xff0c;开启了统计过程控制新时代。 什么是控制图 控制图指示过程何时不受控制&#xff…