RHCE

文章目录

  • 前言
  • DNS域名系统(Domain Name System)
  • DNS域名解析过程
  • DNS
    • 服务器类型
    • DNS解析答案
  • DNS协议的一种开源实现--bind
    • bind相关程序包
      • bind程序相关配置文件
      • 要点
  • 使用bind配置DNS服务器
    • 1、安装bind程序
    • 2、启动服务
    • 3、配置文件(/etc/named.conf)
    • 4、资源记录文件(/var/named/named.ca)
    • 资源记录名称:(数据库中的每一个条目)(importance face question)
      • 区域数据文件
      • TTL值
    • 5、主DNS服务器进行配置
    • 6、检查配置文件
    • 7、客户端验证(nslookup---Windows也可以使用)
    • vim /etc/resolv.conf(记录DNS地址,根据网卡IP参数得到DNS地址)
    • nmcli device show(查看本设备dns)

前言

RHCE-DNS


DNS域名系统(Domain Name System)

把网址转换为IP地址

域是名字空间中一个可被管理的划分

因特网在命名时采用的是层次树状结构的命名方法。

任何一个连接在因特网上的主机或路由器,都有一个唯一层次结构的名字——域名

分三大类:

  • 国家顶级域名:采用ISO3166的规定。如:cn代表中国、us代表美国、uk代表英国。国家域名又常记为CCTLD(cc表示contry-code)
  • 通用顶级域名:最常见的通用顶级域名有7个。即:com(公司企业)、net(网络服务机构)、org(非盈利组织)、int(国际组织)、gov(美国的政府部门)、mil(美国的军事部门)
  • 基础结构域名(infrastructure domain):这种顶级域名只有一个,即arpa,用于反向域名解析。因此称为反向域名。

机构:

  • IANA(the Internet Assigined Numbers Authority)互联网数字分配机构

  • ICANN(the Internet Corporation for Assigined names and Numbers)互联网名称与数字地址分配机构

如今全球一共投放13个根服务器
服务器主要用来管理互联网的主目录,全世界13台。一个为主根服务器,放置在美国。
其余12个为辅根服务器,其中9个放置在美国,欧洲12个,位于英国和瑞典,亚洲1个,日本。
所有根服务器均由美国政府授权的互联网域名与号码分配机构ICANN同一管理
13台根服务器可以指挥知名浏览器和电子邮件程序控制互联网通信
攻击整个因特网最有力、最直接的方式就是攻击根域名服务器
在与现有IPV4根服务器体系架构充分兼容基础上,由上一代互联网国家工程中心牵头发起的“雪人计划”于2016年在美国、日本、印度、俄罗斯、德国、法国等全球16个国家完成25台IPV6根服务器假设,实际上形成13台原有根服务器家25台IPV6根服务器的新格局,为建立多边、民主、透明的国际互联网治理体系打下坚实基础

DNS域名解析过程

客户端发出的查询都是递归查询

DNS服务器向外发出的查询一般都是迭代查询

Hosts是一个没有扩展名的系统文件,可以用记事本等工具打开,其作用就是将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应网页,如果没有找到,则系统会再将网址提交DNS域名解析服务器进行IP地址的解析。

  • 1、在浏览器中输入www.qq.com域名,操作系统会先检查自己本地的hosts文件是否有这个网址映射关系。如果有,先调用这个IP地址映射,完成域名解析

  • 2、如果hosts里没有这个域名的映射,则查找本地DNS解析器缓存,是否有这个网址映射关系,如果有,直接返回,完成域名解析。

  • 3、本地DNS解析器缓存都没有响应的网址映射关系,首先会找TCP/IP参数中设置的首选DNS服务器,我们叫本地DNS服务器。此服务器收到查询,且查询包含在本地配置区域资源中,则返回解析结果给客户机,完成域名解析。(此解析具有权威性)

  • 4、若查询的域名,不具有本地DNS服务器区域解析,但本地DNS服务器已缓存了此网址映射关系,则调用这个IP地址映射,完成域名解析。(此解析不具有权威性)

  • 5、本地DNS服务器本地区域文件与缓存解析都失效,则根据本地DNS服务器的设置(转发器)进行查询,如果没有采用转发模式,本地DNS就把请求发至13台根服务器,根DNS服务器收到请求后会判断这个域名(.com)是谁来授权管理。返回一个负责该顶级域名服务器的一个IP

  • 本地DNS域名服务器收到IP信息后,将会联系负责.com域的这台服务器。负责.com域的服务器收到请求后,若自己无法解析,就会找一个管理qq.com的DNS服务器地址给本地DNS服务器。

  • 当本地DNS服务器收到这个地址后,就会找qq.com域服务器,重复上面的动作,进行查询,直到找到www.qq.com主机

  • 6、若用的是转发模式,本地DNS服务器就会把请求转发至上一级DNS服务器,由上一级服务器进行解析,上一级服务器不能解析就转发到上上级,循环。

  • 找到最后结果返回给本地DNS,由此DNS服务器再返回给客户端。

