linux DNS详解

本文涉及的产品
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介:

                DNS服务


DNS:域名服务(domain  nsme  service)

作用:将域名解析成IP(正向解析)或者把IP解析成域名(反向解析)



DNS顶级域的分类:

组织域:.com  .net  .org .....

国家域:.cn   .tw   .jp  .....

反向域:将ip解析为域名



DNS记录类型:

A:正向解析条目

PTR:反向解析条目

NS:代表域内的DNS服务器

MX:代表域内的邮件服务器

CNAME:别名

SOA:用于标识域内的DNS服务器

注意:每添加一条NS记录,就应该为其添加一条相应的A记录



DNS服务器的类型:

主DNS服务器:master

从DNS服务器:slave

根DNS服务器:hint

DNS缓存服务器:生活中接触最多的,一般都是作为我们的默认DNS



默认DNS服务器:

一般都是可以为我们进行迭代查询的DNS服务器

在Internet中,顶级域的DNS服务器不会为我们进行迭代查询,所有一般只要DNS缓存服务器会为我们进行迭代



DNS的查询类型:

迭代查询(tcp:53)

递归查询(udp:53)



DNS的查询顺序:

1.DNS缓存

2.本地host文件

3.DNS服务器



IP和FQDN的对应关系:(FQDN:完全限定域名)

ICANN:名称分配机构,他以及其下辖机构管理Internet上的所有域名

一个IP可以有多个域名(http虚拟主机的实现原理之一)

一个域名可以有多个ip(集群的负载均衡实现的原理之一)



从DNS的作用:

1.实现DNS的负载均衡

2.当主服务器出现故障时可以代替主服务器的工作



子域和委派:

委派:当区域中子域过多时,在一台服务器上不能很好的维护,就可以将一些子域分配给指定服务器进行维护

子域:解析文件存放在父域

委派:有独立的区域文件



智能DNS:(也叫DNS视图)

1.智能DNS是域名频道在业界首创的智能解析服务

2.能自动判断访问者的IP地址并解析出对应的IP地址,使不同运营商的用户会访问到对应的服务器

例:网通用户会访问到网通服务器,电信用户会访问到电信服务器




配置详解:在配置的时候不能少一个符号,要不然服务可能起不来

一.检查工具(由bind-utils软件包提供)

检查DNS服务主配置文件是否有错误:named-checkconf  配置文件路径

检查DNS服务正反向文件是否有错误:named-checkzone  域名   与之对应的反向解析文件 

named-checkconf的其他功能请参照man手册



二.安装bind软件包

[root@localhost~]# rpm -ivh bind-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm    //DNS的主程序包


三.配置文件

/etc/named.conf:DNS的主配置文件

/etc/named.rfc1912.zones:DNS的区域声明文件

/var/named:此目录下存放DNS的区域数据文件


修改主配置named.conf文件:

[root@localhost~]# vim /etc/named.conf 


options { //全局配置

listen-on port 53 { DNS服务器的ip地址或any; }; //监听的ipv4和端口,(any:任意,53:udp53和tcp:53)

listen-on-v6 port 53 { ::1; }; //ipv6

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"; 

query-source port 53;

query-source-v6 port 53;

allow-query { any; };   //允许哪些客服机使用本DNS查询信息,可以是IP网段,或any

allow-recursion { 127.0.0.0; };   //允许进行递归查询的网段(和下面的recursion二选一)

recursion   yes ;   //允许所有客户机递归(默认)

};




四.修改/etc/named.rfc1912.zones文件

[root@localhost~]# vim /etc/named.rfc1912.zones


正向解析:

zone "test.com" IN { //定义一个正向域域名test.com

type master; //域的类型(master主域)

file "test.com.zone";   //定义正向解析文件,文件名test.com.zone

allow-update { none; }; //是否允许"从服务器"更新DNS信息(none:拒绝)

};



反向解析:

zone "0.168.192.in-addr.arpa" IN {  //定义反向域

type master; //域的类型(master主域)

file "192.168.0.arpa.zone";  //定义反向解析文件,文件名

allow-update { none; }; //是否允许"从服务器"更新DNS信息

};



五.配置正、反向解析文件:

正反解文件都在相同目录下,配置正反解文件要到var/named/目录下,此目录下默认有正反项解析的模板文件。

named.localhost:正向解析文件模板

named.loopback:反向解析文件模板


[root@localhost~]# cd /var/named/

[root@localhost~]# cp -p named.localhost  test.com.zone 

             //正反向解析文件必须和上面定义的名相同

[root@localhost~]# cp -p named.loopback   192.168.0.arpa.zone

         //记得cp命令一定要加-p选项,不然很有可能启动不了named服务



六.编辑正向解析文件:

[root@localhost~]# vim  test.com.zone


$TTL 86400     //生命周期

@ IN SOA  ns1.test.com. www_huyuan_boke.sina.com. (

//域名和DNS有故障时系统发送通知邮件的邮箱地址,@用.代替

  

  2016012109 ; serial  //序列号,每一次修改都往上加,否则从DNS不同步

  3H   ; refresh //刷新时间,重新下载地址数据的间隔   

  15M   ; retry //重试间隔时间,下载失败之后的重试间隔

  1W   ; expiry //失效时间,超过该时间任无法下载则放弃

  1D     )  ; minimum //无法解析记录的生存期      


