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

Linux搭建DNS服务器

一、Ubuntu系统

1.安装 BIND 软件包

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

 2.配置主配置文件

编辑/etc/bind/named.conf.options,添加上游 DNS 服务器

options {directory "/var/cache/bind";// 添加百度和阿里 DNS作为上游服务器forwarders {223.5.5.5;180.76.76.76;};// 允许查询的客户端allow-query { any; };recursion yes;
};

3.创建正向区域文件

编辑/etc/bind/named.conf.local,添加区域配置: 

zone "yang.com" {type master;file "/etc/bind/zones/yang.com";
};

4.创建区域数据文件

sudo mkdir -p /etc/bind/zones
sudo cp /etc/bind/db.local /etc/bind/zones/yang.com

编辑yang.com文件

$TTL    604800
@       IN      SOA     ns1.yang.com. admin.yang.com. (3         ; Serial604800         ; Refresh86400         ; Retry2419200         ; Expire604800 )       ; Negative Cache TTL
;
@       IN      NS      ns1.yang.com.
@       IN      A       192.168.10.161
ns1     IN      A       192.168.10.161
esxi1   IN      A       192.168.10.220
esxi2   IN      A       192.168.10.200

 区域文件基本结构
1.$TTL 指令 - 设置默认的 TTL 值 (Time-To-Live)

        $TTL定义了区域中所有资源记录的默认 TTL 值(以秒为单位)
        604800秒等于 7 天,表示缓存服务器可以保留此记录的最长时间


2.SOA 记录 - 起始授权机构记录,定义区域的基本信息

        @是区域名yang.com的简写
        IN表示 Internet 类记录
        SOA表示起始授权机构记录
        ns1.yang.com.是主 DNS 服务器的 FQDN(注意结尾的点)
        admin.yang.com.是区域管理员的邮箱地址(点表示 @符号)
        序列号 (Serial):区域数据版本号,更新区域时需递增
        刷新时间 (Refresh):从属 DNS 服务器多久查询一次主服务器更新
        重试时间 (Retry):刷新失败后多久重试
        过期时间 (Expire):如果主服务器不可达,从属服务器保留数据的时间
        负缓存 TTL (Negative Cache TTL):未找到记录的缓存时间


3.NS 记录 - 名称服务器记录,指定负责该区域的 DNS 服务器

        指定负责该区域的权威 DNS 服务器
        ns1.yang.com.必须在区域内有对应的 A 记录


4.A/AAAA 记录 - 将域名映射到 IPv4/IPv6 地址

        @表示区域根域名yang.com
        ns1扩展为ns1.yang.com
        esxi1扩展为esxi1.yang.com
        esxi2扩展为esxi2.yang.com
        每个 A 记录将域名映射到对应的 IPv4 地址

其他常用记录类型
CNAME 记录(别名记录)
ftp     IN      CNAME   www.example.com.
将ftp.yang.com指向www.yang.com的同一 IP 地址

MX 记录(邮件交换记录)
@       IN      MX      10 mail.example.com.
指定接收example.com邮件的服务器
数字10表示优先级,值越小优先级越高

泛域名解析记录
*       IN      A       192.168.1.200     ; 让所有未单独配置的子域名都指向此IP

区域文件编辑注意事项
(1)FQDN 结尾的点:所有完全限定域名必须以点 (.) 结尾
(2)序列号管理:每次修改区域文件后,必须递增 SOA 记录中的序列号
(3)注释使用:分号 (;) 后的内容为注释,可以用来解释配置
(4)语法检查:修改后使用named-checkzone命令检查语法
(5)TTL 调整:生产环境中建议从较短的 TTL 开始,确认无误后再增加

5.检查配置语法并重启服务 

sudo named-checkconf
sudo named-checkzone yang.com /etc/bind/zones/yang.com
sudo systemctl restart bind9
sudo systemctl enable bind9

二、Centos系统 

http://www.xdnf.cn/news/10264.html

相关文章:

  • BLE协议全景图:从0开始理解低功耗蓝牙
  • 堆与堆排序及 Top-K 问题解析:从原理到实践
  • 玩客云WS1608控制LED灯的颜色
  • 光电设计大赛智能车激光对抗方案分享:低成本高效备赛攻略
  • C 语言栈实现详解:从原理到动态扩容与工程化应用(含顺序/链式对比、函数调用栈、表达式求值等)
  • python连接邮箱的协议选择
  • C语言结构体的别名与创建结构体变量
  • jetpack compose 界面刷新的几种方式 如何避免无效的界面刷新
  • Remote Sensing投稿记录(投稿邮箱写错、申请大修延期...)风雨波折投稿路
  • Adobe Acrobat 9.1.2 Pro (install)
  • 电路图识图基础知识-常用仪表识图及接线(九)
  • 特征图可视化代码
  • 数据库核心技术深度剖析:事务、索引、锁与SQL优化实战指南(第四节)----从行级锁到死锁处理的系统梳理
  • WIN11+CUDA11.8+VS2019配置BundleFusion
  • Linux之MySQL安装篇
  • Redis主从复制详解
  • 扫一扫的时候会经历哪些事
  • 华为OD机试真题——模拟消息队列(2025A卷:100分)Java/python/JavaScript/C++/C语言/GO六种最佳实现
  • 哪些工作最容易被AI取代?
  • C++基础算法————深度优先搜索(DFS)
  • 【速通RAG实战:进阶】17、AI视频打点全攻略:从技术实现到媒体工作流提效的实战指南
  • 嵌入式(C语言篇)Day13
  • Go语言事件总线EventBus本地事件总线系统的完整实现框架
  • Angularjs-Hello
  • Java中的引用类型以及区别的特点
  • 复数三角不等式简介及 MATLAB 演示
  • 电脑用户名是中文,conda配置环境报错,该怎么解决
  • SpringBoot网络请求RestTemplate Util工具类
  • Kerberos面试内容整理-会话密钥的协商与使用
  • WIN11+eclipse搭建java开发环境