Ubuntu安装bind9,自建内网DNS服务器

Ubuntu安装bind9,自建内网DNS服务器

这么一个情况:在有些开发工作的时候,用IP访问非常麻烦。并且希望在外网走外网的服务器,内网走内网的测试服务器,用同一个域名来访问。

就是想自定义域名,又不想改host的文件。那就只有通过dns来解决了。 可以在‘网络适配器-本地连接’中固定dns或者在路由器中统一修改dns就可以了。

1、开始安装

sudo apt-get install bind9
sudo apt-get install bind9-host dnsutils
sudo systemctl enable bind9

2、配置

# 打开named.conf.options
sudo vim /etc/bind/named.conf.options

# 在后面追加
version "not currently available";
recursion yes;
allow-recursion {127.0.0.1; 192.168.0.0/24; 10.10.10.0/24;};
querylog yes; 

# 检查配置文件的语法
sudo named-checkconf

# 重新启动bind9
sudo systemctl restart bind9

# 开放端口
sudo ufw allow in from 192.168.0.0/24 to any port 53

需要注意allow-recursion的配置,要包含服务器的本地地址。

3、测试bind9配置

在另外一台电脑上,查询某域名的A记录

dig A dev-tang.com @192.168.0.190

; <<>> DiG 9.11.5-P4 <<>> A dev-tang.com @192.168.0.190
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 24330
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: 909156cb6f23cce7010000006160f003c1ddcfecda936b69 (good)
;; QUESTION SECTION:
;dev-tang.com.                  IN      A

;; Query time: 1 msec
;; SERVER: 192.168.0.190#53(192.168.0.190)
;; WHEN: 周六 10月 09 09:27:33     2021
;; MSG SIZE  rcvd: 69

4、解析一个域名 解析一个自定义域名jizhong.tang

# 编辑named.conf.local文件
sudo vim /etc/bind/named.conf.local

# 加入以下内容
zone "jizhong.tang" IN {
    type master;
    file "/etc/bind/jizhong.tang";
};

# 在创建一个/etc/bind/jizhong.tang文件
sudo vim /etc/bind/jizhong.tang
# 加入以下域名解析内容
    604800
@       IN      SOA     localhost. root.localhost. (
                              2         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@       IN      NS      localhost.
@       IN      A       127.0.0.1
@       IN      AAAA    ::1
@       IN      A       192.168.0.124

将jizhong.tang的A记录解析到了192.168.0.124。我们可以在另外一台电脑上做测试。

dig A jizhong.tang @192.168.0.190

; <<>> DiG 9.11.5-P4 <<>> A jizhong.tang @192.168.0.190
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 26492
;; flags: qr aa rd; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: 5d01536cd4938a44010000006160f28f31b0ab1d0f853a8a (good)
;; QUESTION SECTION:
;jizhong.tang.                  IN      A

;; ANSWER SECTION:
jizhong.tang.           604800  IN      A       192.168.0.124
jizhong.tang.           604800  IN      A       127.0.0.1

;; Query time: 0 msec
;; SERVER: 192.168.0.190#53(192.168.0.190)
;; WHEN: 周六 10月 09 09:38:24     2021
;; MSG SIZE  rcvd: 101

可以看到解析生效了。这样就可以直接用域名访问192.168.0.124上的服务了。不过还是需要记得修改‘网络适配器中-本地连接’中的dns为dns服务器的ip,或者在路由器中做修改也是可以的。

本博客采用 知识共享署名-禁止演绎 4.0 国际许可协议 进行许可

本文标题:Ubuntu安装bind9,自建内网DNS服务器

本文地址:https://dev-tang.com/post/2021/10/ubuntu-bind9.html

推荐阅读