DNS域名服务器

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

随着ABC公司业务的扩张,计算机越来越多的情况下,让员工记忆所有公司内部服务器的IP地址可能性不大,因此公司决定采用DNS解决方案,这样实现主机之间的通讯可以变的更简单。案例中我们使用的域为abc.com域,这个是正向解析的域,网络采用的是私有网络:172.16.0.0/16。本案例仅对公司主要的服务器生产解析记录,如果读者需要更多的记录,可以按照这些模版添加其他主机的记录信息,在公司内部服务器列表见表4-10

4-10

服务器IP

服务器名称

功能描述

172.16.0.254

dns1.abc.com

主域名服务器

172.16.0.253

dns2.abc.com

从域名服务器

172.16.0.100

fileserver.abc.com

文件服务器

172.16.0.101

printserver.abc.com

打印机服务器

172.16.0.200

www.abc.com

网站服务器

172.16.0.201

www.abc.com

网站服务器

172.16.0.25

mail.abc.com

邮件服务器

172.16.0.22

ntp.abc.com

时间服务器

1.         安装软件

[root@centos6 ~]# yum -y install bind

[root@centos6 ~]# yum -y install bind-chroot

[root@centos6 ~]# yum -y install bind-utils

2.         修改主配置文件

[root@centos6 etc]# cd /usr/share/doc/bind-9.8.2/sample/etc/

[root@centos6 etc]# cp named.conf /var/named/chroot/etc/

[root@centos6 etc]# chown root.named /var/named/chroot/etc/named.conf

[root@centos6 etc]# vim /var/named/chroot/etc/named.conf

 
  1. options 
  2. {        directory                   "/var/named";                   // "Working" directory 
  3.          dump-file                  "data/cache_dump.db"; 
  4.         statistics-file "data/named_stats.txt"; 
  5.         memstatistics-file "data/named_mem_stats.txt"; 
  6.          listen-on port 53      { any; }; 
  7.          allow-query               { any; }; 
  8.          allow-query-cache   { any; }; 
  9.          recursion yes; 
  10. }; 
  11. acl secondserver { 
  12.             172.16.0.253; 
  13.   }; 
  14.   zone "." IN { 
  15.             type hint; 
  16.             file "named.ca"; 
  17.   }; 
  18.   zone "abc.com" IN { 
  19.             type master; 
  20.             allow-transfer { secondserver; }; 
  21.             file "abc.com.zone"; 
  22.   }; 
  23.   zone "16.172.in-addr.arpa" IN { 
  24.             type master; 
  25.             allow-transfer { secondserver; }; 
  26.             file "172.16.zone"; 
  27.          }; 

3.         创建区数据文件

[root@centos6 etc]# cd /usr/share/doc/bind-9.8.2/sample/var/named/

[root@centos6 named]# cp named.ca /var/named/chroot/var/named/

[root@centos6 etc]# chown root.named /var/named/chroot/var/named/named.ca

[root@centos6 named]# cp named.localhost /var/named/chroot/var/named/abc.com.zone

[root@centos6 named]# chown root.named /var/named/chroot/var/named/abc.com.zone

[root@centos6 named]# vim /var/named/chroot/var/named/abc.com.zone

 
  1. $TTL 1D 
  2. @     IN SOA      dns1.abc.com. jacob.abc.com. ( 
  3.                                                10     ; serial 
  4.                                                1D    ; refresh 
  5.                                                1H    ; retry 
  6.                                               1W   ; expire 
  7.                                                3H )  ; minimum 
  8.          NS    dns1.abc.com. 
  9.          NS    dns2.abc.com. 
  10.          MX 10       mail.abc.com. 
  11. dns1                       IN A 172.16.0.254 
  12. dns2                       IN A 172.16.0.253 
  13. ntp.abc.com.    IN A 172.16.0.22 
  14. mail.abc.com.  IN A 172.16.0.25 
  15. fileserver      IN A 172.16.0.100 
  16. printserver        IN A 172.16.0.101 
  17. www                   IN A 172.16.0.200 
  18.                        IN A 172.16.0.201 