114.114.114.114是国内移动、电信和联通通用的DNS,手机和电脑端都可以使用。
8.8.8.8是GOOGLE公司提供的DNS,该地址全球通用,相对来说,更适合国外以及访问国外网站的用户使用

FQDN:(Fully Qualified Domain Name)全限定域名:同时带有主机名和域名的名称。从全限定域名中包含的信息可以看出主机在域名树中的位置。
正向解析:FQDN--------IP(一对多)------一般使用正向解析
反向解析:IP------------FQDN

DNS

服务器类型

主DNS服务器:数据修改(接收用户请求返回数据)master

辅助DNS服务器:定期请求数据同步 slave

缓存DNS服务器:只缓存DNS数据 hint

转发服务器:缓存服务器去掉缓存功能 forward

DNS解析答案

当DNS客户端向DNS服务器发出解析请求时,不管是否能够查询到想要的结果,都会返回一个解析答案。

根据是否能够查询到想要的结果,可分为肯定答案和否定答案

根据解析答案是否由直接负责的DNS服务器返回,可分为权威答案和非权威答案

根据能否查询到想要的结果:

1、肯定答案:存在查询的键(key),并存在与其查询对应的值(value)
2、否定答案:不存在查询的键,因此,自然不存在与其查询键对应的值

根据解析肯定答案是否由直接负责的DNS服务器返回:

1、权威答案:由直接负责的DNS服务器返回的答案
2、非权威:不是由直接负责的DNS服务器返回的答案。(一般是由其他DNS服务器直接返回缓存的解析结果)

DNS协议的一种开源实现–bind

提供DNS服务的套件叫bind但执行服务名称是named

据统计,使用bind程序作为DNS服务器软件的DNS服务器大约占所有DNS服务器的九成

bind全程(Berkeley Internet Name Domain )当今互联网上的通信都必须借助于DNS服务器来解析主机名。

  • DNS协议的端口号53
  • 使用的传输层协议UDP TCP
  • 是正向解析
  • bind是DNS协议的一种开源实现
  • named是bind程序运行起来后的进程名

bind相关程序包

bind:提供dns server程序,以及几个常用的测试工具。 bind-utils:bind客户端程序集,例如提供dig,
nslookup等工具。 bind-libs:提供bind和bind-utils包中的程序共同用到的库文件。
bind-chroot:选装,让bind程序(named进程)运行于jail进程之下。

bind程序相关配置文件

/etc/named.conf 主配置文件

/etc/rndc.conf 相关配置文件

/var/named/zidingyi.zone(区域数据文件,需要手动配置)

/usr/sbin/named-checkconf(配置检查脚本工具)

/usr/sbin/named-checkzone(区域配置检查工具)

全球十三个根服务器的相关信息:

/var/named/named.ca(区域文件DNS数据库)

解析库文件:存放于/var/named目录下,一般名字为ZONE_NAME.zone

要点

  • 1、 一台DNS服务器可同时为多个区域提供解析:dns
  • 2、DNS服务器必须要有根区域解析库文件:named.ca
  • 3、DNS服务器还应该有两个区域解析库文件:localhost和127.0.0.1的正反向解析库
    正向解析库文件:/var/named/named.localhost
    反向解析库文件:/var/named/named.loopback

DNS在53端口上监听请求并提供响应的服务。

出于性能考虑,DNS查询请求用UDP协议交互并且每个请求的大小小于512字节,

如果返回的请求大小大于512字节,交互双方协会使用TCP协议。

使用bind配置DNS服务器

1、安装bind程序

yum install bind -y

2、启动服务

systemctl restart named.service

3、配置文件(/etc/named.conf)

vim /etc/named.conf

