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

Ubuntu搭建DNS服务器

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";// 添加Google 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表示优先级,值越小优先级越高

区域文件编辑注意事项
(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
http://www.xdnf.cn/news/10207.html

相关文章:

  • python:PyMOL 能处理 *.pdb 文件吗?
  • 俄军操作系统 Astra Linux 安装教程
  • 机器学习:欠拟合、过拟合、正则化
  • Android15 userdebug版本不能remount
  • reverse_ssh 建立反向 SSH 连接指南 混淆AV [好东西哟]
  • 腾讯云推出云开发AI Toolkit,国内首个面向智能编程的后端服务
  • Vue 3 中ref 结合ts 获取 DOM 元素的实践指南。
  • BLE 广播与扫描机制详解:如何让设备“被看见”?
  • Deseq2:MAG相对丰度差异检验
  • 算法分析与设计概述
  • 达梦的TEMP_SPACE_LIMIT参数
  • 如何实现一个请求库?【面试场景题】
  • NLP学习路线图(十三):正则表达式
  • CloudCompare-源码分析-绘制与 3D 场景分离的“前景”元素
  • 【harbor】--harbor仓库部署
  • win32相关(临界区)
  • 免费且好用的PDF水印添加工具
  • 【图像处理入门】2. Python中OpenCV与Matplotlib的图像操作指南
  • 第304个Vulnhub靶场演练攻略:digital world.local:FALL
  • 考研系列—操作系统:第四章、文件管理(part.1)
  • 软件工程方法论:在确定性与不确定性的永恒之舞中寻找平衡
  • CSS专题之水平垂直居中
  • Unity3D仿星露谷物语开发58之保存时钟信息到文件
  • java 微服务中,微服务相互调用 feign 和flux 如何选择
  • 在 RK3588 上通过 VSCode 远程开发配置指南
  • 基础补充(扩展方法/协变)
  • 设计模式——建造者设计模式(创建型)
  • Spring Boot 自动参数校验
  • 基于大模型预测带状疱疹(无并发症)诊疗方案的研究报告
  • 基于图神经网络的自然语言处理:融合LangGraph与大型概念模型的情感分析实践