[root@centos6 named]# vim /var/named/chroot/var/named/ 172.16.zone

 
  1. $TTL 1D 
  2. @     IN SOA      dns1.abc.com. jacob.abc.com. ( 
  3.                                                10     ; serial 
  4.                                                1D    ; refresh 
  5.                                                1H    ; retry 
  6.                                                1W   ; expire 
  7.                                                3H )  ; minimum 
  8.              NS    dns1.abc.com. 
  9.              NS    dns2.abc.com. 
  10. 254.0        IN PTR      dns1.abc.com. 
  11. 253.0        IN PTR      dns2.abc.com. 
  12. 22.0         IN PTR      ntp.abc.com. 
  13. 25.0         IN PTR      mail.abc.com. 
  14. 100.0        IN PTR      fileserver.abc.com. 
  15. 101.0        IN PTR      printserver.abc.com. 
  16. 200.0        IN PTR      www.abc.com. 
  17. 201.0        IN PTR      www.abc.com. 

4.         服务管理

[root@centos6 ~]# iptables -I INPUT -p udp --dport 53 -j ACCEPT

[root@centos6 ~]# iptables -I INPUT -p tcp --dport 53 -j ACCEPT

[root@centos6 ~]# service named start

[root@centos6 ~]# chkconfig named on

1.         客户端验证

客户端正确配置DNS服务器后,查询工具比较多,常用的有nslookupdighost,下面分别演示这些命令的基本用法。

[root@centos6 ~]# nslookup www.abc.com

[root@centos6 ~]# nslookup 172.16.0.100

[root@centos6 ~]# dig www.abc.com

[root@centos6 ~]# dig abc.com MX

[root@centos6 ~]# host www.abc.com

4.1.1     部署从域名服务器

部署从域名服务器的作用是防止单点故障或实现负载均衡。如果只有一台服务器当该服务器宕机时,将导致所有客户端的地址解析出现问题。另外,为了满足大规模的查询请求,我们可以创建多台DNS服务器实现负载均衡。然而如果所有的DNS都作为主服务器的话,会有大量的配置需要我们重复进行,再有就是当解析记录发生改变后,各个服务器之间的区数据文件的版本比较混乱(不方便统一),所以我们需要部署从域名服务器,从域名服务器会从主域名服务器上下载数据文件,只要主服务器修改了数据文件中的记录,从服务器可以自动同步数据。

1.         安装软件

[root@centos6 ~]# yum -y install bind

[root@centos6 ~]# yum -y install bind-chroot

[root@centos6 ~]# yum -y install bind-utils

2.         修改配置文件

[root@centos6 etc]# cd /usr/share/doc/bind-9.8.2/sample/etc/

[root@centos6 etc]# cp named.conf /var/named/chroot/etc/

[root@centos6 etc]# chown root.named /var/named/chroot/etc/named.conf

[root@centos6 etc]# vim /var/named/chroot/etc/named.conf

 
  1. options 
  2.          directory                   "/var/named";                   // "Working" directory 
  3.          dump-file                  "data/cache_dump.db"; 
  4.         statistics-file "data/named_stats.txt"; 
  5.         memstatistics-file "data/named_mem_stats.txt"; 
  6.          listen-on port 53      { any; }; 
  7.          allow-query               { any; }; 
  8.          allow-query-cache   { any; }; 
  9.          recursion yes; 
  10. }; 
  11.   zone "." IN { 
  12.             type hint; 
  13.             file "named.ca"; 
  14.   }; 
  15.   zone "abc.com" IN { 
  16.             type master; 
  17.             masters { 172.16.0.254; }; 
  18.             file "abc.com.zone"; 
  19.   }; 
  20.   zone "16.172.in-addr.arpa" IN { 
  21.             type master; 
  22.             masters { 172.16.0.254; }; 
  23.             file "172.16.zone"; 
  24.          }; 

3.         同步数据文件

从服务器进行同步操作前,需要创建一个BIND软件可以进行读取操作的目录,以便将主服务器的数据文件保存至该目录。