options {listen-on port 53 { 127.0.0.1; };                 监听本机需要写本机网卡IP地址   listen-on-v6 port 53 { ::1; };               IPV6directory       "/var/named";                     DNS主目录信息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";  内存缓存信息secroots-file   "/var/named/data/named.secroots";   安全认证recursing-file  "/var/named/data/named.recursing";   递归查询文件信息allow-query     { localhost; };                       允许请求recursion yes;dnssec-enable yes;dnssec-validation yes;managed-keys-directory "/var/named/dynamic";pid-file "/run/named/named.pid";session-keyfile "/run/named/session.key";/* https://fedoraproject.org/wiki/Changes/CryptoPolicy */include "/etc/crypto-policies/back-ends/bind.config";
};logging { 日志channel default_debug {         file "data/named.run";severity dynamic;};
};zone "." IN {    域type hint;                  根域的缓存服务器file "named.ca";              这个文件在/var/named
};include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

需要配置的信息(分号不能忘)

options{listen-on port 53 { 127.0.0.1; };       //监听指定主句端口directory  "var/named";                //配置主目录
};
zone "." IN {                                     //定义域结构type hint;                             //服务器类型master  slave   hint   forwardfile "named.ca";
//资源(数据)文件,通过DNS服务器加载到域名和IP的关联信息
};

option全局生效

其他的是局部生效named

4、资源记录文件(/var/named/named.ca)

vim /var/named/named.ca

使用dig工具将查询信息缓存到/var/named/named.ca文件

13台根服务器

资源记录名称:(数据库中的每一个条目)(importance face question)

SOA(起始授权记录) 记录提供有关dns区域工作方式的信息 -----具体负责哪个区域的解析 (指定权威服务器)

这代表着master/salve相关的认证,授权资料。不论有没有设定master/salve的架构都需要设定好。

==NS 将自己的域名映射到DNS 将域名最终映射到哪一台主机(标记本地 dns服务器) ==

A (ipv4地址记录) 资源记录将主机名映射到ipv4地址。

==CNAME (规范名称)记录域别名 ==

MX 邮件交换记录 —标记邮件服务主机名

PTR指针记录 将IPV4 IPV6地址映射到主机名 (用于反向DNS)

AAAA (IPV6 地址记录) 资源记录(四A记录)将主机名映射到ipv6地址。

/var/named/named.ca (数据文件----资源记录文件)

区域数据文件

资源记录包含的元素:

owner-name TTL class type(标记作用) date
主机名 资源记录生存时间 INTERNET A 记录存储数据(主机ip)

TTL值

(当外部DNS服务器对你的DNS这个域进行查询时,这个记录会放置在对方的DNS服务器几秒钟)

五种定义的信息
serial number: 序列号 定义当前使用的数据序列号 sn遵循“年+月+日+编号” ·

主和从的更新依据
refresh: 定义检查间隔时间 (上次和这次变化的时间)
retry: 重试时间 < 检查时间>
expire: 过期时间 (什么时候通过从服务器解析)
negative answer ttl: 否定答案的缓存时长 (没有指定生存期的数据可以保存在数据中的时间及TTL值)

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

5、主DNS服务器进行配置

进入vim /etc/named.conf主配置文件

options{listen-on port 53 { 192.168.5.130; };
directory "/var/named";
}zone "baidu.com" IN {                         配置二级域baidu.comtype master;                          将默认标记的缓存服务器标记为主服务器file "named.baidu.com";               资源记录文件
};

进入资源记录文件配置

vim /var/named/named.baidu.com

设置资源记录超时时长 1天

I D

资源信息(@表示主机名)

@ IN SOA @ admin.admin.com. (版本号2021042601 2D请求时长 1H再次发起请求信息 1D过期时间 1D否定答案的缓存时长)


重新进入后(注意版本号有范围)

TTL(time to live )生存时间——dns记录在dns服务器上的缓存时长

IN(INTERNET)输入标准

6、检查配置文件

[root@ZYBcomputer ~]# vim /etc/named.conf (检查主配置文件)

[root@ZYBcomputer ~]# named-checkzone baidu.com /var/named/named.baidu.com(检查资源文件)

7、客户端验证(nslookup—Windows也可以使用)

nslookup

敲完nslookup要通过server指定本地DNS服务器是自定义的DNS服务器才可以
(不写server 就会解析失败)

或者 dig -t A www.baidu.com

vim /etc/resolv.conf(记录DNS地址,根据网卡IP参数得到DNS地址)

编辑此文件是临时改变dns地址

因为每次获取dns时,重启电脑,重启网卡,基于网卡参数来获取DNS地址

nmcli device show(查看本设备dns)

或者图形界面


以后测试需要对本地DNS服务进行自定义

可以看到域名解析为自己指定的ip