IN NS  ns1.test.com. //DNS域名 (ns,域名服务器)

ns1 IN A  192.168.0.10 //DNS主机的IP地址(A,正向解析条目)

www IN A 192.168.0.50 //www主机名,192.168.0.50主机所对应的IP地址


上面是最基本的正向解析文件的配置



编辑反向解析文件

[root@localhost~]# vim 192.168.0.arpa.zone


$TTL 86400

@  IN SOA  ns1.test.com.  www_huyuan_boke.sina.com. (

//反向解析域名和邮箱地址,可以和正向解析不一样


   2016010101   ; serial //和正向解析一样的意义

   1D        ; refresh //;号后面都是注释

   1H       ; retry

   1W       ; expire

   3H )     ; minimum

 

    IN  NS  ns1.test.com.   //反向解析时显示的域名(可以和真正的域名test.com不同)

ns1  IN  A   192.168.0.10   //反向解析服务器的IP地址

10  IN PTR ns1.test.com.   //服务器自己的反向解析

50   IN PTR  www.test.com.   //反向解析记录,50对应192.168.0.50



七.验证主DNS服务器

1、开启服务:

[root@localhost ~]# service named restart


1.打开一台windows的客服机验证

2.将首选DNS设置成DNS服务器的IP地址

3.使用win+r打开运行,输入cmd

4.在cmd里输入nslookup

5.输入www.test.com验证,查看解析结果是否为192.168.0.50 //验证正向解析

6.输入192.168.0.50,查看结果是否为www.test.com



八.配置从DNS服务器

1.主DNS服务器配置


区域声明文件:

zone "test.com" IN { //定义正向域

type master; //服务器类型

file "test.com.zone"; //定义正向解析文件

allow-update { 192.168.0.100; };  //从DNS服务器地址

};


zone "0.168.192.in-addr.arpa" IN {        //定义反向域

type master; //服务器类型

file "192.168.0.arpa.zone"; //定义反向解析文件

allow-update { 192.168.0.100; };   //从DNS服务器地址

};


在主DNS服务器的正反向区域解析文件中添加如下两项

      IN   NS   ns2.test.com //声明从服务器

ns2   IN   A   从DNS服务器IP地址 //为从服务器添加ns记录


注意:在每一次修改完主DNS服务器的正反向区域解析文件时必须序列号上加一,不然从DNS服务器不会更新



2.从DNS服务器配置

zone "test.com" IN { //主DNS服务器正向域域名

type slave; //服务器类型(slave从服务器)

file "slaves/test.com.zone"; //定义复制过来的正向解析文件存放位置

masters { 192.168.0.10; };    //主DNS服务器IP地址(必须是主服务器IP地址)

};



zone "0.168.192.in-addr.arpa" IN {   //主DNS服务器反向域域名

type slave;                 //服务器类型

file "slaves/192.168.0.arpa.zone";   //定义复制过来的反向解析文件存放位置

masters { 192.168.0.10; }; //主DNS服务器IP地址(必须是主服务器IP地址)

};


由于是从服务器,所以只需要配置以上配置即可完成从服务器的配置,配置了从服务器后DNS解析时会采用负载均衡的方式解析



九.子域授权


1.父域服务器配置


区域解析文件配置:


$TTL 86400

