ubuntu bind dns服务配置

复制代码
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博客

相关推荐
啊阿狸不会拉杆31 分钟前
《计算机网络-自顶向下方法》5.4 ISP之间的路由选择:BGP 读书笔记
网络·计算机网络·接口隔离原则
徐小黑ACG2 小时前
nginx配置文件
linux·服务器·nginx
新时代牛马2 小时前
Linux VFS 完整篇:从path_openat、dentry/inode 到page cache 与挂载排障
linux·运维·服务器
Delite8022 小时前
摆脱实验室束缚:便携式卡尔费休微量水分检测技术与现场应用解析
大数据·网络·人工智能
java_logo2 小时前
Docker 部署 Rocky Linux:轻松搭建 RHEL 兼容企业级基础镜像平台
linux·docker·容器·rocky linux·基础镜像·轩辕镜像·rhel 兼容
拂拉氏2 小时前
【知识讲解】 Linux虚拟地址空间认识
linux·虚拟地址空间
ACP广源盛139246256732 小时前
M6/M5 Pro Mac mini 端侧 AI 落地@ACP#YLB3116 中端多盘存储扩展在 AI 服务中的机会与应用场景
大数据·网络·数据库·人工智能·嵌入式硬件·macos
ACP广源盛139246256733 小时前
M6/M5 Pro Mac mini 端侧 AI 新形态@ACP#GSV5800 Serdes 长距离视频传输在 AI 服务中的机会与落地场景
大数据·网络·数据库·人工智能·嵌入式硬件·macos·音视频
cloudfantasy3 小时前
docker直接二进制安装,非编译。KylinV10SP3 aarch64有效
运维·docker
我爱cope3 小时前
【计算机网络 | 传输层3:TCP 协议概述:面向连接、可靠传输到底意味着什么?】
网络·网络协议·学习·tcp/ip·计算机网络·传输层