当从服务器的主配置文件修改完成后,通过启动服务,BIND会自动根据主配置文件中的masters语句寻找服务器,并将主服务器的数据文件下载至从服务器本地。完成第一次的数据同步后,从服务器会根据同步过来的数据文件中的SOA记录选项,决定下次同步数据的时间,案例中主域名服务器的SOA记录括号中有五条选项。

第一个选项10是序列号,从服务器会根据这个序列号来决定是否进行同步操作,如果服务器端数据文件的序列号大于从服务器的序列号,从服务器才会与主服务器同步数据,该序列号建议使用时间格式,如20121212001表示20121212日的第一次修改(序列号只要是数字即可,BIND不强制要求具体数字格式)。

第二个选项1D,代表从服务器多久与主服务器进行序列号的对比(仅在主服务器序列号大于从服务器的序列号时,才进行数据同步),D代表Day,这里为1天。

第三个选项1H,代表如果从服务器请求连接主服务器时,由于网络延迟,主服务器故障等原因,暂时无法连接到主服务器,那么从服务器会每个一个小时再试一次。

第四个选项1W,代表如果从服务器尝试一周后还是没能连接到主服务器,则不再进行连接。

第五个选项3H,代表的是缓存的时间为3小时。

 注意:在CentOS 6.3系统中从服务器同步数据文件时需要修改SELinux设置,否则将无权限进行同步操作。

[root@centos6 ~]# setsebool -P named_write_master_zones=1

[root@centos6 ~]# mkdir -p /var/named/chroot/var/named/slaves/

[root@centos6 ~]# chown root.named /var/named/chroot/var/named/slaves/

[root@centos6 ~]# chmod 775 /var/named/chroot/var/named/slaves/

[root@centos6 ~]# service named start

[root@centos6 ~]# chkconfig named on

 



















本文转自丁丁历险51CTO博客,原文链接: http://blog.51cto.com/manual/1179606,如需转载请自行联系原作者










相关文章
|
3月前
|
机器学习/深度学习 网络协议 安全
安全DNS服务
【8月更文挑战第18天】
157 16
|
5月前
|
域名解析 网络协议 数据库
|
域名解析 存储 缓存
Linux网络服务之DNS服务
DNS 是域名系统 (Domain Name System) 的缩写,是因特网的一项核心服务,它作为可以将域名和IP地址相互 映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。
Linux网络服务之DNS服务
|
域名解析 网络协议
DNS服务器详解
DNS服务器详解
210 0
|
域名解析 网络协议 分布式数据库
DNS服务器
前言:了解DNS协议,及其结构,解析过程
267 0
DNS服务器
|
域名解析 Kubernetes 网络协议
聊聊k8s的DNS
DNS是k8s服务发现很重要的一部分,本文主要介绍k8s DNS的配置,并介绍一个自建DNS的案例,为指定 pod 指定一个自建 dns 服务器为pod 提供特定的域名解析。
2757 0
|
Web App开发 域名解析 负载均衡
DNS知识指南
1. 什么是记录? 记录的实质是存在DNS服务器叶结点上的一条映射(只讨论权威DNS,不讨论Local DNS)。 A记录:(域名:IP地址) 例:cnblogs.com   A  42.121.252.58    通俗来说A记录就是服务器的IP,域名绑定A记录就是告诉DNS,当你输入域名的时候给你引导向设置在DNS的A记录所对应的服务器。
2827 0
|
网络协议
DNS服务-了解篇
简介 DNS是用来名字解析的,名字解析成IP地址,IP地址解析成名字,正反操作,有服务器端和客户端即 S/C DNS是应用层协议,基于UDP/53、TCP/53端口,缺一不可 分为正向解析和反向解析/递归查询、迭代查询 注意:正反向解析是两个不同的名称空间,是两棵不同的解析树   ...
1415 0
|
缓存 网络协议 数据库

相关产品

  • 云解析DNS
  • 推荐镜像

    更多
    下一篇
    无影云桌面