当前位置: 首页 > news >正文

内网DNS搭建-bind9

## 基础环境

```
操作系统:ubuntu 22.04
```

 

## 安装bind9

```
sudo apt update
sudo apt install bind9 bind9utils bind9-doc -y


```

 

## 配置文件详解

### 🧩 主配置片段(在 `/etc/bind/` 下)

这些文件通过 `include` 语句被主配置文件 `named.conf` 引用,共同构成完整的 BIND 配置。

| 文件名 | 作用 |
| :--------------------------- | :----------------------------------------------------------- |
| **named.conf** | BIND 的主配置文件。它本身通常只包含几个 `include` 行,用于引入其他配置文件片段。你可以把它看作是配置的入口。 |
| **named.conf.options** | **全局选项配置文件**。这里设置 BIND 的全局行为,例如监听哪些 IP 地址和端口(`listen-on`)、允许哪些客户端查询(`allow-query`)、是否开启递归(`recursion`)、指定转发器(`forwarders`)、DNSSEC 设置等。修改选项时主要编辑此文件。 |
| **named.conf.local** | **本地区域配置文件**。用于定义你自己添加的 DNS 区域(zone)。例如,当你需要为你的域名 `example.com` 添加权威解析时,就会在这个文件中添加相应的 `zone` 语句。 |
| **named.conf.default-zones** | **默认区域配置文件**。由 Debian/Ubuntu 的 BIND 软件包提供,它定义了系统正常运行所需的基本区域,如 `localhost`、`127.in-addr.arpa` 等。通常不需要也不应该修改此文件。 |
| **bind.keys** | **DNSSEC 信任锚文件**。包含用于验证 DNSKEY 记录的初始信任锚(trust anchors)。它由软件包维护,一般情况下无需手动修改,但如果你需要自定义 DNSSEC 信任链,可以在此调整(不推荐)。 |

------

### 📁 区域数据文件(也在 `/etc/bind/` 下)

这些文件是 DNS 区域的实际数据文件,存储了具体的域名和 IP 地址映射记录。

| 文件名 | 作用 |
| :---------------- | :----------------------------------------------------------- |
| **db.local** | **本地主机正向解析区域文件**。定义了 `localhost.` 这个域名对应的 IPv4 地址(`127.0.0.1`)和 IPv6 地址(`::1`)。 |
| **db.127** | **本地回环反向解析区域文件**。为 `127.0.0.0/8` 网络提供反向解析(PTR 记录),通常只包含一条记录将 `1.0.0.127.in-addr.arpa` 指向 `localhost.`。 |
| **db.0** | **`0.0.0.0/8` 网络的反向解析区域文件**。此网络通常用于特殊用途(如“本网络”),该文件中一般只有一条记录,将 `0.0.0.0` 的反向指向 `localhost.` 或留空。 |
| **db.255** | **`255.0.0.0/8` 网络的反向解析区域文件**。用于广播地址的反向查询,通常也只有一个指向 `localhost.` 的 PTR 记录,或者为空白。 |
| **db.empty** | **空的区域文件**。它是一个占位文件,在默认配置中用于某些不需要解析数据的区域。内容通常只有 SOA 和 NS 记录,没有任何实际的主机记录。 |
| **zones.rfc1918** | **私有地址反向区域声明文件**。该文件包含了 RFC 1918 定义的私有 IPv4 地址段(如 `10.0.0.0/8`、`172.16.0.0/12`、`192.168.0.0/16`)的反向解析区域定义(`zone` 语句)。它被 `named.conf.default-zones` 引用,使 BIND 能够为这些私有地址提供反向查询(但实际数据通常为空)。 |

 

## 配置修改

named.conf.options

```
options {
directory "/var/cache/bind";
allow-query { 10.0.0.0/8; }; # 允许访问的ip地址
recursion yes; # 是否允许递归查询,如果要解析外网地址此项必须为yes
// If there is a firewall between you and nameservers you want
// to talk to, you may need to fix the firewall to allow multiple
// ports to talk. See http://www.kb.cert.org/vuls/id/800113

// If your ISP provided one or more IP addresses for stable
// nameservers, you probably want to use them as forwarders.
// Uncomment the following block, and insert the addresses replacing
// the all-0's placeholder.

forwarders { # 上游服务器的地址,可以设置多个
223.5.5.5;
};

//========================================================================
// If BIND logs error messages about the root key being expired,
// you will need to update your keys. See https://www.isc.org/bind-keys
//========================================================================
dnssec-validation auto;

listen-on-v6 { any; };
};
```

 

named.conf.local

```
zone "tqsys.cn" {
type master; # 主dns
file "/etc/bind/db.tqsys.cn"; # 定义dns解析文件存放地址
};

 

```

 

 

db.tqsys.cn

