DNS服务器的设置

首先我们需要了解下什么是DNS?

DNS 是域名系统 (Domain Name System) 的缩写,它是由解析器和域名服务器组成的。域名服务器是指保存有该网络中所有主机的域名和对应IP地址,并具有将域名转换为IP地址功能的服务器。其中域名必须对应一个IP地址,而IP地址不一定有域名。域名系统采用类似目录树的等级结构。域名服务器为客户机/服务器模式中的服务器方,它主要有两种形式:主服务器和转发服务器。将域名映射为IP地址的过程就称为“域名解析”。在Internet上域名与IP地址之间是一对一(或者多对一)的,域名虽然便于人们记忆,但机器之间只能互相认识IP地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,DNS就是进行域名解析的服务器。 DNS 命名用于 Internet 等 TCP/IP 网络中,通过用户友好的名称查找计算机和服务。当用户在应用程序中输入 DNS 名称时,DNS 服务可以将此名称解析为与之相关的其他信息,如 IP 地址。因为,你在上网时输入的网址,是通过域名解析系统解析找到了相对应的IP地址,这样才能上网。其实,域名的最终指向是IP。

DNS的资源记录

1.正解文件资源记录(Resource Record, RR):

常见的正解文件 RR 相关信息

[domain]     IN      [[RR type]           [RR data]]         
主机名.       IN          A                     IPv4 的 IP 地址 
主机名.       IN        AAAA                IPv6 的 IP 地址 
域名.         IN        NS              管理这个域名的服务器主机名字. 
域名.         IN        SOA           管理这个域名的七个重要参数(容后说明) 
域名.         IN         MX       顺序数字      接收邮件的服务器主机名字 
主机别名.     IN        CNAME      实际代表这个主机别名的主机名字.

2.A 、AAAA:查询IP的记录

A:FQDN -->ipv4
AAAA: FQDN -->ipv6
FQDN:(Fully Qualified Domain Name)完全合格域名/全称域名,是指主机名加上全路径,全路径中列出了序列中所有域成员。全域名可以从逻辑上准确地表示出主机在什么地方,也可以说全域名是主机名的一种完全表示形式。

[root@centos7 ~]#dig www.baidu.com :注通过dig知道百度ipv4地址
;; ANSWER SECTION:
www.baidu.com.      823 IN  CNAME   www.a.shifen.com.
www.a.shifen.com.   52  IN  A   115.239.210.27
www.a.shifen.com.   52  IN  A   115.239.211.112

3.NS:查询管理区域名(zone)服务器的主机名

如果你想要知道 www.baidu.com 的记录是由哪部 DNS 服务器提供的,那就得要使用 NS (NameServer) 的 RR 类型标志来查询。不过,由于 NS 是管理整个领域的,因此,你得要查询的目标将得输入 domain,亦即 baidu.com,列:

[root@centos7 ~]#dig -t ns baidu.com
;; ANSWER SECTION:
baidu.com.      40596   IN  NS  ns3.baidu.com.
baidu.com.      40596   IN  NS  dns.baidu.com.
baidu.com.      40596   IN  NS  ns7.baidu.com.
baidu.com.      40596   IN  NS  ns2.baidu.com.
baidu.com.      40596   IN  NS  ns4.baidu.com.

4.SOA :查询管理域名的服务器管理信息

如果是多部 DNS 服务器管理同一个领域名时,那么最好使用 master/slave 的方式来进行管理。既然要这样管理, 那就得要宣告被管理的 zone file 是如何进行传输的,此时就得要 SOA (Start Of Authority) 的标志了。

