当前位置:首页 > 云服务器 > 正文

ubuntu dns服务器 配置

在Ubuntu系统中配置DNS服务器可以通过安装BIND(Berkeley Internet Name Domain)软件包来实现,BIND是广泛使用的DNS服务器软件之一,以下是详细的配置步骤:

更新系统包列表并安装BIND,打开终端,执行以下命令:
sudo apt update
sudo apt install bind9

安装完成后,编辑BIND的主配置文件/etc/bind/named.conf.options,添加DNS转发器和监听地址。

options {  
    directory "/var/cache/bind";  
    forwarders {  
        8.8.8.8;  
        8.8.4.4;  
    };  
    listenon { any; };  
    listenonv6 { any; };  
    allowquery { any; };  
};  

forwarders指定上游DNS服务器,listenonallowquery控制访问权限。

创建区域文件以解析域名,为域名example.com创建正向和反向解析区域,在/etc/bind/named.conf.local中添加:

zone "example.com" {  
    type master;  
    file "/etc/bind/db.example.com";  
};  
zone "1.168.192.inaddr.arpa" {  
    type master;  
    file "/etc/bind/db.192.168.1";  
};  

创建正向区域文件/etc/bind/db.example.com如下:

$TTL    604800  
@       IN      SOA     ns1.example.com. admin.example.com. (  
                        2025081501      ; Serial  
                        604800         ; Refresh  
                        86400          ; Retry  
                        2419200        ; Expire  
                        604800 )       ; Negative Cache TTL  
;  
@       IN      NS      ns1.example.com.  
ns1     IN      A       192.168.1.100  
www     IN      A       192.168.1.101  

反向区域文件/etc/bind/db.192.168.1内容为:

$TTL    604800  
@       IN      SOA     ns1.example.com. admin.example.com. (  
                        2025081501      ; Serial  
                        604800         ; Refresh  
                        86400          ; Retry  
                        2419200        ; Expire  
                        604800 )       ; Negative Cache TTL  
;  
@       IN      NS      ns1.example.com.  
100     IN      PTR     ns1.example.com.  
101     IN      PTR     www.example.com.  

配置完成后,检查BIND配置语法:
sudo namedcheckconf
sudo namedcheckzone example.com /etc/bind/db.example.com

若无错误,重启BIND服务:
sudo systemctl restart bind9
sudo systemctl enable bind9

测试DNS解析功能,使用nslookup命令查询域名:
nslookup www.example.com
或反向查询:
nslookup 192.168.1.101

以下为配置参数说明表:

参数 说明
forwarders 指定上游DNS服务器地址,用于转发无法解析的请求
listenon 监听的网络地址,any表示监听所有IPv4地址
allowquery 允许查询的主机范围,any表示允许所有主机查询
SOA 起始授权机构记录,包含域名管理信息和序列号
NS 名称服务器记录,指定负责该域名的DNS服务器
A 主机记录,将域名映射到IPv4地址
PTR 指针记录,反向解析中将IP地址映射到域名

相关问答FAQs

  1. 问:如何限制DNS查询仅允许特定IP地址访问?
    答:在/etc/bind/named.conf.options中修改allowquery参数,例如仅允许192.168.1.0/24网段:
    allowquery { 192.168.1.0/24; };

  2. 问:如何配置DNS日志记录?
    答:在/etc/bind/named.conf.options中添加logging配置,

    logging {  
        channel default_log {  
            file "/var/log/named/default.log" versions 3 size 1m;  
            severity info;  
            printtime yes;  
        };  
        category default { default_log; };  
    };  

    然后创建日志文件并设置权限:
    sudo touch /var/log/named/default.log
    sudo chown bind:bind /var/log/named/default.log

0