ubuntu搭建dns

在 Ubuntu 上搭建 DNS,可安装 BIND 服务,配置主配置文件与区域文件,设置相关参数后重启服务生效。

在Ubuntu上搭建DNS服务器,通常使用BIND(Berkeley Internet Name Domain)软件来实现,以下是详细的搭建步骤:

一、安装BIND

1、更新包列表

   sudo aptget update

2、安装BIND9及相关工具

   sudo aptget install bind9 bind9utils bind9doc

二、配置BIND

1、设置Bind为IPv4模式(可选)

如果专用网络仅使用IPv4,可以将BIND设置为IPv4模式,编辑/etc/default/bind9文件:

   sudo nano /etc/default/bind9

OPTIONS参数的末尾加上"4",如下所示:

   OPTIONS="u bind 4"

保存并关闭文件后,重新启动BIND以实现更改:

   sudo systemctl restart bind9

2、配置主配置文件named.conf.options

打开/etc/bind/named.conf.options文件进行编辑:

ubuntu搭建dns

   sudo nano /etc/bind/named.conf.options

在现有选项块之上,创建一个称为“受信任”的新ACL(访问控制列表)块,定义允许递归DNS查询的客户机列表。

   acl "trusted" {
       10.128.10.11;    # ns1 can be set to localhost
       10.128.20.12;    # ns2
       10.128.100.101;  # host1
       10.128.200.102;  # host2
   };
   options {
       directory "/var/cache/bind";
       forwarders {
           8.8.8.8;        # 公共DNS服务器作为转发器
       };
       dnssecvalidation auto;
       authnxdomain no;    # conform to RFC1035
       listenonv6 { any; };
       listenon port 53 { 10.128.10.11; }; # 填写自己的DNS服务器IP地址
       allowtransfer { any; };
       allowquery { any; };
   };

3、配置正向解析区域

编辑/etc/bind/named.conf.local文件,添加要解析的域名及对应的域名配置文件:

   zone "example.com" {
       type master;
       file "/etc/bind/db.example.com";
   };

创建并编辑/etc/bind/db.example.com文件:

   sudo cp /etc/bind/db.local /etc/bind/db.example.com
   sudo nano /etc/bind/db.example.com

修改内容如下:

   $TTL 604800
   @       IN      SOA     ns1.example.com. root.example.com. (
                               2023101001 ; Serial
                               604800     ; Refresh
                               86400      ; Retry
                               2419200    ; Expire
                               604800 )   ; Negative Cache TTL
   ;
   @       IN      NS      ns1.example.com.
   @       IN      A       10.128.10.11
   ns1     IN      A       10.128.10.11
   www     IN      A       10.128.10.11

4、配置反向解析区域

编辑/etc/bind/named.conf.local文件,添加反向解析区域:

ubuntu搭建dns

   zone "10.128.inaddr.arpa" {
       type master;
       file "/etc/bind/db.128.10";
   };

创建并编辑/etc/bind/db.128.10文件:

   sudo cp /etc/bind/db.127 /etc/bind/db.128.10
   sudo nano /etc/bind/db.128.10

修改内容如下:

   $TTL 604800
   @       IN      SOA     ns1.example.com. root.example.com. (
                               2023101001 ; Serial
                               604800     ; Refresh
                               86400      ; Retry
                               2419200    ; Expire
                               604800 )   ; Negative Cache TTL
   ;
   @       IN      NS      ns1.example.com.
   11      IN      PTR     ns1.example.com.
   101     IN      PTR     host1.example.com.
   102     IN      PTR     host2.example.com.

三、启动并测试DNS服务器

1、启动BIND服务

   sudo systemctl restart bind9

2、测试DNS解析

使用dig命令进行测试:

   dig @10.128.10.11 example.com
   dig @10.128.10.11 x 10.128.10.11

如果返回的ANSWER数量大于0,则表示解析成功。

四、常见问题与解答

问题一:启动bind9之后,无法查询到配置的A记录。

ubuntu搭建dns

解答:首先查看启动日志tail /var/log/syslog,检查是否有错误提示,确保配置文件中的语法正确,特别是域名和IP地址的对应关系,如果配置文件没有问题,尝试重启BIND服务。

问题二:如何设置DNS服务器的转发器?

解答:在/etc/bind/named.conf.options文件中,找到forwarders块,添加需要转发的DNS服务器IP地址。

forwarders {
    8.8.8.8;        # Google公共DNS服务器
    8.8.4.4;        # Google公共DNS服务器
};

保存文件后,重启BIND服务以使更改生效。

来源互联网整合,作者:小编,如若转载,请注明出处:https://www.aiboce.com/ask/193509.html

Like (0)
小编小编
Previous 2025年4月25日 10:22
Next 2025年4月25日 10:57

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注