在Ubuntu Server 14.04中设置缓存DNS服务器

域名服务(DNS)是一种将IP地址和完全限定域名彼此映射的命名服务。运行DNS的计算机称为名称

域名服务 (DNS)是IP地址和完全限定域名映射到另一个命名服务。 运行DNS的计算机称为Nameservers。

在这里我已经安装和配置缓存服务器使用转发器,正向查找和预留查找。 在大多数地方,我们需要一个预留查找。 缓存服务器不会保存任何域名,它将只作为指向服务器工作。 在深入研究之前,我们需要了解DNS服务器及其工作原理。

在Ubuntu中设置DNS缓存

在Ubuntu 14.04中设置DNS缓存

什么是DNS?

这里是一个简单的方法来了解DNS及其工作原理。

如果我们需要在浏览器来访问howtoing.com,系统会寻找howtoing.com。 在此间举行的.COM年底会有一个(。),所以这是什么?。

()表示名字空间的根服务器,有全球通用共有13台根服务器。 虽然我们访问howtoing.com它会问到域名服务器根据操作系统配置。 在Ubuntu中,我们使用了配置/etc/resolv.conf中的Nameservers,在访问howtoing.com我的浏览器会问到根域名的服务器,如果根域名服务器没有我的它会要求域信息缓存我所需的信息并转发我的要求(TLD) 顶级域名服务器,即使是在顶级域名服务器我的要求是不存在,它会被缓存并转发到权威Nameservers。

虽然域名注册,我们的域名注册人将定义我们的域使用哪个权威的Nameservers。 因此,权威Nameservers有我们的域名信息的,而我们的要求达到ANS它将为howtoing.com在将在权威域名服务器的缓存,同时有111.111.222.1和发送请求回浏览器查询答复。 以上步骤均在毫秒内完成。

希望你现在是什么是DNS,它是如何工作的。 现在,让我们建立在Ubuntu服务器14.04 LTS一个缓存DNS服务器

第1步:安装DNS服务器

首先,看看我的本地DNS服务器信息,如静态IP地址和主机名,这是用于本文的目的。

IP Address:	192.168.0.100
Hostname:	dns.howtoinglocal.com

要验证上面的设置是正确的,我们可以用'hostnamectl“和” 使用ifconfig “命令。

$ hostnamectl
$ ifconfig eth0 | grep inet
验证系统主机名

验证系统主机名

接下来,在设置DNS缓存服务器之前,我们更新默认存储库并进行系统升级。

$ sudo apt-get update && sudo apt-get upgrade -y
升级Ubuntu

升级Ubuntu

现在,安装DNS软件包结合并使用以下命令dnsutils。

$ sudo apt-get install bind9 dnsutils -y
在Ubuntu中安装DNS服务

安装DNS服务

有一次,安装DNS,移动到绑定配置目录,在/ etc /绑定

$ /etc/bind/
$ ls -l
在Ubuntu中绑定配置

绑定配置

第2步:设置DNS缓存服务器

首先,我们在这里设置和配置缓存服务器。 打开和使用vim编辑器编辑该文件named.conf.options。

$ sudo vim named.conf.options

现在,这里所说的“ 转发器 ”被用于缓存域名的请求。 所以,在这里,我们将使用我的路由器作为转发器。 注释在画面中所示,前行的的//。

forwarders {
192.168.0.1;
};
命名配置

命名配置

保存并使用WQ退出文件 现在它的时间来启动绑定服务器进行小测试了。

$ sudo /etc/init.d/bind9 start
在Ubuntu中启动DNS服务器

启动DNS服务器

如果我们需要测试是否缓存的工作,我们可以使用dig命令并检查缓存是否工作或没有。

例如目的,我们现在要挖ubuntu.com,首先,它会不会被高速缓存,因此可能需要一些毫秒,一旦缓存它会在闪电般的速度。

$ dig @127.0.0.1 ubuntu.com

dig命令是DNS查找的工具。 要了解更多关于Dig命令阅读下面的主题。

  1. 10有用的Dig命令示例
查询DNS查找

查询DNS查找

在这里,我们可以在上面的图片中看到的第一个挖花了1965年毫秒为我查询并显示哪些IP地址为绑定到ubuntu.com。

让我们再试一次,看看查询时间。

DNS查询时间

DNS查询时间

酷!在第二次尝试,我们得到5毫秒内查询。 希望你知道什么是缓存服务器。 上图显示,该共有13台根服务器的缓存Ubuntu.com,因为数以百万计的人民已经访问Ubuntu的官方网站。

第3步:设置主DNS服务器

创建一个主DNS服务器,在这里,我定义域名作为howtoinglocal.com,编辑文件named.conf.local使用vim编辑器。

$ sudo vim /etc/bind/named.conf.local

如下图所示,输入DNS的主项。

zone "howtoinglocal.com" {
type master;
file "/etc/bind/db.howtoinglocal.com";
};
    1. :东道主域详细

  1. 类型 :主DNS。
  2. 文件 :位置存储区信息。
在DNS中创建区域

在DNS中创建区域

db.local制作副本创建区域文件db.howtoinglocal.com(正向查找UPS)。

