第六章 DNS域名解析服务器

ops/2024/11/29 5:37:42/

一、DNS简介

DNS: 是互联网上的一项服务,作为将域名和 IP 地址相互映射的一个分布式数据库,能够使人更方便的访问互联网。 
DNS 系统使用的是网络的查询,需要有监听的 port, 使用 53 端口。
1 )因特网的域名结构
由于因特网的用户数量较多,所以因特网在命名时采用的是层次树状结构的命名方法。
任何一个连接在因特网上的主机或路由器,都有一个唯一的层次结构的名字,即域名(是名字空间中一个可被管理的划分)
域名分类:
  • 国家顶级域名:采用 ISO3166 的规定
    国家域 名又常记为 ccTLD( cc 表示国家代码 contry-code)
  • 通用顶级域名:最常见的有 7
com 公司企业
net 网络服务机构
org非营利组织
int  国际组织
gov美国的政府部门
mil美国的军事部门
  • 基础结构域名 :只有一个 arpa ,用于反向域名解析

 2)域名服务器的类型划分:顶级域名,二级域名,三级域名,四级域名

根据域名服务器起的作用,域名服务器可划分为以下类型:
  • 根域名服务器:最高层次的域名服务器,最重要的域名服务器
                             假定所有的根域名服务器都瘫痪了,那么整个
    DNS系统就无法工作
                             根域名服务器并不直接把待查询的域名直接解析出 IP 地址,而是告诉本                           地域名服务器下一 步应当找哪一个顶级域名服务器进行查询
  • 顶级域名服务器:负责管理在该顶级域名服务器注册的二级域名
  • 权限域名服务器:负责一个 的域名服务器
  • 缓存 DNS服务器:不负责解析域,只是缓存域名解析的结果
  • 主从DNS服务器为了提高域名服务器的可靠性,DNS域名服务器都把数据复制到几个                               域名服务器来保存,其中的一个就是主DNS服务器,负责解析至少一                               个域。
                                 
    其他的是辅助(从)DNS服务器:负责解析至少一个域,是主DNS服                               务器的辅助。当主域名服务器出故障时,辅助域名服务器可以保证                                   DNS的查询工作不中断。主域名服务器定期把数据复制到辅助域名                                   服务器中,更改数据只能在主域名服务器中进行保证数据的一致性。
  • 本地域名服务器:不属于域名服务器的层次结构,但对域名系统非常重要

二、DNS域名解析的过程

DNS 解析方式 :
正向解析:FQDN → IP
反向解析: IP → FQDN

 三、DNS服务器配置

提供 DNS 服务的软件叫 bind ,服务名是 named
[root@localhost ~]# yum install bind -y
[root@localhost ~]# rpm -ql bind
/etc/named.conf # bind主配置文件
/var/named/slaves # 从dns服务器文件夹
[root@localhost ~]# vim /etc/named.conf
options {
        #定义监听端口,如果所有地址都监听,则只写端口
        listen-on port 53 { 127.0.0.1; };
        listen-on-v6 port 53 { ::1; };
        #定义数据文件目录
        directory "/var/named";
        #只允许本地主机进行查询
        allow-query { localhost; };
};
#定义区域
zone "." IN {
        type hint;
        file "named.ca";
};
配置 DNS 正向解析
# 主配置文件
[root@localhost ~]# vim /etc/named.conf
options {
        #监听端口为53,大括号内数据内容可以为any
        listen-on port 53 { any; };
        directory "/var/named";
};
zone "baidu.com" IN {
        type master;
        file "named.baidu.com";
};

 时间单位:M(分钟),H(小时),D(天),W(周),默认是秒

[root@localhost ~]# vim /var/named/named.baidu.com
$TTL 1D
@ IN SOA @ admin.baidu.com. ( 0 1D 1H 1W 3H )
IN NS ns.baidu.com.
IN MX 10 mail.baidu.com.
ns IN A 172.24.8.128
mail IN A 172.24.8.128
www IN A 172.24.8.128
ftp IN CNAME www
[root@localhost ~]# systemctl restart named
[root@localhost ~]# systemctl disable firewalld --now
[root@webserver ~]# setenforce 0
#客户端测试
host [-a] FQDN [server]
nslookup [FQDN] [server]
dig [options] FQDN [@server]
options:+trace代表从.开始追踪;-t type查询的数据主要有MX、NS、SOA、A等类型;-x查
询反解信
[root@localhost ~]# host www.baidu.com 172.24.8.128
[root@localhost ~]# nslookup www.baidu.com 172.24.8.128
[root@localhost ~]# dig -t A www.baidu.com @172.24.8.128
常见的正解文件 RR 相关信息:
domain
IN
RR type 
RR data
主机名 .
IN
A
IPv4 IP 地址
主机名 .
IN
AAAA
IPv6 IP 地址
域名 .
IN
NS
管理这个域名的服务器主机名字,即由哪一台主机去解析当前所定义的域主机
域名 .
IN
SOA 起始授权记录
管理这个域名的七个重要参数
域名 .
IN
MX
顺序数字,接收邮件的服务器主机名字
主机别名.
IN
CNAME
实际代表这个主机别名的主机名字
SOA 主要是与区域有关,所以 domain 要写域名。而 SOA 后面会接七个参数
七个参数的意义如下:
  • Master DNS 服务器主机名:这个区域主要是哪台 DNS 作为 Master 的意思
  • 管理员的 Email ,发生问题可以联系这个管理员。由于 @ 在数据库文件中有特殊含义,所以将用 “.”,代替@
  • 序号( Serial ),这个序号代表的是这个数数据库文件的新旧,序号越大代表越新。所以当你更改
    了数据库内容时,需要将这个数值放大。
  • 更新频率( Refresh )定义 slave 多久向 Master 要求数据更新
  • 失败重新尝试时间( Retry ),如果 Slave 无法对 Master 实现连接,那么在多长时间内, Slave 会尝试重新连接到Master
  • 失效时间( Expire ),如果一直尝试失败,持续连接到达这个设置值时限,那么 Slave 将不再继续尝试连接,并且尝试删除这份下载的zone file 信息。
  • 缓存时间( Minumum TTL ),如果这个数据库 zone file 中,每条记录都没有写到 TTL 缓存时间的话,那么就以这个SOA 的设置值为主。 ttl 的意思是当这笔记录被其他 DNS 服务器查询到后,这个记录会在对方DNS 服务器的缓存中,保持多久时间。如果写了 $TTL ,则以该值为准。
