DNS服务器原理及配置

域名讲解

  • www.baidu.com 完整的域名,通常.来进行分割三个部分;www是主机名,baidu是域名,com是类型
  • 主机名 + 域名 + 类型 构成完整的域名
DNS服务器分为以下几种:
- "." :完整网址中最后的那个 ".",代表DNS的根服务器,根服务器是DNS服务器中最上层的服务器,分布在全球,其中保存着该区域的所有类型的DNS服务器的ip地址
- com:是一个DNS类型
- baidu.com:baidu为域名,是com的下级dns服务器,里面保存着域名为baidu.com的所有主机对应的ip地址 DNS服务器的两种查询模式:
- 递归查询:到一个dns服务器查询到结果后就将结果返回给查询者,查询者再去查询别的DNS服务器,一次次的查询知道返回结果
- 循环查询:查询者向一个DNS服务器发起查询后由这个DNS服务器去查询别的服务器A,A又去查询服务器B,回到找到结果,然后返回给B,B返回给A,A在返回查询者
概念
  • DNS:Domain Name System 域名解析系统,作为域名和ip地址相互映射的一个分布式数据库,能够使得用户可以方便的访问互联网的过程称为域名解析
  • DNS协议运行在UDP协议之上,使用端口号为53.
  • 功能:每个ip地址都有一个主机名,主机名由一个或多个字符串组成,字符串之间用小数点隔开。
DNS映射方式
  • 静态映射:每台上都配置主机到IP地址的映射,各设备独立维护自己的映射表,而且只供本设备使用。
  • 动态映射:建立一套域名解析系统(DNS),只在专门的DNS服务器配置主机到IP地址的映射,网络上使用主机名通信的设备,需要在DNS服务器上查询主机对应的IP地址,通过主机名最终得到该主机对应的IP地址过程称为域名解析。
DNS常用资源记录类型
  • A:地址,此记录列出特定主机名的IP地址,是名称解析的重要记录
  • CNAME:标准名称,此记录指定标准主机名的别名
  • MX:邮件交换服务器,此记录列出了负责接收到域中的电子邮件的主机
  • NS:名称服务器,此记录指定负责给定区域的名称服务器
DNS服务器类型
  • 缓存服务器:缓存dns信息,提供服务给用户查询,不能自定义域名配置进行解析
  • 主DNS服务器:负责解析本地客户端请求
  • 辅助DNS服务器:辅助服务器的区域数据都是从主服务器复制而来,其数据都是只读的
dig命令详解
  • 语法:dig -t 资源记录类型 名称 @server-ip
  • 工作机制:不加@server-ip,根据/etc/resolv.conf配置的解析文件类查询
  • 加@server-ip:根据指定的DNS服务器来解析,绕过了本地解析库设置的DNS服务器
常用命令组合
dig -x IP @server-ip 查询反向解析
dig -t 资源记录类型 名称 trace 追踪解析的过程

DNS服务器的搭建

