如何在 Ubuntu 上安装 BIND9 主从 DNS 服务器

在本教程中,我们将向您展示如何在 Ubuntu 上安装 BIND9 主从 DNS 服务器。 BIND 是一个广泛使用的 DNS 服务器。 理想情况下,DNS 服务器由两台同时工作的机器组成,一台作为主机,另一台作为从机。 如果您的域注册商没有为您提供免费的 DNS 服务器,或者您想要创建自定义 DNS 记录,那么您可能需要托管自己的 DNS 服务器。

在本教程中,我们将介绍如何配置 BIND9 主从 DNS 服务器。 两台服务器都将使用 Ubuntu 操作系统。 我们将开始配置主服务器,然后是从服务器。

先决条件

  • 运行以下操作系统之一的服务器:Ubuntu 和任何其他基于 Debian 的发行版,如 Linux Mint。
  • 建议您使用全新的操作系统安装来防止任何潜在问题。
  • 对服务器的 SSH 访问(或者如果您在桌面上,则只需打开终端)。
  • 一种 non-root sudo user或访问 root user. 我们建议充当 non-root sudo user,但是,如果您在充当 root 时不小心,可能会损害您的系统。

在 Ubuntu 上安装 BIND9 主从 DNS 服务器

以下是服务器的示例数据:

Server1(主)IP地址:108.100.100.1
Server2(从)IP地址:108.100.100.2
域名:idroot.us
此域将托管在此服务器上:172.217.194.94

在大师

第1步。 更新 ubuntu 存储库并使用 apt-get 安装 Bind。

apt-get update apt-get install bind9

第2步。 配置绑定选项

*)do this if you haven't installed nano text editor:  apt-get install nano  nano /etc/bind/named.conf.options
options { 	directory "/var/cache/bind"; 	additional-from-auth no; 	additional-from-cache no; 	version "Bind Server";  	// If there is a firewall between you and nameservers you want 	// to talk to, you may need to fix the firewall to allow multiple 	// ports to talk.  See https://www.kb.cert.org/vuls/id/800113  	// If your ISP provided one or more IP addresses for stable  	// nameservers, you probably want to use them as forwarders.   	// Uncomment the following block, and insert the addresses replacing  	// the all-0's placeholder.  	 forwarders { 	 	8.8.8.8; 		8.8.4.4; 	 };  	//======================================================================== 	// If BIND logs error messages about the root key being expired, 	// you will need to update your keys.  See https://www.isc.org/bind-keys 	//======================================================================== 	dnssec-validation auto; 	allow-recursion { 127.0.0.1; }; 	auth-nxdomain no;    # conform to RFC1035 	listen-on-v6 { any; }; };

步骤 3。 存储域名和区域文件设置

nano /etc/bind/named.conf.local
//place these lines at the bottom of file  zone "idroot.us" {         type master;         file "/etc/bind/zones/idroot.us.db";         allow-transfer { 108.200.200.2; };         also-notify { 108.200.200.200.2; }; };

第4步。 因为在上面的配置中,我们将区域文件放在“/etc/bind/zones/idroot.us.db”,然后我们需要创建文件夹和文件

mkdir /etc/bind/zones nano /etc/bind/zones/idroot.us.db
$TTL    86400 $ORIGIN idroot.us. @       IN      SOA     ns1.idroot.us. root.idroot.us. (                               1         ; Serial                           86400         ; Refresh                            7200         ; Retry                         2419200         ; Expire                          604800 )       ; Negative Cache TTL ; @       IN      NS      ns1.idroot.us. @       IN      NS      ns2.idroot.us. ns1      IN      A       108.100.100.1 ns2      IN      A       108.100.100.2  ;also list other computers @       IN      A       172.217.194.94  www     IN      A       172.217.194.94

步骤 5。 (master上的最后一步)重启bind9 DNS服务

service bind9 restart

在奴隶

重复步骤 1-2 类似于 master。

步骤 3。 配置从属绑定选项

nano /etc/bind/named.conf.options
zone "idroot.us" { 	type slave; 	file "/var/cache/bind/idroot.us.db"; 	masters {108.100.100.1;}; };

请注意此配置文件与 master 的区别。

第4步。 重启bind9服务。

service bind9 restart

接下来做什么?

在您更改域的名称服务器之前,此 DNS 服务器将无法工作。 可以从您域的注册商网站完成。 在这种情况下,我们将名称服务器更改为:

ns1.idroot.us
ns2.idroot.us

测试 BIND

此测试可以在 DNS 服务器本身或从另一台服务器或从您自己的 PC 上完成。 在这种情况下,我们将从另一台运行 Ubuntu OS 的服务器上进行测试。

第1步。安装 dnsutils

sudo apt-get install dnsutils

第2步。 做 dig DNS 测试

dig idroot.us

在 Ubuntu 上安装 BIND9 主从 DNS 服务器

步骤 3。 做 nslookup dns 测试

nslookup idroot.us

在 Ubuntu 上安装 BIND9 主从 DNS 服务器

Save

Save