$ sudo cp db.local db.howtoinglocal.com

现在使用vim编辑器打开并编辑复制的区域文件。

$ sudo vim db.howtoinglocal.com
复制区域文件

复制区域文件

接下来,添加以下示例条目,我已经用于教程目的。 我也使用相同的其他虚拟机设置。 根据您的要求修改以下条目。

;
; BIND data file for local loopback interface
;
$TTL    604800
@       IN      SOA     howtoinglocal.com. root.howtoinglocal.com. (
2014082801         ; Serial
604800         ; Refresh
86400         ; Retry
2419200         ; Expire
604800 )       ; Negative Cache TTL
;
@       IN      NS      ns.howtoinglocal.com.
ns      IN      A       192.168.0.100
clt1    IN      A       192.168.0.111
ldap    IN      A       192.168.0.200
ldapc   IN      A       192.168.0.211
mail    IN      CNAME   clt1.howtoinglocal.com.

保存并使用WQ退出文件

创建转发DNS区域

创建转发DNS区域

最后,使用以下命令重新启动绑定DNS服务。

 
$ sudo service bind9 restart
启动DNS服务

启动DNS服务

我们需要确认,我们上面的区域设置是否工作。 让我们检查使用dig命令。 从localhost查询运行以下命令。

$ dig @127.0.0.1 mail.howtoinglocal.com
验证DNS区域

验证DNS区域

让我们来ping和测试clt1.howtoinglocal.com,在这之前我们需要更改DNS服务器进入我们的DNS服务器的机器到本地主机,然后重新启动网络获得的效果。

打开并编辑网络接口设置并输入DNS条目。

$ sudo vim /etc/network/interfaces

更改接口中的DNS条目如下。

auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.0.100
netmask 255.255.255.0
gateway 192.168.0.1
network 192.168.0.0
broadcast 192.168.0.255
dns-nameservers 127.0.0.1
dns-search howtoinglocal.com
在Ubuntu中添加DNS条目

添加DNS条目

添加条目后,使用以下命令重新启动网络。

$ sudo ifdown eth0 && sudo ifup eth0

如果重新启动网络不生效,我们必须重新启动。 现在让我们来ping和检查clt1.howtoinglocal.com,而在回答它,我们需要让我们的主机名CLT1定义的IP地址。

$ ping clt1.howtoinglocal.com -c 3
Ping域

Ping域

设置反向DNS查找

再次打开并编辑文件named.conf.local。

$ sudo vim /etc/bind/named.conf.local

现在添加以下反向dns查找条目如图所示。

zone "0.168.192.in-addr.arpa" {
type master;
notify no;
file "/etc/bind/db.howtoinglocal192";
};
创建反向DNS

创建反向DNS

保存并使用WQ退出文件 现在创建一个db.howtoinglocal192文件,我的主文件上述反查中都提到,复制db.127使用下面的命令db.howtoinglocal192。

$ sudo cp db.127 db.howtoinglocal192

现在,打开和编辑上建立一个文件db.howtoinglocal192反向查询。

$ sudo vim db.howtoinglocal192

输入以下条目,按照您的要求修改以下条目。

;
; BIND reverse data file for local loopback interface
;
$TTL    604800
@       IN      SOA     ns.howtoinglocal.com. root.howtoinglocal.com. (
2014082802      ; Serial
604800         ; Refresh
86400         ; Retry
2419200         ; Expire
604800 )       ; Negative Cache TTL
;
@       IN      NS      ns.
100     IN      PTR     ns.howtoinglocal.com.
111     IN      PTR     ctl1.howtoinglocal.com.
200     IN      PTR     ldap.howtoinglocal.com.
211     IN      PTR     ldapc.howtoinglocal.com.
反向DNS条目

反向DNS条目

使用重新启动绑定服务。

现在,验证保留查找条目。

$ host 192.168.0.111

虽然我们使用如上所示的ip地址进行反向查找,但是它想要用如上图所示的名称回复。

让我们使用dig命令也做一个检查。

$ dig clt1.howtoinglocal.com
反向DNS查找

反向DNS查找

在这里,我们可以看到我们的答案科查询 应答作为域名clt1.howtoinglocal.com的IP地址为192.168.0.111。

第4步:设置客户机

只要改变在客户端机器上我们的本地DNS服务器192.168.0.100的IP地址和DNS条目,如果这样,我们的客户机将得到从本地DNS服务器分配的主机名。

让我们使用以下一系列命令检查客户端的主机名。

$ ifconfig eth0 | grep inet
$ hostname	
$ dig -x 192.168.0.100
验证本地DNS

验证本地DNS

在dns中了解区域文件条目,此图像将给您一个小解释我们在区域文件条目中定义。

了解DNS区域条目

了解DNS区域条目

而已! 在本文中,我们已经了解了如何为我们的办公室或家庭使用设置本地DNS服务器。

很快,你可以阅读有关文章如何使用各种工具来解决DNS服务器和修复它。 有许多工具可用于排除DNS服务器故障。 阅读下面的文章,了解一些故障排除提示。

8 Nslookup命令的DNS故障排除