文档章节

DNS服务器配置详解(Centos6.8)

一点相思怎堪离丶
 一点相思怎堪离丶
发布于 2017/07/19 19:27
字数 2145
阅读 60
收藏 1

参考资料:http://blog.chinaunix.net/uid-14825809-id-333591.html

BIND的组成

  • named守护进程–用来回答查询结果的
  • 去联系DNS分布式数据库的服务器用来解析主机查询的库例程
  • DNS的一些重要命令:nslookup,dig和host

BIND中名字服务器的分类以及区别:

  • 权威--一个区的正式代表
    • 主服务器:每个区都有的一个主名字服务器,保存着本区数据的正式拷贝。SA通过编辑这上面的数据文件来更改区数据。
    • 从服务器:每个区可以有多个从服务器(至少一个),它通过“区传送”操作从主服务器上获取它的数据。
    • 存根:类似于从服务器,不过不是必须的,它仅装载主服务器上的NS记录。
  • 非权威--从缓存中读取记录来回答查询,可能数据已过期
    • 高速缓存名字服务器:从一个文件中加载一些根服务器的地址,然后通过缓存由它解析的各个查询的回答来积累它的其余数据。它本身没有数据。
  • 递归--名字服务器要么是递归要么是不递归的。递归的含义是如果它不能回答你的查询,它将自己替你向上级进行查询,知道有结果(真实的结果或者错误的消息)。
  • 非递归--如果对于你的查询它能回答的,那么它将提供正确的响应,否则它将返回它所推荐的可能知道正确答案的其他域的权威性服务器。客户机必须准备接受并对这些推荐服务器进行操作。

