赞
踩
sudo apt-get install bind9
内网搭建DNS服务器,大多数是解析纯内网地址使用。但是偶尔也需要解析外网的地址,所以我们可以配置DNS没有添加A记录的URL时,forward到外网DNS服务器或者内网的其他DNS服务器解析。
打开配置文件:
sudo vi /etc/bind/named.conf.options
编辑forward,指定转发服务器public DNS:114.114.114.114或者8.8.8.8:
- forwarders {
- 8.8.8.8;
- };
接下来,我们配置DNS服务器在IPv4工作:
sudo vi /etc/default/bind9
将options=“-u bind ”修改为:将options=“-u bind -4 ”
- #
- # run resolvconf?
- RESOLVCONF=no
-
- # startup options for the server
- OPTIONS="-u bind -4"
保存退出。
更改配置后,重启bind9 服务:
sudo service bind9 restart
如果要指定可以递归查询的DNS服务器,需要添加ACL:
- ACL "trusted"{
- 114.114.114.114;
- 8.8.8.8;
- 192.168.0.0/16
- };
- options {
- directory "/var/cache/bind";
- recursion yes;
- allow-recursion{trusted;}
- listen-on{192.168.31.170;}
- allow-transfer {none;}
- forwarders {
- 114.114.114.114
- 8.8.8.8
- }
- }
上述配置指定只有我们自己的服务器才能在DNS服务器中查询外部域。
保存退出。
下面以绑定域名: core.harbor.domain 192.168.1.105 来举例,目标是局域网内通过域名服务器解析core.harbor.domain 得到ip 192.168.1.105
sudo vi /etc/bind/named.conf.local
这个文件内,除注释文件外,为空。添加如下正向区域文件。
domain.com为内网的域名,内网子网wei192.168.0.0/16
- zone "domain.com" {
- type master;
- file "/etc/bind/zones/db.harbor.domain";
- };
-
- zone "168.192.in-addr.arpa"{
- type master;
- file "/etc/bind/zones/db.168.192";
- };
创建zones区域文件:
sudo mkdir /etc/bind/zones
1
将db.local文件复制到zones目录下:
sudo cp /etc/bind/db.local /etc/bind/zones/db.harbor.domain
1
编辑区域文件:
sudo vi /etc/bind/zones/db.harbor.domain
修改成
- ; BIND data file for local loopback interface
- ;
- $TTL 1D
-
- @ IN SOA harbor.domain. core.harbor.domain. (
-
- 0 ; serial
-
- 1D ; refresh
-
- 1H ; retry
-
- 1W ; expire
-
- 3H ) ; minimum
-
- NS core.harbor.domain.
-
- core A 192.168.1.105
-
-
- www A 10.0.0.7

保存退出。至此正向区域就完成了。
反向区域方法与正向相同,只是A records更改为PTR records即可。
反向区域文件是我们为反向DNS查找定义DNS PTR记录的地方。 也就是说,当DNS通过IP地址接收查询时,它将查看反向区域文件以解析相应的FQDN。
sudo cp /etc/bind/db.127 /etc/bind/zones/db.168.192
sudo vi /etc/bind/zones/db.168.192
创建PTR:
- ;
- ; BIND reverse data file for local loopback interface
- ;
- $TTL 604800
- @ IN SOA harbor.domain. root.harbor.domain. (
- 3 ; Serial
- 604800 ; Refresh
- 86400 ; Retry
- 2419200 ; Expire
- 604800 ) ; Negative Cache TTL
- ;
- ;@ IN NS localhost.
-
- ;1.0.0 IN PTR localhost.
- 192.168.1.1 IN PTR root.harbor.domain
- 192.168.1.105 IN PTR core.harbor.domain

最后验证测试:
验证正向区域
sudo named-checkzone harbor.domain /etc/bind/zones/db.harbor.domain
验证反向区域
sudo named-checkzone 168.192.in-addr.arpa /etc/bind/zones/db.168.192
过程中还需要注意firewall是否有允许bind9同行。
sudo ufw allow Bind9
参考文档:
Ubuntu 用bind9搭建DNS服务器_ubuntu bind9配置_Par@ish的博客-CSDN博客
ubuntu 22.04 lts bind9 局域网DNS服务器搭建 泛域名配置_ubuntu bind9_Faith1810的博客-CSDN博客
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。