```
;
; BIND data file for tqsys.cn
;
$TTL 604800 # time to live,默认生存时间 7天
@ IN SOA ns1.tqsys.cn. admin.tqsys.cn. ( # 主域名服务器,及管理员邮箱 @代表当前域名及tqsys.cn
2024031601 ; Serial (格式:YYYYMMDDNN) # 序列号。用于辅助 DNS 服务器判断区域数据是否更新。通常采用 YYYYMMDDNN 格式(年-月-日-修改次数),每次修改区域文件后必须增大该数字,否则从服务器不会同步。
604800 ; Refresh # 刷新间隔,从服务器每隔这个时间(秒)向主服务器查询区域是否有更新
86400 ; Retry # 重试间隔。如果从服务器在刷新时联系不上主服务器,它会每隔这个时间(秒)重试一次
2419200 ; Expire # 过期时间。如果从服务器连续 Expire 秒(此处 28 天)无法联系主服务器,它将丢弃该区域数据,不再提供权威应答,因为数据可能已过时。
604800 ) ; Negative Cache TTL # 否定缓存 TTL。其他 DNS 服务器对于该域中不存在的记录(NXDOMAIN 或 NODATA)的否定应答缓存时间。这里也是 7 天。
;
@ IN NS ns1.tqsys.cn. # 指定该域名的权威域名服务器,这里声明ns1.tqsys.cn是tqsys.cn的权威域名
@ IN A 10.2.8.20 # 将tqsys.cn本身解析到10.2.8.20 ns1 IN A 10.2.8.20 # 将ns1.tqsys.cn解析到10.2.8.20
www IN A 10.2.8.20 # 将www.tqsys.cn解析到10.2.8.20
aa IN A 10.7.8.99 # 将aa.tqsys.cn解析到10.7.8.99

 

```

 

 

## 检查配置并启动服务

```
sudo named-checkconf # 检查主配置语法
sudo named-checkzone tqsys.cn /etc/bind/db.tqsys.cn # 检查区域文件
sudo systemctl start named
sudo systemctl enable named # 设置开机自启


sudo systemctl reload named # 重新加载配置
sudo systemctl restart named # 重启named


```

 

 

 

## 测试验证域名解析是否生效

```
# 使用dig命令(Linux)
dig @10.2.8.20 www.tqsys.cn

# 或使用nslookup命令(Windows/Linux)
nslookup www.example.com 10.2.8.20

```

 

http://www.jsqmd.com/news/489837/

相关文章:

  • SQLServer 2008远程连接全攻略:从防火墙配置到用户权限设置(避坑指南)
  • 2026年本地餐饮劳务派遣服务公司价格大比拼,哪家更实惠 - myqiye
  • GRU vs LSTM:5个真实场景下的性能对比测试(含Python代码)
  • 合同管理新方式:智能合同系统,你值得拥有!
  • 2026年上海婚介靠谱企业推荐,高性价比机构哪家值得选 - 工业设备
  • 一体化人力资源管理系统,打造企业人才发展新平台
  • Tableau仪表板操作全解析:从筛选器到URL跳转的实战指南
  • 2026年第一季度江苏马可波罗瓷砖专业服务商综合指南 - 2026年企业推荐榜
  • 前瞻2026:碳排放智能监测系统公司排名的核心维度与趋势展望 - 2026年企业推荐榜
  • WINCC与S7-1200PLC通讯实战:从仿真到真实设备的完整配置流程
  • C++虚函数:多态实现的关键基石
  • Wireshark抓不到localhost流量?试试这个Npcap回环适配器配置教程
  • 2026年济南甲醇供应商口碑榜:五家实力企业深度解析 - 2026年企业推荐榜
  • 2026年3月湖北服务器企业可靠度深度解析 - 2026年企业推荐榜
  • SpringBoot+Vue +校园求职招聘系统管理平台源码【适合毕设/课设/学习】Java+MySQL
  • 2026年3月优质中心供氧施工企业综合推荐与采购指南 - 2026年企业推荐榜
  • 2026年河北在线式甲酸真空回流焊专业批发商综合评估 - 2026年企业推荐榜
  • 基于python的家庭消费数据分析系统的设计与实现
  • 计科成长破局:在传统课程与AI冲击中,锚定核心竞争力
  • 开发模式对比
  • 上海江浙沪有哪些知名经济合同纠纷律师,哪家好用 - 工业推荐榜
  • 基于协同过滤算法的音乐网站的设计与实现
  • 2026年3月高端豪宅设计师深度评测:如何找到你的理想筑梦师? - 2026年企业推荐榜
  • 深聊2026年新型围栏优质供应商,宝强五金质量过硬 - 工业品牌热点
  • 2026年艺术生校考机构如何选?这五家信誉机构值得关注 - 2026年企业推荐榜
  • Nat Methods | 哈工大王亚东/程亮团队开发通用反卷积深度学习框架,实现转录组、蛋白质组、代谢组细胞数据精准解析
  • 架构自定义UDP协议视频传输调试
  • 细聊2026年办公室装修推荐机构,岚禾设计靠谱又专业 - mypinpai
  • 2026GEO选型实战:五大服务商深度解析与推荐 - 2026年企业推荐榜
  • 2026年Q1脱硫脱硝智能控制系统源头厂家深度测评与选购指南 - 2026年企业推荐榜