resolv.conf文件
unix系统上都会有这样一个文件,如果要使用DNS则必须要设置这个文件。(当然你可能在某些系统上修改/etc/nsswitch.conf,告诉它使用DNS而不是NIS。具体位置是:/etc/resolv.conf,它的格式是:
search 域名
nameserver IP地址
主要讲的就是“search 域名”的作用,在老版本BIND中是使用“domain”这个关键字的。它列出了如果某主机名不完整的时候,自动补上后面所写的域名。如我在文件中加入 “search com.”那么重启network,只需要ssh china,就等于ssh china.com这个命令。
而nameserver最多只能列出三个,而且必须要是递归服务器才可以。

BIND服务器配置

BIND非常消耗内存。它的数据库都保留在内存中,所以随着named进程的运行,高速缓存会逐渐增大。不过BIND9支持多线程并且可以充分利用多处理 器系统,还包括控制named资源使用的配置选项。新版本的BIND启动,停止用了新的命令:ndc start|stop|restart|status 。而不是以前的init.d中的脚本了。
配置文件:named.conf
每条语句以分号结束。格式非常重要少一个空格或者少一个分号就会让你郁闷1小时:( ,每条语句以一个标示语句类型的关键词开始。
option语句:指定全局选项,在BIND8中大约有30个选项,9的选项超过50个。这里只介绍常用的。格式如下:
options{
option;
option;

};

acl语句:它必须是named.conf中的顶级语句。
acl acl_name{
address_match_list
};
其中,有4个列表是预先定义的:any,localnets,localhost,none

zone语句:是named.conf中的核心语句。将告诉named它具有权威性的区域。并为管理每个区设置适当的选项。zone语句格式根据named在(主服务器,从服务器)中所扮演的角色不同而不同。

 

参数说明:

(1)SOA记录:每个区仅有一个SOA记录,该区一直延伸到遇见另一个SOA记录为止。SOA记录包括区的名字,一个技术联系人和各种不同的超时值。下面是例子:
在named.conf中指定的zone语句中指定的名字,假设为marco.fudan.edu
@ IN SOA ns.marco.fudan.edu. admin.marco.fudan.edu. (
20040701    ;Serial
8H          ;Refresh, 8 hours
1H          ;Retry,   1 hour
2W          ;Expire,  2 weeks
1D )        ;Minimum, 4 days
详细说明:
“@”是当前区名的简写。在这里可以用marco.fudan.edu.代替(千万不可忘了最后的”.”,后面也是)。它的值是在named.conf文件中的zone语句中指定的名字;可以在这个区文件中使用$ORIGIN分析器指令进行更改。
这里没有ttl字段。
class当然是IN了。
ns.marco.fudan.edu.是该区的主名字服务器(注意后面的”.”哦)
admin.marco.fudan.edu.是域管理员的邮箱,要把第一个”.”换成”@”,并且舍弃最后一个”.”才行。
圆括号不能乱放,用来让SOA记录跨越好几行。不过在9中可以随便放。做实验时测试。
第一个数值Serial代表这个区的序列号。可以供从服务器判断何时获取新数据的。这里我设成今天的日期。更新数据文件必须要更新这个序列号,否则从服务器将不更新。切记!!!
第二个数值Refresh指定多长时间从服务器要与主服务器经行核对。(当然现在有了notify这个参数,一旦更新了主服务器,将立即通知从服务器进行更新,那这个参数有什么用呢?用来当notify参数关闭时…嘻嘻)
第三个数值Retry代表如果从服务器试图检查主服务器的序列号时,主服务器没有响应,则经过这个时间后将重新进行检查。
第四个数值Expire将决定从服务器在没有主服务器的情况下权威地持续提供域数据服务的时间长短
第五个数值Minimum指高速缓存否定回答的存活时间。可能指客户机如果要解析某台服务器的ip,而这台服务器是不代表客户查询的存活时间。
$TTL,expire和minimum参数最终决定使用DNS的每个人放弃旧数据值。

(2)NS记录:识别对一个区有权威性的服务器(即所有主服务器和从服务器),并把子域委托给其他机构。
格式为:
zone [ttl] IN NS hostname
例如:
marco.fudan.net. IN NS ns.marco.fudan.net.

marco.fudan.net. IN NS anchor.marco.fudan.net.

marco.fudan.net. IN NS ns.marco.tj.net.

(3)A记录:是DNS数据库的核心。他们提供了以前在/etc/hosts文件中指定的主机名到IP地址的映射。一个主机必须为它的每个网络接口得到一条A记录。
格式为:
hostname [ttl] IN A ipaddr
例如:
anchor IN A 192.168.1.10
表示anchor.marco.fudan.net.的ip为192.168.1.10

(4)PTR记录:从ip地址到主机名的反向映射。与A记录一样,必须为每个网络接口有一条PTR记录。
先介绍in-addr.arpa:这下面的域的命名类似于反向字节顺序的IP地址。例如,我们的243子网的区是243.151.128.in-addr.arpa。
格式为:
addr [ttl] IN PTR hostname
例如,在243.151.128.in-addr.arpa区中与anchor的A记录相对应的PTR记录为:
100 IN PTR auchor.marco.fudan.net.

(5)MX记录:电子邮件系统就是使用MX记录来更有效的路由邮件。
格式为:
name [ttl] IN MX preference host …
例如:
(1)除非停机否则自己接收邮件。这里列出了3个,当前2个都停机时,将发送给第三个。而第3个必须写全,因为他不是默认域的成员。
yuyu IN MX 10 yuyu
IN MX 20 mailbox
IN MX 50 lpq.com.
(2)自己不接收邮件
yuyu IN MX 10 mailbox
IN MX 20 anchor
IN MX 50 lpq.com.
说明一点,中间的优先级自己定,中间隔开一点是为了将来能够插入新的主机而不用重新编号。

(6)CNAME记录:为主机分配额外的名字。用来缩短一个长主机名或者用来和某种功能联系起来。
格式为:
nickname [ttl] IN CNAME hostname
当BIND遇到一条CNAME记录时,它就会停止对该昵称的查询,并切换到真实的名称。并且注意,如果一台主机引用了别名,那么他的A,NS,MX等都必须用真实名称。
例如:
colo-gw IN A 128.138.243.25
colo IN CNAME colo-gw
www IN CNAME colo

其余的诸如LOC记录,SRV记录,TXT记录,IPv6资源记录,A6记录,DNAME记录等我认为自己几乎用不到,即使用到了再查也可以,不用去用心记住这些并不常用的记录。也根本记不住

待续

 

本文转载自:http://blog.chinaunix.net/uid-14825809-id-333591.html

共有 人打赏支持
一点相思怎堪离丶
粉丝 5
博文 27
码字总数 15613
作品 0
成都
运维
私信 提问
我在centos6.8上搭建dns服务器,为什么另一台虚拟机无法使用此台DNS?

在虚拟机centos6.8上搭建下dns,本机测试cache only dns可以使用。自己建了一个正解和反解也可以使用,待会贴下代码,(有个一问题); 错误为: 我没找到答案。。 我的第二个问题就是。我在另...

亲情的三分
2017/03/24
280
0
kickstart安装系统原理详解

前言 作为中小公司的运维,经常会遇到一些机械式的重复工作,例如:有时公司同时上线几十甚至上百台服务器,而且需要我们在短时间内完成系统安装。 常规的办法有什么? 光盘安装系统===>一个...

啊凯linux
2018/06/28
0
0
《Linux应用大全 服务器架设》一书,讲述众多服务器配置

《Linux应用大全 服务器架设》介绍了Linux服务器配置各方面的知识,主要包括网络配置文件和网络命令、OpenSSH、VNC、NFS、Samba、DHCP、DNS、Apache、Tomcat、Nginx、SVN、Vsftpd、Sendmail、...

airfish2000
2015/12/22
0
0
部署DNS域名解析服务器—BIND Server

一、浅谈DNS解析技巧 在搭建服务器之前,我们需要了解一下DNS域名解析原理,《DNS原理及其解析过程》,总体上,《DNS原理及其解析过程》对解析过程说的非常清楚。 在这里,补充和强调以下了三...

IamOkay
2016/07/02
819
0
centos6.8 搭建pptpd vpn服务器

pptpd vpn的关键在于iptables的用的对不对,iptables决定了vpn的用处,但是如果深入的话主配置文件也很重要。 1、确认系统是否支持 modprobe ppp-compress-18 && echo ok #确认你的系统内核是...

vperson
2017/07/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

AWS的自动部署工具codedeploy 负载均衡器和github

Elastic Load Balancing 提供了三种可用于 CodeDeploy 部署的负载均衡器:Classic Load Balancer、Application Load Balancer 和 Network Load Balancer。 传统负载均衡器 路由和负载均衡在传...

守护-创造
19分钟前
2
0
Docker 使用简介

Docker 是使用 GoLang 开发的开源容器引擎,可以方便的打包开发好的应用,然后分发到任意 linux 主机上。 与传统的虚拟机相比拥有以下优势: 高效的系统资源利用率 由于不需要进行硬件虚拟和...

YanWen
23分钟前
1
0
linux多线程编程,你还在用sleep么?用pthread_cond_timedwait吧

gnal(&cond); pthread_mutex_unlock(&mutex); printf(“Wait for thread to exit\n”); pthread_join(thread, NULL); printf(“Bye\n”); return 0; } 说明(翻译摘要中提供的连接,翻译的不好......

shzwork
31分钟前
1
0
MacOS源码编译安装 PostgreSQL

编译环境 Mac OSX 下只要装了 Xcode 就行,所有编译需要的工具和类库都有了。CentOS 下需要安装下面的软件包。 $ sudo yum install make gcc readline-devel zlib-devel flex bison 如果是从...

FeanLau
41分钟前
2
0
Spring Cloud Alibaba基础教程:Sentinel使用Apollo存储规则

上一篇我们介绍了如何通过Nacos的配置功能来存储限流规则。Apollo是国内用户非常多的配置中心,所以,今天我们继续说说Spring Cloud Alibaba Sentinel中如何将流控规则存储在Apollo中。 使用...

程序猿DD
48分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部