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. luogu P1037 产生数 x

    P1037 产生数 题目描述 给出一个整数 n(n<10^30) 和 k 个变换规则(k<=15). 规则: 一位数可变换成另一个一位数: 规则的右部不能为零. 例如:n=234.有规则( ...

  2. sqlserver高版本往低版本迁移

    本例为sql2012 还原到sql2008. 要实现的功能是把sql2012的数据库备份到sql2008,数据库名字为Test,并且这两个数据库在不同的电脑中. 微软的软件设计方案基本上都是新版本兼容 ...

  3. 利用python进行数据分析--pandas入门1

    随书练习,第五章  pandas入门1 # coding: utf-8 # In[1]: from pandas import Series, DataFrame # In[2]: import pa ...

  4. SQL ORDER BY 两个列

    ORDER BY  后可加2个字段,用英文逗号隔开. f1用升序, f2降序,sql该这样写 ORDER BY  f1, f2  DESC 也可以这样写,更清楚: ORDER BY  f1 ASC, ...

  5. WinForm实现最小化右下角

    首先,要在窗体里面加入这么两个控件,左边的是托盘控件,右边的是菜单控件. 然后设置窗体的FormClosing事件: if (e.CloseReason == CloseReason.UserClos ...

  6. Retrofit RestAdapter 配置说明

    RestAdapter.Builder builder = new RestAdapter.Builder();                    builder.setEndpoint(ip地址 ...

  7. 阶段1 语言基础+高级_1-3-Java语言高级_1-常用API_1_第5节 String类_3_字符串的常量池

    字符换是可以共享使用的,那么怎么去共享使用呢 三种方式去创建字符串.然后三种分别进行比较 3的地址和1.2的地址不一样 在堆里面有一块空间叫做字符串常量池,从jdk1.7开始.字符串常量池在堆中 字符 ...

  8. 常用的adb命令收集

    测试app常会用到一些adb命令,当然使用adb命令,需要配好jdk.sdk环境,不然不能使用的 1.adb help ----帮助信息 2.adb device ----手机的id查看 3.adb ...

  9. 类ThreadGroup

    Java中使用ThreadGroup来表示线程组,它可以对一批线程进行分类管理,Java允许程序直接对线程组进行控制. 默认的情况下,所有的线程都属于主线程组. public final Thread ...

  10. vs2010自带的报表应用

    1.先创建一个本地的数据库,右键单击你的项目-->选择[Add]--->New Item--->Local database.创建数据库后,添加一个数据表T_student,添加一些 ...