BIND 9 搭建 DNS 服务器
背景
一般域名注册商都会提供DNS解析服务,但是有时候我们需要自己搭建DNS服务器,比如自己的服务器上有很多域名,或者是自己的服务器上有很多子域名,这时候就需要自己搭建DNS服务器。
搭建DNS服务器
我使用的DNS服务器软件是BIND9,操作系统使用的是Ubuntu22.04。
The Berkeley Internet Name Domain (BIND 9) 是互联网域名服务器的实现。BIND 9是互联网上最广泛使用的域名服务器软件,且由互联网系统协会
提供支持。
安装 BIND 9
sudo apt install bind
以Godaddy作为演示
- 登录Godaddy的域名控制台。
- 设置DNS服务器的记录,然后在Nameserver填上DNS服务器的IP地址,不然其他域名使用这个DNS服务器时不会生效。
设置NS的DNS记录
用于提供DNS的域名中添加二级域名,一般是ns开头数字结尾ns1..ns5
设置Nameserver
配置自己的域名使用自己搭建的DNS服务器
设置域名的DNS服务器为自己搭建的DNS地址(ns1.exampledns.cc ns2.exampledns.cc),然后在自己搭建的DNS服务器上修改区域文件。
修改区域文件
sudo vim /etc/bind/named.conf.local
zone "exampledomain.cc" {
type master;
file "/etc/bind/zones/db.exampledomain.cc";
};
sudo vim /etc/bind/zones/db.exampledomain.cc
$TTL 300
@ IN SOA ns1.exampledns.cc. admin.exampledns.cc. (
2024022008 ; Serial
300 ; Refresh
86400 ; Retry
2419200 ; Expire
300 ) ; Negative Cache TTL
@ IN NS ns1.exampledns.cc.
@ IN NS ns2.exampledns.cc.
@ IN A 47.28.123.189
www IN CNAME @
重启 BIND 9
sudo systemctl restart bind9
测试
dig exampledomain.cc