配置 DNS基础服务

一、DNS原理

解析过程

  1. 用户在浏览器中输入域名,例如“www.example.com”。
  2. 浏览器检查自身缓存中是否有该域名对应的 IP 地址。如果有,则直接使用该 IP 地址访问网站。
  3. 如果浏览器缓存中没有,操作系统会检查本地的 hosts 文件,查看其中是否有域名与 IP 地址的映射记录。
  4. 若本地 hosts 文件中也没有,操作系统会向本地配置的 DNS 服务器发送 DNS 查询请求。
  5. 本地 DNS 服务器收到请求后,首先检查自身缓存中是否有该域名的解析记录。如果有,则直接返回对应的 IP 地址。
  6. 如果本地 DNS 服务器缓存中没有,它会代替用户设备开启迭代查询,从根域名服务器开始递归,按照域名的层次结构逐步向下查询。
  7. 根域名服务器返回顶级域名(如.com )服务器的地址。
  8. 本地 DNS 服务器向顶级域名服务器发送查询请求。
  9. 顶级域名服务器返回权威域名服务器(即负责该域名的服务器)的地址。
  10. 本地 DNS 服务器向权威域名服务器发送查询请求。
  11. 权威域名服务器查询到域名对应的 IP 地址,并将其返回给本地 DNS 服务器。
  12. 本地 DNS 服务器将获取到的 IP 地址返回给用户的计算机。
  13. 浏览器使用获取到的 IP 地址与服务器建立连接,从而访问网站。

查询方式

递归查询            

直接把结果给客户端

迭代查询

如果知道结果,把结果告诉客户端,如果不知道结果,会把查询转发到下一台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 "fqsb.com." 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
vim /var/named/fqsb.com.zone
chown root:named /var/named/fqsb.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
​
systemctl status named service
 vim /etc/resolv.conf  

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

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

相关文章

任天堂称未来第一方游戏不会使用生成式AI

虽然EA、育碧、暴雪、Embracer等西方游戏厂商都大力支持生成式AI技术,但日本老牌游戏公司任天堂并不会追随这一步伐。任天堂已经确认该公司未来的第一方游戏不会使用生成式AI技术。 在公司最近的投资人问答会上,任天堂描绘了公司未来游戏愿景。在谈到AI技…

秋招突击——7/5——设计模式知识点补充——适配器模式、代理模式和装饰器模式

文章目录 引言正文适配器模式学习篮球翻译适配器 面试题 代理模式学习面试题 装饰器模式学习装饰模式总结 面试题 总结 引言 为了一雪前耻,之前腾讯面试的极其差,设计模式一点都不会,这里找了一点设计模式的面试题,就针对几个常考…

图书馆数据仓库

目录 1.数据仓库的数据来源为业务数据库(mysql) 初始化脚本 init_book_result.sql 2.通过sqoop将mysql中的业务数据导入到大数据平台(hive) 导入mysql数据到hive中 3.通过hive进行数据计算和数据分析 形成数据报表 4.再通过sq…

一次建表语句触发的ORA-600报错分析

​ 某次在客户Oracle数据库执行一条建表语句时,报出ORA-600错误。 报错代码如下: ORA-00600: 内部错误代码, 参数: [rwoirw: check ret val], [], [], [], [], [], [], [], [], [], [], [] 相关的建表语句如下: ​ 在报错发生后,…

研0学习Python基础4

1.数组是一种存储大量同性质数据的连续内存空间,只要使用相同的变量名称,便可以连续访问 每一组数据。由于数组元素的便利性,使得大多数程序中都可以看到数组的身影。数组是一 个带有多个数据且模式相同的元素集合。比如,数值所…

Python + 在线 + 文生音,音转文(中文文本转为英文语音,语音转为中文文本)

开源模型 平台:https://huggingface.co/ars-语言转文本: pipeline("automatic-speech-recognition", model"openai/whisper-large-v3", device0 ) hf: https://huggingface.co/openai/whisper-large-v3 github: https://github.com/openai/wh…

详细的讲解一下网络变压器应用POE ,AT BT AF BF的概念,做电路连接指导分析

网络变压器在应用POE(Power over Ethernet)技术时,承担着重要的角色。它不仅负责数据的传输,同时也为网络设备提供电力。在IEEE 802.3标准中,定义了几个与POE相关的标准,包括802.3af、802.3at、802.3bt等&a…