@ IN SOA ns1.test.com.  www_huyuan_boke.sina.com.  (

...... //省略部分类容


IN NS   ns1.test.com

ns1 IN NS 192.168.0.10

www IN A 192.168.0.50


caiwu IN NS   ns1.caiwu.test.com. //声明子域DNS域名

ns1.caiwu IN A 192.168.0.20 //声明子域DNSip




2.子域服务器配置:


区域声明文件配置:

zone "caiwu.test.com" IN { //为test.com域创建子域服务器caiwu

type master; //服务器类型

file "caiwu.test.com.zone"; //caiwu.test.com正向解析文件的存放位置

allow-update { none; }; //是否允许"从服务器"更新DNS信息

};



区域解析文件配置

$TTL 86400

@ IN SOA ns1.caiwu.test.com.  www_huyuan_boke.sina.com.  (

        

  2016012109  ; serial 

  3H  ; refresh    

  15M  ; retry

  1W  ; expiry

  1D )      ; minimum


IN NS   ns1.test.com. //子域DNS域名

ns1 IN A 192.168.0.20 //子域DNSip

www IN A 192.168.0.30 //为子域www.caiwu.test.com添加解析



十.转发器配置:

1.在需要做转发的服务器上做转发,一般都是在子域服务去上,将他转发个父域服务器


区域声明文件配置:

1.可以在主配置文件中的全局配置中配置,在全局配置中配置的对整个DNS服务器生效

2.在区域声明文件中声明转发域,这儿演示的第二中方法


zone "test.com" IN { //将test.com的解析请求转发给test.com

type forward; //服务器类型

forward  first; //指定转发类型

forwarders   { 192.168.0.20; }; //转发给指定域

};


转发域类型:

first:转发给指定域,如果指定域没有给出解析则进行迭代查询

only:转发给指定域,如果指定域没有给出解析则返回给客户机无法解析的结果


主配置文件:

全局选项修改:

dnssec-enable no;

         dnssec-validation no;

删除:dnssec-lookaside auto;


十一.ACL


ACL的概念:通过将指令编写在ACL中,可以实现同样的指令重复使用,类似于函数的功能(acl一般配合智能DNS使用)

dns默认有两个ACL:any和none

acl的编写原则:一般都编写在文件的最前面,因为acl必须先声明,再调用的


语法:

acl  acl名  {

指令;

指令;

....;

};



十二.DNS日志系统


定义语法:


logging {

        channel default_debug {

                file "data/named.run";

                severity dynamic;

        };

};


本文转自  红尘世间  51CTO博客,原文链接:http://blog.51cto.com/hongchen99/1910981


相关文章
|
3月前
|
网络协议 Linux Docker
在Linux中,如何指定dns服务器,来解析某个域名?
在Linux中,如何指定dns服务器,来解析某个域名?
|
19天前
|
算法 Linux 定位技术
Linux内核中的进程调度算法解析####
【10月更文挑战第29天】 本文深入剖析了Linux操作系统的心脏——内核中至关重要的组成部分之一,即进程调度机制。不同于传统的摘要概述,我们将通过一段引人入胜的故事线来揭开进程调度算法的神秘面纱,展现其背后的精妙设计与复杂逻辑,让读者仿佛跟随一位虚拟的“进程侦探”,一步步探索Linux如何高效、公平地管理众多进程,确保系统资源的最优分配与利用。 ####
53 4
|
20天前
|
缓存 负载均衡 算法
Linux内核中的进程调度算法解析####
本文深入探讨了Linux操作系统核心组件之一——进程调度器,着重分析了其采用的CFS(完全公平调度器)算法。不同于传统摘要对研究背景、方法、结果和结论的概述,本文摘要将直接揭示CFS算法的核心优势及其在现代多核处理器环境下如何实现高效、公平的资源分配,同时简要提及该算法如何优化系统响应时间和吞吐量,为读者快速构建对Linux进程调度机制的认知框架。 ####
|
1月前
|
弹性计算 网络协议 Ubuntu
如何在阿里云国际版Linux云服务器中自定义配置DNS
如何在阿里云国际版Linux云服务器中自定义配置DNS
|
3月前
|
图形学 开发者 存储
超越基础教程:深度拆解Unity地形编辑器的每一个隐藏角落,让你的游戏世界既浩瀚无垠又细节满满——从新手到高手的全面技巧升级秘籍
【8月更文挑战第31天】Unity地形编辑器是游戏开发中的重要工具,可快速创建复杂多变的游戏环境。本文通过比较不同地形编辑技术,详细介绍如何利用其功能构建广阔且精细的游戏世界,并提供具体示例代码,展示从基础地形绘制到植被与纹理添加的全过程。通过学习这些技巧,开发者能显著提升游戏画面质量和玩家体验。
156 3
|
3月前
|
网络协议 Linux
在Linux中,如何改IP、主机名、DNS?
在Linux中,如何改IP、主机名、DNS?
|
3月前
|
域名解析 网络协议 Linux
在Linux中,我们都知道,dns采用了tcp协议,又采用了udp协议,什么时候采用tcp协议?什么 时候采用udp协议?为什么要这么设计?
在Linux中,我们都知道,dns采用了tcp协议,又采用了udp协议,什么时候采用tcp协议?什么 时候采用udp协议?为什么要这么设计?
|
3月前
|
缓存 网络协议 Linux
在Linux中,当用户在浏览器当中输入⼀个网站,计算机对dns解释经过那些流程?
在Linux中,当用户在浏览器当中输入⼀个网站,计算机对dns解释经过那些流程?
|
6月前
|
网络协议 Linux 网络安全
Linux服务器DNS服务器配置实现bind的正向解释和反向解释
Linux服务器DNS服务器配置实现bind的正向解释和反向解释
82 0
|
网络协议 Linux
Linux学习笔记 26(DNS服务器配置)
1、 安装DNS 2、 查看DNS服务器软件包的安装情况 3、 修改主配置文件 4、 复制模板文件 5、 配置正向解析区域数据文件 6、 配置反向解析区域数据文件 7、 启动DNS服务器 8、 同步与配置文件 9、 验证DNS服务器 1、 安装DNS 2、 查看DNS服务器软件包的安装情况 3、 修改主配置文件 4、 复制模板文件 5、 配置正向解析区域数据文件 6、 配置反向解析区域数据文件 7、 启动DNS服务器 8、 同步与配置文件 9、 验证DNS服务器 7、 启动DNS服务器 8、 同步
Linux学习笔记 26(DNS服务器配置)

相关产品

  • 云解析DNS
  • 下一篇
    无影云桌面