DNS服务(域名系统、过程、bind、配置文件、查看本设备dns)相关推荐

  1. 第十八天 DNS服务原理及bind详细配置

    1.DNS服务原理详解 2.DNS服务原理详解 3.bind基本配置详解 一.DNS 服务 Domain name server 域名服务,工作在53号端口,查询时使用udp协议,传输时使用tcp协议 ...

  2. linux bind 分离 DNS,Linux智能DNS服务搭建之Bind服务(一)

    一.准备工作 1.DNS学前准备 学习目标: 1.了解原理:dns实现原理及实际dns应用 2.动手搭建:掌握Bind服务的搭建过程及DNS测试方法 3.深入学习:dns负载均衡实现 4.掌握应用:只 ...

  3. 搭建DNS服务,正向解析和反向解析搭建DNS服务器

    搭建DNS服务器 DNS系统在网络中的作用:维护着一个地址数据库,其中记录了各种主机域名与IP地址的对于关系,以方便为客户程序提供正向或反向的地址查询服务,即正向解析与方向解析. 正向解析:将指定的域 ...

  4. linux安装DNS服务命令,Linux下的安装和配置DNS服务器

    Linux下的安装和配置DNS服务器 发布时间:2008-09-08 17:03:00   作者:佚名   我要评论 在Linux操作系统中使用BIND (Berkeley Internet Name ...

  5. 服务器DNS服务是否自动安装,DNS服务器之一:DNS简介及BIND安装与基本配置 | 旺旺知识库...

    1.什么是DNS? 域名系统(英文:Domain Name System,DNS)是因特网的一项服务,它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网.DNS 使用TCP和 ...

  6. Linux DNS服务配置与管理详解

    域名系统 DNS 本章内容 -名字解析介绍 -DNS服务工作原理 -实现主服务器 -实现反向解析区域 -实现从服务器 -实现子域 -实现转发 -实现智能DNS -DNS排错 -实现Internet 的 ...

  7. DNS服务详解(解析+搭建)

    文章目录 详解DNS服务的搭建与解析 参考阅读 前言 一.解析过程 1.1 层级架构 1.2 解析过程 二.DNS服务器的搭建 2.1 配置文件 2.2 搭建步骤 [基础-DNS服务器] [进阶-主从 ...

  8. Linux基础篇之DNS服务的部署

    文章目录 关于dns的名词解释 关于客户端: 关于服务端 host命令 dig命令 A记录 SOA 基本解析方式 关于报错信息: dns服务的安装与启用 安装 启用 高速缓存dns dns的正向解析 ...

  9. Linux配置DNS服务实验

    简介 DNS服务器,也称为域名解析服务器.DNS 服务器将域名解析出来,找到域名对应的ip地址的服务,可以高速缓存从其他 DNS 服务器收到的 DNS 记录,通过主机名最终得到该主机名对应的IP地址的 ...

最新文章

  1. 如何获取公众号中html,[技巧] 如何获取公众号图文里的视频地址
  2. hdu4908 中位数子串
  3. ubuntu安装SSH2
  4. Python如何发布程序
  5. python异步io 队列_python 学习笔记九 队列,异步IO
  6. java逆向_Java逆向基础之异常
  7. phpgif图片包_PHP生成GIF动态图片验证码
  8. 集成 websocket 的四种方案
  9. php7 memcached sasl,Mac安装memcached扩展支持sasl
  10. c#获取屏幕上某坐标点的颜色
  11. NodeJS基础2---1 Promise小球运动
  12. 微信小程序云开发教程-产品原型的意义
  13. 一次非常成功的项目经验分享和糟糕项目的对比
  14. 计算机毕业设计网吧管理,毕业设计50河北大学计算机毕业设计网吧管理系统.doc...
  15. denseNet 详解
  16. 知道焊缝长度如何确定节点板尺寸_钢结构节点板(钢结构节点板尺寸如何选取)...
  17. python网络爬虫实战——实时抓取西刺免费代理ip
  18. A69G-HDMI问题解决集锦
  19. 四川大学计算机网络实验,四川大学计算机网络实验报告
  20. LibreELEC 10.0.2发布

热门文章

  1. 非典型文字描边效果的实现方法
  2. Java读取hdfs文件权限问题
  3. Cisco 2960 3750交换机端口流量限速(QOS)
  4. java什么是this_java中的this是什么
  5. 银河战舰的最后一门重炮──C罗
  6. python工程师工资一般多少-Python工程师的薪资到底有多高
  7. python工程师都习惯用哪些开发工具呢
  8. python无法正常启动0xc000007b_应用程序无法正常启动(0xc000007b)。
  9. 网络安全基础(十二)
  10. python数据采集8-自然语言处理