# DNS服务器安装bind、bind-chroot、bind-utils;bind-chroot会生成一个伪根目录
# yum install -y bind bind-utils bind-chroot # 编辑配置文件/etc/named.conf
# vim /etc/named.conf
options {
// listen-on port 53 { 127.0.0.1; }; #注释此行 //也可修改为dns服务器的ip地址或者any
// listen-on-v6 port 53 { ::1; }; #注释此行
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";
recursing-file "/var/named/data/named.recursing";
secroots-file "/var/named/data/named.secroots";
// allow-query { localhost; }; #注释此行 //也可设置为any # 启动named服务
# systemctl start named
# systemctl enable named
# netstat -ntlp #查看是否启动 # 编辑区域配置文件
# 文件位置: /etc/named.rfc1912.zones
# vim /etc/named.rfc1912.zones
新建区域:
# 配置正向解析
zone "dong.com" IN {
type master;
file "dong.com.zone";
};
# 配置反向解析;反向解析的区域名称:reverseIP.in-add.arpa
zone "1.168.192.in-addr.arpa" IN {
type master;
file "1.168.192.zone";
}; # 检查配置文件的语法
# named-checkoutconf /etc/named.conf
# named-checkoutzone zonename filename # 创建区域数据文件
# cp -p /var/named/named.localhost dong.com.zone #复制模板文件
# cd /var/named/ # 正向解析配置
# vim dong.com.zone
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
IN NS @
IN A 192.168.1.10
www IN A 192.168.1.10
文件详解:
SOA是start Of Authority开始验证的意思,与域有关,后面接的7个参数及含义
1>master DNS服务器主机名,即在这个域中哪个DNS作为主服务器
2>管理员的email,即出现问题可给管理员发送邮件
3>序号,这个序号代表数据库档案的陈旧,序号越大,代表越新
4>刷新频率 refresh,即slave向master要求数据更新的频率
5>失败重新尝试时间 retry,如果因为某些因素,导致slave无法对master达成联机,那么在多久的时间内,salve会尝试重新联机到master
6>失效时间 expire,如果一直失败尝试时间,持续联机到达这个设定值时,那么slave将不在继续尝试联机
存活时间minimum ttl,如果在这个数据库zone file中,每笔记录都没有显性设定ttl快取时间的话,那么就以这个值为主
区域配置文件格式:
[名称] [TTL] [网络类型] 资源记录类型 数据
名称:指定资源记录引用的对象名,可以是主机名,也可以是域名。对象名可以是相对名称也可以是完整名称。完整名称必须以点结尾。当前域名为google,则表示www主机时,完整名称为www.google.com,相对名称为www
TTL:指定资源记录存在缓存中的时间,单位为秒。若省略,则使用文件开始的TTL所定义的时间
网络类型:常用的IN资源记录类型:SOA、NS、A、PTR、MX、CNAME;一般情况下SOA记录第一行,NS记录第二行,接着MX记录。
通常用SOA记录@,表示当前域 # vim /var/named/1.168.192.zone
$TTL 1D
@ IN SOA dong.com. admin.dong.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
IN NS dong.com.
10 IN PTR dong.com. # 重启dns服务
# systemctl restart named
# 添加防火墙
# firewall-cmd --add-service=dns --permanent
# firewall-cmd --reload
# firewall-cmd --list-all # 使用命令解析
# nslookup www.dong.com
# dig -t A www.dong.com @192.168.1.10

DNS服务器配置总结

  • 每个DNS服务器必须要有一个对应的NS资源记录
  • 创建slave的时候,其配置文件类型必须是type slave,必须制定主服务器的IP地址
  • 可以使用 dig -t axfr test.com @server_ip 从主DNS服务器拉取所解析库资源记录
  • 主从同步完成后,将自动在slave服务器上的slave/目录下生成zone文件,这些区域文件是从主DNS同步过来的,一般只读
  • 在主DNS上修改区域文件时,必须将SOA记录的serial加1因为slave是通过serial值进行判断更新的
  • DNS的日志默认保存在/var/log/message文件中
  • DNS解析依赖于解析库
  • 正向解析里面没有PTR记录,反向记录库里面不需要A 、MX 和CNAME记录

区域传送原理

区域传送
  • dns从服务器是容错设计,一旦dns主服务出现故障或因负载太重无法及时响应客户机请求,从服务器将挺身而出代理主服务器。从服务器的区域数据都是从主服务器复制而来的,因此从服务器的数据都是只读的。
  • slave从master复制区域数据的过程叫做区域传送,区域传送使用的TCP的53端口
  • 区域传送的类型:完全区域传送(AXFR) 增量区域传送(IXFR)

DNS服务的安装的更多相关文章

  1. DNS服务详解

    DNS服务 目录: 一.DNS原理 二.DNS服务的安装与配置 三.DNS信息收集 一.DNS原理 1.hosts文件与DNS服务器 1.1hosts文件 目录:C:\WINDOWS\system32 ...

  2. Windows中的DNS服务——正向解析&反向解析配置 分类: AD域 Windows服务 2015-07-16 20:21 19人阅读 评论(0) 收藏

    坚信并为之坚持是一切希望的原因. DNS服务是AD域不可或缺的一部分,我们在部署AD域环境时已经搭建了DNS服务(windows server 2008 R2域中的DC部署),但是DNS服务的作用还是 ...

  3. DNS服务-主从架构搭建

    为了网站的可靠性,通常都会有多个DNS服务器,万一DNS服务器宕机了,可以实现DNS服务器容错 通常都会有一个主DNS服务器,后面配若干个辅助DNS服务器,这个主DNS服务器的数据库会同步给其他的DN ...

  4. windows虚拟机中DNS服务配置

    在linux虚拟机中进行DNS服务配置并进行正向解析反向解析我博客中已经写过,下面 我来介绍一下在windows虚拟机中DNS服务的配置使用. 1.打开一台windows虚拟机中服务器管理器——角色— ...

  5. linux之DNS服务

    1.DNS (Domain Name Service 域名解析) DNS是因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网而不需要记忆能够直接被机器识别的IP. BI ...

  6. Linux_配置主DNS服务(基础)

    [RHEL8]-DNSserver:[Centos7.4]-DNSclient !!!测试环境我们首关闭防火墙和selinux(DNSserver和DNSclient都需要) [root@localh ...

  7. RHEL6安装配置DNS服务

    RHEL6安装配置DNS服务 作者:Eric 微信:loveoracle11g 安装软件包 [root@rac1 ~]# yum -y install bind bind-chroot caching ...

  8. centos DNS服务搭建 DNS原理 使用bind搭建DNS服务器 配置DNS转发 配置主从 安装dig工具 DHCP dhclient 各种域名解析记录 mydns DNS动态更新 第三十节课

    centos  DNS服务搭建  DNS原理  使用bind搭建DNS服务器 配置DNS转发 配置主从  安装dig工具  DHCP  dhclient  各种域名解析记录  mydns DNS动态更 ...

  9. Liunx下配置DNS服务

    当Ping 主机名时可以映射出该主机的IP地址,反之亦然.配置并指定DNS服务器可以快速部署集群,不需要每台主机都去修改HOSTS文件即可实现IP与主机名的相互解析.而在Linux下的DNS是用bin ...

随机推荐

  1. 跳马(Knight Moves), ZOJ1091, POJ2243 x

    跳马(Knight Moves), ZOJ1091, POJ2243 题目描述: 给定象棋棋盘上两个位置 a 和 b,编写程序,计算马从位置 a 跳到位置 b 所需步数的最小值. 输入描述: 输入文件 ...

  2. Ubuntu redis 实战 持久化策略 主从复制 以及 故障恢复

    推荐文章 redis数据结构学习 redis持久化 redis主从复制 redis哨兵

  3. GeoServer-2.12安装MbTiles扩展插件

  4. 从源码编译UE4,加快Setup.bat下载文件的环节

    之前很傻,每次运行这个setup.bat都要等很久很久才能把4g多的东西下载完成,知道有一天突然发现了世外桃源…… 从命令行运行setup.bat -help,可以看到参数的说明(没错,参数可选,之前 ...

  5. 解决IDEA输入法输入中文候选框不显示问题(亲测谷歌拼音完美解决问题)

    解决方法:关掉idea,进入idea的安装目录找到jre64文件夹重命名为jre642(随便什么名字都行)如下图 然后找到jdk安装目录下的jre文件复制到上图idea的安装目录下并改名为jre64 ...

  6. 10.6 Comment Syntax

    w https://dev.mysql.com/doc/refman/5.7/en/comments.html MySQL 5.7 Reference Manual  /  Language Stru ...

  7. 主流架构 : MVP

    1 背景 MVC 平时开发APP时会发现,activity职责非常重.以MVC角度来看: M:model数据操作层(网络请求,耗时操作,数据存取,其他逻辑操作) V:view,指xml布局文件,其实并 ...

  8. day57——ajax之初体验

    转行学开发,代码100天——2018-05-12 今天是一个特别的日子——首先是母亲节,在此也祝福亲爱的妈妈健康长寿.其次今天是汶川大地震10周年,10年过去了,经历过苦难的人更加坚毅勇敢地面向未来! ...

  9. python2.7+appium第一个脚本(使用夜神模拟器)

    搭建好环境后,可以开始准备脚本的编写工作 目录 1.安装夜神模拟器 2.使用uiautomatorviewer定位 3.运行第一个脚本 1.安装夜神模拟器 第一步:官网下载夜神模拟器,完成安装 双击下 ...

  10. Week1 - 169.Majority Element

    这周刚开始讲了一点Divide-and-Conquer的算法,于是这周的作业就选择在LeetCode上找分治法相关的题目来做. 169.Majority Element Given an array ...