AWS云服务器的竞争优势

亚马逊网络服务(AWS)作为全球最大的云计算平台,在激烈的市场竞争中一直保持领先地位。相较于其他云服务提供商,AWS云服务器具有多方面的显著优势,使其成为众多企业和开发者的首选,我们结合九河云的分析一起…

2024攻防演练:亚信安全新一代WAF,关键时刻守护先锋

实网攻防 网络安全如同一面坚固的盾牌,保护着我们的信息资产免受无孔不入的威胁。而其中,WAF就像网络安全的守门员,关键时刻挺身而出,为您的企业筑起一道坚实的防线。 攻防不对等 防守方实时应答压力山大 在攻防对抗中&#xf…

SpringBoot整合Dubbo的快速使用教程

目录 一、什么是Dubbo? 二、SpringBoot整合Dubbo 1、父工程引入依赖 2、各个Dubbo服务子模块引入依赖 3、服务提供者 (1)启动类添加注解EnableDubbo (2)服务类添加注解DubboService (3)配置文件…

Linux系统的基础知识和常用命令

1、什么是Linux? 是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯本纳第克特托瓦兹于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行…

C++学习笔记二

一、常量 1.用const关键字声明常量变量 const常量变量在定义时必须进行初始化,并且不能通过赋值来改其值 const double gravity { 9.8 }; //首选在类型之前使用const int const sidesInSquare { 4 }; // “east const”风格,可以,但不是首…

Java实习手册(小白也看得懂)

秃狼说 距离俺发布的学习路线已经六个月了,那我给小伙伴的学习周期是四五个月左右,我相信大多的小伙伴已经学习的差不多了。正好赶上暑期实习的阶段,在暑期找到实习就成为暑期的头等大事。 实习经验在校招的起到决定性的作用,所…

单元测试Spring 上下文加载过程中遇到的阻塞或死锁问题

IDEA单元测试一直转圈,阻塞,前置后置的方法都不执行,无任何输出 1.单元测试类 SpringBootTest(classes {BareMetalApplication.class}) RunWith(SpringRunner.class) public class K8sUserNfsStoreInitServiceImplTest {BeforeEachpublic…

国家力推!国家人工智能产业标准化指南

在科技日新月异的今天,人工智能(AI)作为推动社会进步和产业升级的关键力量,正以前所未有的速度改变着我们的世界。从自动驾驶到智能制造,从智慧医疗到金融科技,人工智能的触角已经深入到了经济社会的各个角…

三万字带你一遍跑通uer

三万字带你一遍跑通uer 参考文档 今天给大家介绍个非常强大的项目uer,集成了许多可以做自然语言的东西,效果的话也非常好,很适合企业级的应用! 1. 先将项目uer从github拉取下来(zip或git都ok) 2. 用pycha…

linux查看当前文件夹的剩余空间

要查看当前文件夹所在的文件系统的剩余空间,并以GB为单位显示,可以使用以下命令: df -BG .其中: B:用于指定块大小(block size)。你可以通过指定后缀来改变输出的单位,如K&#xf…

船舶雷达与导航系统选择7/8防水插座的原因分析

概述 船舶雷达与导航系统在现代航海中扮演着至关重要的角色,它们为船舶提供准确的导航信息,确保航行的安全和效率。在这些系统中,7/8防水插座的使用尤为重要,因为它们能够在恶劣的海上环境中提供稳定的电力和信号连接。接下来&am…

Finding Global Homophily in Graph Neural Networks When Meeting Heterophily

本文发表于:ICML22 推荐指数: #paper/⭐⭐⭐ 问题背景: 异配图的邻接矩阵难以确定,以及异配图的计算复杂度开销大 可行的解决办法:高通滤波多跳邻居,GPRGNN(pagerank一类,各阶邻居的权重不同,ACM-GCN(高低通滤波,H2GCN(应该复杂度很大&…

《梦醒蝶飞:释放Excel函数与公式的力量》8.8 STDEVP函数

8.8 STDEVP函数 STDEVP函数是Excel中用于计算总体数据的标准偏差的函数。标准偏差是统计学中的一个重要指标,用于衡量数据集中各数值偏离平均值的程度。总体标准偏差考虑了整个数据集,而不是样本。 8.8.1 函数简介 STDEVP函数用于返回总体数据的标准偏…