如何在Linux上安装和配置仅缓存的DNS服务器


本文将向您展示如何使用DNS在本地环境中配置DNS缓存或转发服务器。在学习配置网站和服务器等内容时,DNS(域名系统)服务器通常至关重要。大多数人会选择使用托管公司或域控制器提供的DNS服务器。

缓存DNS服务器

此配置将缓存DNS服务器。这类服务器被称为解析器,因为它处理递归查询,并且可以处理从服务器跟踪DNS数据的繁琐工作。

安装BIND软件包

要安装bind软件包,可以使用以下命令。此外,缓存名称服务器软件包已包含在bind软件包中。

# yum install bind bind-chroot
Resolving Dependencies
--> Running transaction check
---> Package bind.x86_64 32:9.8.2-0.37.rc1.el6_7.7 will be installed
--> Processing Dependency: bind-libs = 32:9.8.2-0.37.rc1.el6_7.7 for package: 32:bind-9.8.2-0.37.rc1.el6_7.7.x86_64
---> Package bind-chroot.x86_64 32:9.8.2-0.37.rc1.el6_7.7 will be installed
--> Running transaction check
---> Package bind-libs.x86_64 32:9.8.2-0.37.rc1.el6 will be updated
--> Processing Dependency: bind-libs = 32:9.8.2-0.37.rc1.el6 for package: 32:bind-utils-9.8.2-0.37.rc1.el6.x86_64
---> Package bind-libs.x86_64 32:9.8.2-0.37.rc1.el6_7.7 will be an update
--> Running transaction check
---> Package bind-utils.x86_64 32:9.8.2-0.37.rc1.el6 will be updated
---> Package bind-utils.x86_64 32:9.8.2-0.37.rc1.el6_7.7 will be an update
--> Finished Dependency Resolution

Dependencies Resolved

==============================================================================================================================================
Package Arch Version Repository Size
==============================================================================================================================================
Installing:
bind x86_64 32:9.8.2-0.37.rc1.el6_7.7 updates 4.0 M
bind-chroot x86_64 32:9.8.2-0.37.rc1.el6_7.7 updates 75 k
Updating for dependencies:
bind-libs x86_64 32:9.8.2-0.37.rc1.el6_7.7 updates 887 k
bind-utils x86_64 32:9.8.2-0.37.rc1.el6_7.7 updates 186 k

Transaction Summary
==============================================================================================================================================
Install 2 Package(s)
Upgrade 2 Package(s)

Total download size: 5.1 M
Is this ok [y/N]: y
Downloading Packages:
(1/4): bind-9.8.2-0.37.rc1.el6_7.7.x86_64.rpm | 4.0 MB 00:00
(2/4): bind-chroot-9.8.2-0.37.rc1.el6_7.7.x86_64.rpm | 75 kB 00:00
(3/4): bind-libs-9.8.2-0.37.rc1.el6_7.7.x86_64.rpm | 887 kB 00:00
(4/4): bind-utils-9.8.2-0.37.rc1.el6_7.7.x86_64.rpm | 186 kB 00:00
----------------------------------------------------------------------------------------------------------------------------------------------
Total 1.4 MB/s | 5.1 MB 00:03
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Updating : 32:bind-libs-9.8.2-0.37.rc1.el6_7.7.x86_64 1/6
Installing : 32:bind-9.8.2-0.37.rc1.el6_7.7.x86_64 2/6
Installing : 32:bind-chroot-9.8.2-0.37.rc1.el6_7.7.x86_64 3/6
Updating : 32:bind-utils-9.8.2-0.37.rc1.el6_7.7.x86_64 4/6
Cleanup : 32:bind-utils-9.8.2-0.37.rc1.el6.x86_64 5/6
Cleanup : 32:bind-libs-9.8.2-0.37.rc1.el6.x86_64 6/6
Verifying : 32:bind-chroot-9.8.2-0.37.rc1.el6_7.7.x86_64 1/6
Verifying : 32:bind-utils-9.8.2-0.37.rc1.el6_7.7.x86_64 2/6
Verifying : 32:bind-9.8.2-0.37.rc1.el6_7.7.x86_64 3/6
Verifying : 32:bind-libs-9.8.2-0.37.rc1.el6_7.7.x86_64 4/6
Verifying : 32:bind-libs-9.8.2-0.37.rc1.el6.x86_64 5/6
Verifying : 32:bind-utils-9.8.2-0.37.rc1.el6.x86_64 6/6
Installed:
bind.x86_64 32:9.8.2-0.37.rc1.el6_7.7 bind-chroot.x86_64 32:9.8.2-0.37.rc1.el6_7.7
Dependency Updated:
bind-libs.x86_64 32:9.8.2-0.37.rc1.el6_7.7 bind-utils.x86_64 32:9.8.2-0.37.rc1.el6_7.7
Complete!
Config the Configuration File

出于安全考虑,我们需要使用以下命令从bind示例文件中复制bind配置文件。需要根据安装的版本更改文件路径。

# cd /var/named/chroot/etc
# cp /usr/share/doc/bind-9.8.2/sample/etc/named.conf /var/named/chroot/etc
# cp /usr/share/doc/bind-9.8.2/sample/etc/named.rfc1912.zones /var/named/chroot/etc

更新配置文件

您可以在自己喜欢的编辑器中编辑bind配置文件,并根据以下要求和设置进行必要的更改:

# /var/named/chroot/etc/named.conf
options {
   listen-on port 53 { 127.0.0.1; 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; any; };
   allow-query-cache { localhost; any; };
   recursion yes;
   dnssec-enable yes;
   dnssec-validation yes;
   dnssec-lookaside auto;
   /* Path to ISC DLV key */
   bindkeys-file "/etc/named.iscdlv.key";
   managed-keys-directory "/var/named/dynamic";
};
logging {
   channel default_debug {
      file "data/named.run";
      severity dynamic;
   };
};
include "/etc/named.rfc1912.zones";

现在,使用以下命令更新配置文件所需的权限。

# chown root:named named.conf named.rfc1912.zones

检查配置文件

我们建议在重新启动服务之前检查DNS配置文件,使用以下命令:

# named-checkconf named.conf

重新启动Bind服务

现在,bind服务的安装和配置已完成。我们使用以下命令启动bind(named)服务。

# service named restart

启用系统启动时自动启动bind服务。

# chkconfig named on

最后测试仅缓存DNS

使用以下命令直接向**DNS**服务器发送查询。

Syntax: nslookup <domain name> <caching dns server name/IP address>
# nslookup google.com 192.168.87.150
[Sample Output:]
Server: 192.168.87.158
Address: 192.168.87.158#53
Non-authoritative answer:
Name: google.com
Address: 216.58.220.46

如果我们配置了上述配置,则已成功在您的Linux系统上配置了缓存DNS服务器,我们可以将其用作本地环境中的缓存服务器。

更新于:2020年1月20日

2K+ 浏览量

开启您的职业生涯

通过完成课程获得认证

开始
广告
© . All rights reserved.