在Debian / Ubuntu上设置您自己的DNS服务器

注:本教程在Vultr VPS上测试通过,如需部署请前往Vultr.com

本教程说明了如何在Debian或Ubuntu上使用Bind9设置DNS服务器。在整篇文章中,替代 your-domain-name.com 相应地。在本教程的最后,您将拥有一个可用的Ubuntu DNS服务器。

安装Bind9

apt-get install bind9

组态

备份当前的Bind9设置。

cp /etc/bind/named.conf.options /etc/bind/named.conf.options.bak

编辑 /etc/bind/named.conf.options 并将内容替换为以下内容:

options {
        directory "/var/cache/bind";
        auth-nxdomain no;
        listen-on-v6 { any; };
        statistics-file "/var/cache/bind/named.stats";
        rrset-order {order cyclic;};
    allow-transfer { 127.0.0.1; };
};
logging {
        channel b_query {
                file "/var/log/bind9/query.log" versions 2 size 1m;
                print-time yes;
                severity info;
        };
        category queries { b_query; };
};

创建Bind9的日志目录。

mkdir /var/log/bind9
chown bind:bind /var/log/bind9

编辑 /etc/bind/named.conf 配置您的域区域文件位置。追加以下几行:

zone "your-domain-name.com" {
        type master;
        file "/etc/bind/zones/your-domain-name.com.db";
};

在以下位置创建您的域区域文件 /etc/bind/zones/your-domain-name.com.db。按照以下模板插入您的DNS记录:

$TTL    86400
@   IN  SOA ns1.your-domain-name.com. root.your-domain-name.com. (
            2014100801  ; Serial
            43200       ; Refresh
            3600        ; Retry
            1209600     ; Expire
            180 )       ; Minimum TTL

; Nameservers
    IN  NS  ns1.your-domain-name.com.
    IN  NS  ns2.your-domain-name.com.
    IN  NS  ns3.your-domain-name.com.

; Root site
    IN  A   123.456.78.90

; Hostname records
*   IN  A   123.456.78.90
sub1    IN  A   123.456.78.91
sub2    IN  A   123.456.78.92

; Aliases
www IN  CNAME   your-domain-name.com.
webmail IN  CNAME   ghs.google.com.

; MX records
@   IN  MX  1   aspmx.l.google.com.
@   IN  MX  3   alt1.aspmx.l.google.com.
@   IN  MX  3   alt2.aspmx.l.google.com.
@   IN  MX  5   aspmx2.googlemail.com.
@   IN  MX  5   aspmx3.googlemail.com.
@   IN  MX  5   aspmx4.googlemail.com.
@   IN  MX  5   aspmx5.googlemail.com.

; SPF records
@   IN  TXT "v=spf1 ip4:199.195.140.194 include:_spf.google.com ~all"

重新启动Bind9:

/etc/init.d/bind9 restart

你们都准备好了此时,您可能想在域注册商中注册DNS服务器。之后,您可以将现有的名称服务器更改为自己的DNS服务器。

如果遇到问题并需要查看错误,则可以使用以下命令。

/etc/init.d/bind9 status

注:本教程在Vultr VPS上测试通过,如需部署请前往Vultr.com