[root@centos7 ~]#dig -t soa baidu.com
;; ANSWER SECTION:
baidu.com.      7199    IN  SOA dns.baidu.com. sa.baidu.com. 2012136133 300 300 2592000 7200
SOA 主要是与区域有关,所以前面要写baidu.com 这个域名。而 SOA 后面共会接七个参数,这七个参数的意义依序是:
1. Master DNS 服务器主机名:这个区域主要是哪部 DNS 作为 master 的意思。在例中, dns.baidu.com.为 baidu.com.这个领域的主要 DNS 服务器;
2. 管理员的 email:那么管理员的 email 为何?发生问题可以联络这个管理员。要注意的是, 由于 @ 在数据库档案中是有特别意义的,因此这里就写成sa.baidu.com;
3. 序号 (Serial):这个序号代表的是这个数据库档案的新旧,序号越大代表越新。 当 slave 要判断是否主动下载新的数据库时,就以序号是否比 slave 上的还要新来判断,若是则下载,若不是则不下载。 所以当你修订了数据库内容时,记得要将这个数值放大才行! 为了方便用户记忆,通常有些序号都会使用日期格式『YYYYMMDDNU』来记忆。
4. 更新频率 (Refresh):那么啥时 slave 会去向 master 要求数据更新的判断? 就是这个数值定义的。百度的 DNS 设定每 300 秒进行一次 slave 向 master 要求数据更新。那每次 slave 去更新时, 如果发现序号没有比较大,那就不会下载数据库档案。
5. 失败重新尝试时间 (Retry):如果因为某些因素,导致 slave 无法对 master 达成联机, 那么在多久的时间内,slave 会尝试重新联机到 master。在百度的设定中,300 秒会重新尝试一次。
6. 失效时间 (Expire):如果一直失败尝试时间,持续联机到达这个设定值时限, 那么 slave 将不再继续尝试联机,并且尝试删除这份下载的 zone file 信息。百度设定为 2592000 秒。意思是说,当联机一直失败,每 300 秒尝试到达 2592000 秒后,百度的 slave 将不再更新,只能等待系统管理员的处理。
7. 快取时间 (Minumum TTL):如果这个数据库 zone file 中,每笔 RR 记录都没有写到 TTL 快取时间的话,那么就以这个 SOA 的设定值为主。

5.CNAME:设置某主机名的别名

通过最开始我们通过dig www.baidu.com 查询就可发现百度的别名

[root@centos7 ~]#dig www.baidu.com 
;; ANSWER SECTION:
www.baidu.com.      823 IN  CNAME   www.a.shifen.com. 别名
www.a.shifen.com.   52  IN  A   115.239.210.27
www.a.shifen.com.   52  IN  A   115.239.211.112

6.查询某域名的邮件服务器主机名

MX 是 Mail eXchanger (邮件交换) 的意思,通常你的整个区域会设定一个 MX ,代表,所有寄给这个区域的 email 应该要送到后头的 email server 主机名上才是。

[root@centos7 ~]#dig -t MX  baidu.com
;; ANSWER SECTION:
baidu.com.      6353    IN  MX  20 mx50.baidu.com.
baidu.com.      6353    IN  MX  10 mx.n.shifen.com.
baidu.com.      6353    IN  MX  20 mx1.baidu.com.
baidu.com.      6353    IN  MX  20 jpmx.baidu.com.

6.反解文件记录的 RR 数据

正解主机名的追踪方式。以 www.baidu.com来说,整个域的概念来看, 越右边出现的名称代表网域越大!举例来说,.(root) > com> baidu以此类推。因此追踪时,是由大范围找到小范围。
但是 IP 则不一样啊!以baidu的 115.239.210.27来说好了,当然是 115> 1239 > 210 > 27 ,左边的网域最大! 与预设的 DNS 从右边向左边查询不一样!为了解决这个问题,所以反解的 zone 就必须要将 IP 反过来写,而在结尾时加上 .in-addr.arpa. 的结尾字样即可。所以,当你想要追踪反解时,那么反解的结果就会是:

[root@centos7 ~]#dig -x 166.111.4.100
;; ANSWER SECTION:
100.4.111.166.in-addr.arpa. 86399 IN    PTR www.tsinghua.edu.cn.

因百度的没有故随便找了个。

