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

在 Ubuntu 18.04 中搭建和测试 DNS 服务器

在 Ubuntu 18.04 中搭建和测试 DNS 服务器可以通过安装和配置 BIND(Berkeley Internet Name Domain)来实现。以下是详细的步骤:

1. 安装 BIND

打开终端并运行以下命令来安装 BIND:

sudo apt update
sudo apt install bind9 bind9utils bind9-doc

2. 配置 BIND

2.1 设置区域文件

编辑 BIND 的主配置文件 /etc/bind/named.conf.local,在文件的末尾添加你的区域配置。假设你想为域 example.com 设置 DNS 服务器:

sudo nano /etc/bind/named.conf.local

在文件中添加以下内容:

zone "example.com" {type master;file "/etc/bind/db.example.com";
};
2.2 创建区域数据文件

接下来,创建区域数据文件 /etc/bind/db.example.com

sudo cp /etc/bind/db.local /etc/bind/db.example.com

然后编辑新创建的文件:

sudo nano /etc/bind/db.example.com
``在编辑器中,你可以根据需求修改区域文件内容。以下是一个简单的区域文件示例:```plain
$TTL    604800
@       IN      SOA     ns.example.com. admin.example.com. (2         ; Serial604800         ; Refresh86400         ; Retry241920         ; Expire604800 )       ; Negative Cache TTL
;
@       IN      NS      ns.example.com.
@       IN      A       192.168.1.10  ; 替换为你的服务器IP地址
ns      IN      A       192.168.1.10  ; 替换为你的服务器IP地址
www     IN      A       192.168.1.10  ; 替换为你的服务器IP地址

3. 检查配置

在启动 BIND 之前,检查配置文件是否有错误:

sudo named-checkconf
sudo named-checkzone example.com /etc/bind/db.example.com

如果没有错误消息,则可以继续。

4. 启动 BIND 服务

启动 BIND 服务并设置为开机自启:

sudo systemctl start bind9
sudo systemctl enable bind9

5. 配置防火墙

如果你有防火墙(如 ufw),请允许 DNS 服务通过:

sudo ufw allow 53

6. 测试 DNS 服务器

使用 dig 命令来测试 DNS 服务器是否正常工作:

dig @localhost example.com

你应该看到类似于以下的输出,确认 DNS 服务器返回了正确的响应:

;; ANSWER SECTION:
example.com.       604800  IN      A       192.168.1.10

7. 配置客户端

如果你在本地网络中使用此 DNS 服务器,可以在客户端设备上将其 DNS 服务器设置为 192.168.1.10(或你的 BIND 服务器的 IP 地址)。

在 Ubuntu 上,可以通过编辑 /etc/resolv.conf 文件来设置 DNS 服务器:

sudo nano /etc/resolv.conf

将以下行添加到文件中:

nameserver 192.168.1.10

8. 测试客户端 DNS 解析

在客户端机器上,使用 dignslookup 命令测试 DNS 解析是否正常工作:

dig example.com

或者:

nslookup example.com

如果一切正常,你应该能够看到 DNS 解析的结果。

9. 其他命令

  • 查看 BIND 服务状态:
sudo systemctl status bind9
  • 重新加载 BIND 配置(在修改后):
sudo systemctl reload bind9

通过以上步骤,你就可以在 Ubuntu 18.04 中成功搭建并测试一个 DNS 服务器了!

http://www.lryc.cn/news/484797.html

相关文章:

  • 算法学习第一弹——C++基础
  • javaWeb小白项目--学生宿舍管理系统
  • 如何优化Elasticsearch的查询性能?
  • 蓝桥杯每日真题 - 第12天
  • 从H264视频中获取宽、高、帧率、比特率等属性信息
  • Cyberchef配合Wireshark提取并解析TCP/FTP流量数据包中的文件
  • Nginx中使用keepalive实现保持上游长连接实现提高吞吐量示例与测试
  • 深度学习-卷积神经网络CNN
  • 241114.学习日志——[CSDIY] [Cpp]零基础速成 [03]
  • 大模型研究报告 | 2024年中国金融大模型产业发展洞察报告|附34页PDF文件下载
  • 数据库SQL——什么是实体-联系模型(E-R模型)?
  • 在 MySQL 8.0 中,SSL 解密失败,在使用 SSL 加密连接时出现了问题
  • React Native 全栈开发实战班 - 第四部分:用户界面进阶之动画效果实现
  • 【CICD】GitLab Runner 和执行器(Executor
  • 实用教程:如何无损修改MP4视频时长
  • mysqldump命令搭配source命令完成数据库迁移备份
  • 生信:TCGA学习(R、RStudio安装与下载、常用语法与常用快捷键)
  • 十三、注解配置SpringMVC
  • 为什么海外服务器IP会被封
  • 图像处理技术椒盐噪声
  • [笔记]L6599的极限工作条件考量
  • 机器学习基础04
  • Ubuntu 20.04 配置开发环境(持续更新)
  • Rocky9/Ubuntu使用pip安装python的库mysqlclient失败解决方式
  • 探索 HTML 和 CSS 实现的 3D旋转相册
  • OpenJudge_ 简单英文题_04:0/1 Knapsack
  • 深入探索离散 Hopfield 神经网络
  • [智能车摄像头是一种安装在汽车上用于辅助驾驶和提高安全性的重要设备]
  • 前端vue 列表中回显并下拉选择修改标签
  • hbase未来的发展趋势