反向解析
[root@localhost ~]# vim /etc/named.conf
zone "8.24.172.in-addr.arpa" IN {
        type master;
        file "named.172.24.8";
};
#反向区域文件
[root@localhost ~]# vim /var/named/named.172.24.8
$TTL 1D
@ IN SOA ns.baidu.com. admin.baidu.com. ( 0 1D 1H 1W 3H )
IN NS ns.baidu.com.
128 IN PTR ns.baidu.com.
128 IN PTR www.baidu.com.
128 IN PTR mail.baidu.com.
128 IN PTR ftp.baidu.com.
#反解需要注意:主机名尽量使用完整的FQDN,即要写上“.”
#客户端测试
[root@localhost ~]# host 172.24.8.128 172.24.8.128
[root@localhost ~]# nslookup 172.24.8.128 172.24.8.128
[root@localhost ~]# dig -x 172.24.8.128 @172.24.8.128


http://www.ppmy.cn/ops/137577.html

相关文章

MySQL底层概述—5.InnoDB参数优化

大纲 1.内存相关参数优化 (1)缓冲池内存大小配置 (2)配置多个Buffer Pool实例 (3)Chunk(块)大小配置 (4)InnoDB缓存性能评估 (5)Page管理相关参数 (6)Change Buffer相关参数优化 2.日志相关参数优化 (1)日志缓冲区相关参数配置 (2)日志文件参数优化 3.IO线程相关参数…

全面预算的几个point

1.预算组织架构 既可以是按照公司实际的组织架构设置,也可以是虚拟的组织架构,类似委员会形式 2.预算的流程 具体的预算是自上向下,抑或是自底向上,或者是针对不同的预算指标,既有自顶向下,也有自底向上…

springboot/ssm高校超市管理系统Java商品出入库供应商管理系统web源码wms

springboot/ssm高校超市管理系统Java商品出入库供应商管理系统web源码wms 基于springboot(可改ssm)vue项目 开发语言:Java 框架:springboot/可改ssm vue JDK版本:JDK1.8(或11) 服务器:tomcat 数据库&a…

继承与多态(下)

目录 一.关键字final 1.修饰变量 2.修饰方法 3.修饰类 二.继承与组合 三.多态 1.方法重写 2.方法重载(严格上来说非多态) 3.向上转型 4.向下转型 5.向上向下转型综合例子 四.重载和重写的区别 一.关键字final 在 Java 中,final关键字是一个修饰符&#…

贝叶斯统计:高斯分布均值μ的后验分布推导

使用贝叶斯统计方法 均值 ( μ \mu μ ) 的后验分布解析 在贝叶斯统计中,后验分布表示在观察到数据后,对参数的更新后的信念。本篇文章将结合高斯分布的假设,详细解析均值 ( μ \mu μ ) 的后验分布推导过程,并对 ( μ \mu μ…

一个关于 CSS Modules 的陷阱

我在引用 less 文件样式的时候&#xff0c;发现 index.less .drag_upload {width: 100%;height: 90vh;padding: 20px; }index.jsx import React, { useState, useEffect } from react; import styles from ./index.less;export default ({ }) > {return (<div classNa…

C++ —— 以真我之名 如飞花般绚丽 - 智能指针

目录 1. RAII和智能指针的设计思路 2. C标准库智能指针的使用 2.1 auto_ptr 2.2 unique_ptr 2.3 简单模拟实现auto_ptr和unique_ptr的核心功能 2.4 shared_ptr 2.4.1 make_shared 2.5 weak_ptr 2.6 shared_ptr的缺陷&#xff1a;循环引用问题 3. shared_ptr 和 unique_…

太通透了,Android 流程分析 蓝牙enable流程(应用层/Framework/Service层)

零. 前言 由于Bluedroid的介绍文档有限&#xff0c;以及对Android的一些基本的知识需要了(Android 四大组件/AIDL/Framework/Binder机制/JNI/HIDL等)&#xff0c;加上需要掌握的语言包括Java/C/C等&#xff0c;加上网络上其实没有一个完整的介绍Bluedroid系列的文档&#xff0…