DNS设置

1.DNS环境规划
在centos7上操作,ip为192.168.18.131
需要设置的配置文件

1.named.conf (主要配置文件)
2.named.centos.com.zone(主要的正解文件)
3.named.192.168.18.zone (主要的192.168.18.131/24的反解文件)
4.named.ca (由bind软件提供.正解文件这里不需要设置)

2.主配置文/etc/named.conf的设置
options:规范 DNS 服务器的权限 (可否查询、forward 与否等);
zone:设定出 zone (domain name) 以及 zone file 的所在 (包含 master/slave/hint);

options {
//      listen-on port 53 { 127.0.0.1; }; 默认只是监听本机端口,我们可注释掉,就代表全部,或 listen-on port 53 {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";
//      allow-query     { localhost; }; 注释掉,代表全部接受。

3./etc/named.rfc1912.zones的文件设置
这个文件放置的解析库文件,我们可参考其他,自己写一个

zone "centos.com" IN {                            :这个zone的类型,即将来查询的类型
        type master;                              :是设么类型
        file "named.centos.com.zone";             :文件放在那里,相对路径/var/named下
};
zone "18.168.192.in-addr.arpa" IN {      反解文件
        type master;
        file "named.192.168.18.zone";
};

4.正解文件named.centos.com.zone的设定

$TTL 600
@       IN      SOA     dns    admin.www.centos.com. ( 201707301 3H 15M 1W 1D )
        IN      NS      dns
dns     IN      A       192.168.18.131
        IN      MX      10 www.centos.com.
www.centos.com.   IN A  192.168.18.131
linux.centos.com. IN CNAME www.centos.com.
ftp.centos.com.   IN CNAME www.centos.com.
test.centos.com.  IN CNAME www.centos.com.
slave.centos.com.  IN A 192.168.18.130
websrv.centos.com. IN A 192.168.18.130

一个正解的数据库设定中,至少应该要有 $TTL, SOA, NS (与这部 NS 主机名的 A).
$TTL 为了简化每笔 RR 记录的设定,因此我们将 TTL 挪到最前面统一设定。
5.反解named.192.168.18.zone文件的设定

$TTL 600
@       IN      SOA     dns    admin.www.centos.com. ( 201707301 3H 15M 1W 1D )
        IN      NS      dns
        IN       A    127.0.0.1
131     IN      PTR     dns
131     IN      PTR     www.centos.com.
130     IN      PTR     slave.centos.com.

反解跟正解一样,还都需要 TTL, SOA, NS 等等的。
6.DNS的启动、查看与防火墙

[root@centos7 ~]#iptables -F   关闭防火墙
[root@centos7 ~]#setenforce 0  关闭selinux 
[root@centos7 ~]#named-checkconf  检查配合文件
[root@centos7 ~]#named-checkzone centos.com  /var/named/named.centos.com.zone   检查zone数据库文件
zone centos.com/IN: loaded serial 201707301
OK
[root@centos7 ~]#systemctl restart named   重启服务
[root@centos7 ~]#rndc reload                加载
接下来我们就是测试
如果使用的环境能连接外网的话,我们这里需在/etc/resolv.conf 配置文件改成
[root@centos7 ~]#vim /etc/resolv.conf
# Generated by NetworkManager
search 3.zj.com
nameserver 192.168.18.131     自己的ip最早出现,否则解析的是网上的因我们named.ca没有更改
nameserver 192.168.43.1

7.测试

[root@centos7 ~]#dig www.centos.com
;; ANSWER SECTION:
www.centos.com.     600 IN  A   192.168.18.131
;; AUTHORITY SECTION:
centos.com.     600 IN  NS  dns.centos.com.
;; ADDITIONAL SECTION:
dns.centos.com.     600 IN  A   192.168.18.131
[root@centos7 ~]#dig ftp.centos.com
;; ANSWER SECTION:
ftp.centos.com.     600 IN  CNAME   www.centos.com.
www.centos.com.     600 IN  A   192.168.18.131
;; AUTHORITY SECTION:
centos.com.     600 IN  NS  dns.centos.com.
;; ADDITIONAL SECTION:
dns.centos.com.     600 IN  A   192.168.18.131

[root@centos7 ~]#dig ftp.centos.com
;; ANSWER SECTION:
ftp.centos.com.     600 IN  CNAME   www.centos.com.
www.centos.com.     600 IN  A   192.168.18.131
;; AUTHORITY SECTION:
centos.com.     600 IN  NS  dns.centos.com.
;; ADDITIONAL SECTION:
dns.centos.com.     600 IN  A   192.168.18.131
[root@centos7 ~]#dig slave.centos.com
;; ANSWER SECTION:
slave.centos.com.   600 IN  A   192.168.18.130
;; AUTHORITY SECTION:
centos.com.     600 IN  NS  dns.centos.com.
;; ADDITIONAL SECTION:
dns.centos.com.     600 IN  A   192.168.18.131
[root@centos7 ~]#dig -t MX centos.com
;; ANSWER SECTION:
centos.com.     600 IN  MX  10 www.centos.com.
;; AUTHORITY SECTION:
centos.com.     600 IN  NS  dns.centos.com.
;; ADDITIONAL SECTION:
www.centos.com.     600 IN  A   192.168.18.131
dns.centos.com.     600 IN  A   192.168.18.131
[root@centos7 ~]#dig -x 192.168.18.131
;; ANSWER SECTION:
131.18.168.192.in-addr.arpa. 600 IN PTR www.centos.com.
;; AUTHORITY SECTION:
18.168.192.in-addr.arpa. 600    IN  NS  18.168.192.in-addr.arpa.
;; ADDITIONAL SECTION:
18.168.192.in-addr.arpa. 600    IN  A   127.0.0.1
[root@centos7 ~]#dig -x 192.168.18.130
;; ANSWER SECTION:
130.18.168.192.in-addr.arpa. 600 IN PTR slave.centos.com.
;; AUTHORITY SECTION:
18.168.192.in-addr.arpa. 600    IN  NS  18.168.192.in-addr.arpa.
;; ADDITIONAL SECTION:
18.168.192.in-addr.arpa. 600    IN  A   127.0.0.1

到这里DNS配置就完成了,如果启动不了服务,则要检查排错,
一般都是以下问题:

1.字母写错,数据库文件名与配置文件 写的不一致。
2.数据库文格式错误。(注意如需写全注意点(.)的是否遗漏)
3.测试防火墙是否关闭。
4.SELinux是否为关闭。
5./etc/resolv.conf第一个是否指向自己的ip。

如有不足!请多多指教!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,558评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,002评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,036评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,024评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,144评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,255评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,295评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,068评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,478评论 1 305
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,789评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,965评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,649评论 4 336
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,267评论 3 318
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,982评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,223评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,800评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,847评论 2 351

推荐阅读更多精彩内容

  • 1. 概述 在网络环境中一般用户只需要在浏览器中输入url如www.sunny.com就可以到对应服务器获取相应的...
    ghbsunny阅读 2,880评论 0 7
  • 一、实现从根,com,rj.com 模拟互联网的DNS架构 DNS(Domain Name System,域名系统...
    ssjinyao阅读 1,422评论 0 7
  • DNS简介DNS解析关键概念BIND 一、DNS简介: (一)DNS服务 DNS:Domain Name Serv...
    哈喽别样阅读 1,793评论 0 2
  • DNS工作原理 DNS 查询的过程 DNS( Domain Name System)是“域名系统”的英文缩写,是一...
    ghbsunny阅读 8,872评论 0 0
  • 目录: 一些基本概念主机名DNS名称解析DNS 解析的后端存储名称解析总结 大规模域名解析的体系架构DNS 解析需...
    C86guli阅读 12,488评论 3 34