在Ubuntu 16.04 LTS下安装DNS Server过程回顾

在Ubuntu 16.04 LTS下安装DNS Server过程回顾

基础知识

DNS 服务器的作用是完成域名与IP地址的相互转换。其中从域名到IP地址的转换称为正向解析,从IP地址到域名的转换称为逆向解析。

在DNS服务器出现之前,我们是通过在/etc/hosts文件定义主机名与IP地址的对应关系来完成DNS解析的。/etc/hosts文件的格式是

<IP地址> <主机名>

比如说,

127.0.0.1 localhost

10.0.1.2 mysite.com
10.0.1.3 mail.mysite.com

后来网络上的主机逐渐增多,要手工把所有主机的主机名与IP地址写进这个文件就显得很麻烦,不好管理。

于是就出现了DNS一说。DNS是Domain Name System的简写,意为分布式域名系统。分布在世界各地的主机,要想访问其他主机,就会询问当地的DNS服务器:“嘿,我知道对应主机的主机名为google.com,我想知道这台主机的IP地址是多少?”如果曾经有主机问过这台DNS服务器有关主机名google.com的IP地址,那么它会“记住”,然后按照“记忆”(高速缓存)的信息吧Google的IP地址回应给发起询问主机;如果它不知道,那么它会向上一级DNS服务器询问直到找到Google的服务器IP为止。

现在最常用的DNS服务器软件是BIND,其中BIND是Berkeley Internet Name Domain的缩写,是由伯克利加州大学开发的一套分布式管理主机的域名解析系统(Domain Name System,简称DNS)。

在Linux系统下,可以通过修改/etc/resolv.conf文件来指定DNS服务器设置:
A)当本机是一般主机时:

search localdomain.test
nameserver 114.114.114.114; //主DNS服务器
nameserver 8.8.8.8; //副DNS服务器

B)当本机是DNS服务器时:

domain localdomain.test
nameserver 10.0.0.1; //主DNS服务器
nameserver 10.0.0.2; //辅DNS服务器

开始安装

Step 1. 安装BIND软件

sudo apt install bind9

Step 2.编辑配置文件:/etc/bind/named.conf.local

/etc/bind/named.conf.local文件用以定义本机DNS记录。
增加如下内容:
zone "myserver.test" ; myserver.test为你要实现解析的域名
{
type master;
file "<数据文件路径>"
}

其中域名是指你要添加解析的域名,数据文件是保存该域名下所有记录的文件,我们在下面创建:

Step 3.新建并编辑数据文件

(数据文件格式):

$TTL 3600 ;允许客户端缓存来自查询数据的默认时间
;下面定义该域名解析设定,即所谓的起始授权机构(SOA)资源记录
;本例中,“myserver.test.”定义了当前SOA所管辖的域名(注意,域名后面有一个句点符号),当然,为书写方便,可以用符号“@”来代表当前域名
;IN 是Internet的缩写,这是固定死的
;dns.myserver.test. 指负责此区域名称解析的授权主机名
;admin.dns.myserver.test.是管理员EMAIL地址。由于@符号有特殊意义,所以用.来代替@。
;下面记录除序列号之外默认单位(即不写单位)为秒,在实际应用中,单位可以是 小时h , 天d , 周w
@ IN SOA dns.myserver.test. admin.dns.myserver.test. 
(
    2018082401 ;序列号,当辅助DNS服务器与主DNS服务器进行同步时就好比较该数值。若发现主DNS服务器的数值大就进行DNS记录复制操作,否则放弃复制操作。
    4h ;辅DNS服务器同步间隔
    1h ;当辅DNS服务器同步失败重试间隔
    1w ;记录失效时间,超过这个时间将触发辅助DNS服务器与主DNS服务器(本机)的同步操作
    4h );默认最小TTL时间,最小默认TTL定义为允许辅助名称服务器缓存查询数据的默认时间
    ;下面是具体DNS记录
@           IN      NS      dns.server.test.
dns         IN      A       10.0.0.1 ;你的服务器的IP地址
localhost   IN      A       127.0.0.1
loopback    IN      CNAME   localhost

你可能感兴趣的:(在Ubuntu 16.04 LTS下安装DNS Server过程回顾)