统信UOS|DNS server|02-部署DNS服务器
yuyutoo 2025-05-02 14:24 3 浏览 0 评论
原文链接:统信UOS|DNS server|02-部署DNS服务器
hello,大家好啊!继上次我们介绍了如何在统信UOS操作系统1060上搭建一个测试用的HTTP服务器之后,今天我们将继续我们的DNS服务器部署系列。这是第二篇文章,我们将讲解如何在统信UOS上搭建DNS服务器,用于终端解析HTTP服务器的网站。这个过程相对简单,但对于理解网络基础和搭建完整的网络服务环境非常重要。让我们开始吧!
为什么需要搭建DNS服务器?
DNS(域名系统)是互联网的重要组成部分,它将人类可读的域名(如 www.example.com)转换为机器可读的IP地址。在内部网络中,搭建自己的DNS服务器可以帮助更快速地解析内部域名,同时也提供了更多的控制和定制化选项。
1、查看系统信息
[root@pdsyw ~]# cat /etc/os-version
[Version]
SystemName=UOS Server
SystemName[zh_CN]=统信服务器操作系统
ProductType=Server
ProductType[zh_CN]=服务器
EditionName=e
EditionName[zh_CN]=e
MajorVersion=20
MinorVersion=1060
OsBuild=12038.101.100
[root@pdsyw ~]#
[root@pdsyw ~]# uname -a
Linux pdsyw 4.19.90-2305.1.0.0199.56.uel20.x86_64 #1 SMP Fri May 12 19:23:49 CST 2023 x86_64 x86_64 x86_64 GNU/Linux
[root@pdsyw ~]#
2、安装BIND及其附带的工具
[root@pdsyw ~]# yum install bind bind-utils -y
UnionTechOS-Server-20-1060-everything 13 kB/s | 4.2 kB 00:00
UnionTechOS-Server-20-1060-everything 1.9 MB/s | 22 MB 00:12
UnionTechOS-Server-20-1060 38 kB/s | 3.8 kB 00:00
Package bind-32:9.11.21-15.uel20.x86_64 is already installed.
Package bind-utils-32:9.11.21-15.uel20.x86_64 is already installed.
Dependencies resolved.
======================================================================================
Package Arch Version Repository Size
======================================================================================
Upgrading:
bind x86_64 32:9.11.21-18.uel20 UnionTechOS-Server-20-everything 2.0 M
bind-libs x86_64 32:9.11.21-18.uel20 UnionTechOS-Server-20-everything 77 k
bind-libs-lite x86_64 32:9.11.21-18.uel20 UnionTechOS-Server-20-everything 1.0 M
bind-utils x86_64 32:9.11.21-18.uel20 UnionTechOS-Server-20-everything 324 k
python3-bind noarch 32:9.11.21-18.uel20 UnionTechOS-Server-20-everything 60 k
Transaction Summary
======================================================================================
Upgrade 5 Packages
Total download size: 3.5 M
Downloading Packages:
(1/5): bind-libs-9.11.21-18.uel20.x86_64.rpm 434 kB/s | 77 kB 00:00
(2/5): bind-libs-lite-9.11.21-18.uel20.x86_64.rpm 1.4 MB/s | 1.0 MB 00:00
(3/5): bind-utils-9.11.21-18.uel20.x86_64.rpm 504 kB/s | 324 kB 00:00
(4/5): python3-bind-9.11.21-18.uel20.noarch.rpm 224 kB/s | 60 kB 00:00
(5/5): bind-9.11.21-18.uel20.x86_64.rpm 876 kB/s | 2.0 MB 00:02
--------------------------------------------------------------------------------------
Total 1.5 MB/s | 3.5 MB 00:02
UnionTechOS-Server-20-1060-everything 13 kB/s | 1.7 kB 00:00
Importing GPG key 0x8DF595ED:
Userid : "UnionTech <security@uniontech.com>"
Fingerprint: C822 503F 2F4C E25A 6EA0 65BE 9055 A64E 8DF5 95ED
From : https://euler-packages.chinauos.com/server-euler//fuyu/1060/everything/x86_64/RPM-GPG-KEY-UnionTech
Key imported successfully
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Running scriptlet: bind-libs-32:9.11.21-18.uel20.x86_64 1/1
Upgrading : bind-libs-32:9.11.21-18.uel20.x86_64 1/10
Running scriptlet: bind-libs-32:9.11.21-18.uel20.x86_64 1/10
Upgrading : bind-libs-lite-32:9.11.21-18.uel20.x86_64 2/10
Running scriptlet: bind-libs-lite-32:9.11.21-18.uel20.x86_64 2/10
Upgrading : python3-bind-32:9.11.21-18.uel20.noarch 3/10
Running scriptlet: bind-32:9.11.21-18.uel20.x86_64 4/10
Upgrading : bind-32:9.11.21-18.uel20.x86_64 4/10
Running scriptlet: bind-32:9.11.21-18.uel20.x86_64 4/10
Upgrading : bind-utils-32:9.11.21-18.uel20.x86_64 5/10
Cleanup : bind-utils-32:9.11.21-15.uel20.x86_64 6/10
Cleanup : bind-libs-lite-32:9.11.21-15.uel20.x86_64 7/10
Running scriptlet: bind-libs-lite-32:9.11.21-15.uel20.x86_64 7/10
Cleanup : bind-libs-32:9.11.21-15.uel20.x86_64 8/10
Running scriptlet: bind-libs-32:9.11.21-15.uel20.x86_64 8/10
Cleanup : python3-bind-32:9.11.21-15.uel20.noarch 9/10
Running scriptlet: bind-32:9.11.21-15.uel20.x86_64 10/10
Cleanup : bind-32:9.11.21-15.uel20.x86_64 10/10
Running scriptlet: bind-32:9.11.21-15.uel20.x86_64 10/10
Verifying : bind-32:9.11.21-18.uel20.x86_64 1/10
Verifying : bind-32:9.11.21-15.uel20.x86_64 2/10
Verifying : bind-libs-32:9.11.21-18.uel20.x86_64 3/10
Verifying : bind-libs-32:9.11.21-15.uel20.x86_64 4/10
Verifying : bind-libs-lite-32:9.11.21-18.uel20.x86_64 5/10
Verifying : bind-libs-lite-32:9.11.21-15.uel20.x86_64 6/10
Verifying : bind-utils-32:9.11.21-18.uel20.x86_64 7/10
Verifying : bind-utils-32:9.11.21-15.uel20.x86_64 8/10
Verifying : python3-bind-32:9.11.21-18.uel20.noarch 9/10
Verifying : python3-bind-32:9.11.21-15.uel20.noarch 10/10
Upgraded:
bind-32:9.11.21-18.uel20.x86_64 bind-libs-32:9.11.21-18.uel20.x86_64
bind-libs-lite-32:9.11.21-18.uel20.x86_64 bind-utils-32:9.11.21-18.uel20.x86_64
python3-bind-32:9.11.21-18.uel20.noarch
Complete!
[root@pdsyw ~]#
3、编辑主配置文件
[root@pdsyw ~]# cp /etc/named.conf{,.bak}
[root@pdsyw ~]#
[root@pdsyw ~]# vi /etc/named.conf
[root@pdsyw ~]#
[root@pdsyw ~]# cat /etc/named.conf
options {
listen-on port 53 { 127.0.0.1; 192.168.80.132; }; # BIND监听的地址
listen-on-v6 port 53 { ::1; }; # IPv6支持
directory "/var/named"; # 区域文件存储目录
dump-file "/var/named/data/cache_dump.db"; # 缓存转储文件位置
statistics-file "/var/named/data/named_stats.txt"; # 统计文件位置
memstatistics-file "/var/named/data/named_mem_stats.txt"; # 内存统计文件位置
allow-query { localhost; 192.168.80.0/24; }; # 允许查询的网络
recursion yes; # 允许递归查询
dnssec-enable yes; # 启用DNSSEC
dnssec-validation yes; # 启用DNSSEC验证
bindkeys-file "/etc/named.root.key"; # DNSSEC的根密钥文件
managed-keys-directory "/var/named/dynamic"; # 设置管理密钥的目录
pid-file "/run/named/named.pid"; # PID文件位置
session-keyfile "/run/named/session.key"; # 会话密钥文件位置
};
logging { # 定义日志记录的配置
channel default_debug { # 指定特定的日志记录行为
file "data/named.run"; # 指定日志将被记录到的文件
severity dynamic; # 允许管理员在不重启 BIND 服务的情况下动态地更改日志记录级别
};
};
zone "." IN { # 定义根域(.)的区域类型和相关文件
type hint; # 根域名服务器的信息
file "named.ca"; # 使 DNS 服务器能够解析互联网上的域名
};
include "/etc/named.rfc1912.zones"; # 包含额外的区域配置文件
include "/etc/named.root.key"; # 包含 DNSSEC 的根密钥文件
zone "pdsyw.cn" IN { # 定义区域,设置为主区域,并指定其数据文件。
type master; # 主区域类型
file "pdsyw.cn.zone"; # 此区域的数据文件
allow-update { none; }; # 不允许动态更新
};
zone "80.168.192.in-addr.arpa" IN {
type master; # 主区域类型,用于反向解析
file "80.168.192.in-addr.arpa.zone"; # 反向解析区域文件
allow-update { none; }; # 不允许动态更新
};
/* 可以在此处添加更多区域定义 */
[root@pdsyw ~]#
4、编辑正向解析区域文件
[root@pdsyw ~]# vi /var/named/pdsyw.cn.zone
[root@pdsyw ~]#
[root@pdsyw ~]# cat /var/named/pdsyw.cn.zone
$TTL 86400 # 设置了默认生存时间
@ IN SOA ns1.pdsyw.cn. admin.pdsyw.cn. ( # 区域的 SOA 记录
2023121901 ; Serial # 序列号,每次更新区域文件时都应增加这个数字
3600 ; Refresh # 刷新时间,从次级服务器获取更新的时间间隔(秒)
1800 ; Retry # 重试时间,次级服务器在失败的刷新尝试后再次尝试刷新的时间间隔(秒)。
604800 ; Expire # 过期时间,次级服务器在停止响应此区域的 DNS 查询前等待主服务器响应的时间(秒)
86400 ; Minimum TTL # 最小 TTL,区域中任何记录的最小默认生存时间(秒)
)
@ IN NS ns1.pdsyw.cn. # 定义域名 pdsyw.cn 的名字服务器
ns1 IN A 192.168.80.132 # 将主机名 ns1.pdsyw.cn 解析到 IP 地址 192.168.80.132。
bbs IN A 192.168.80.111 # 将主机名 bbs.pdsyw.cn 解析到 IP 地址 192.168.80.111。
[root@pdsyw ~]#
5、编写反向解析区域文件
[root@pdsyw ~]# vi /var/named/80.168.192.in-addr.arpa.zone
[root@pdsyw ~]#
[root@pdsyw ~]# cat /var/named/80.168.192.in-addr.arpa.zone
$TTL 86400
@ IN SOA ns1.pdsyw.cn. admin.pdsyw.cn. (
2023121901 ; Serial
3600 ; Refresh
1800 ; Retry
604800 ; Expire
86400 ; Minimum TTL
)
@ IN NS ns1.pdsyw.cn. # 将主机名 ns1.pdsyw.cn 解析到 IP 地址 192.168.80.132。
111 IN PTR bbs.pdsyw.cn. # 将主机名 bbs.pdsyw.cn 解析到 IP 地址 192.168.80.111。
[root@pdsyw ~]#
6、放开防火墙
[root@pdsyw ~]# firewall-cmd --permanent --add-service=dns
success
[root@pdsyw ~]# firewall-cmd --reload
success
[root@pdsyw ~]#
7、启动dns服务
[root@pdsyw ~]# systemctl start named
[root@pdsyw ~]#
[root@pdsyw ~]# systemctl enable named
Created symlink /etc/systemd/system/multi-user.target.wants/named.service → /usr/lib/systemd/system/named.service.
[root@pdsyw ~]#
[root@pdsyw ~]# systemctl status named
● named.service - Berkeley Internet Name Domain (DNS)
Loaded: loaded (/usr/lib/systemd/system/named.service; enabled; vendor preset: dis>
Active: active (running) since Tue 2023-12-19 19:07:32 CST; 11s ago
Main PID: 26220 (named)
Tasks: 7
Memory: 56.6M
CGroup: /system.slice/named.service
└─26220 /usr/sbin/named -u named -c /etc/named.conf
12月 19 19:07:32 pdsyw named[26220]: network unreachable resolving './DNSKEY/IN': 200>
12月 19 19:07:32 pdsyw named[26220]: network unreachable resolving './NS/IN': 2001:50>
12月 19 19:07:32 pdsyw named[26220]: network unreachable resolving './DNSKEY/IN': 200>
12月 19 19:07:32 pdsyw named[26220]: network unreachable resolving './NS/IN': 2001:dc>
12月 19 19:07:33 pdsyw named[26220]: managed-keys-zone: Key 20326 for zone . acceptan>
12月 19 19:07:33 pdsyw named[26220]: resolver priming query complete
12月 19 19:07:33 pdsyw named[26220]: checkhints: b.root-servers.net/A (170.247.170.2)>
12月 19 19:07:33 pdsyw named[26220]: checkhints: b.root-servers.net/A (199.9.14.201) >
12月 19 19:07:33 pdsyw named[26220]: checkhints: b.root-servers.net/AAAA (2801:1b8:10>
12月 19 19:07:33 pdsyw named[26220]: checkhints: b.root-servers.net/AAAA (2001:500:20>
[root@pdsyw ~]#
8、测试正向解析
[root@pdsyw ~]# dig bbs.pdsyw.cn @192.168.80.132
; <<>> DiG 9.11.21-9.11.21-18.uel20 <<>> bbs.pdsyw.cn @192.168.80.132
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 46921
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: 05ff6787e01339432b77a19a658179a749df552842ae402e (good)
;; QUESTION SECTION:
;bbs.pdsyw.cn. IN A
;; ANSWER SECTION:
bbs.pdsyw.cn. 86400 IN A 192.168.80.111
;; AUTHORITY SECTION:
pdsyw.cn. 86400 IN NS ns1.pdsyw.cn.
;; ADDITIONAL SECTION:
ns1.pdsyw.cn. 86400 IN A 192.168.80.132
;; Query time: 0 msec
;; SERVER: 192.168.80.132#53(192.168.80.132)
;; WHEN: 二 12月 19 19:08:23 CST 2023
;; MSG SIZE rcvd: 119
[root@pdsyw ~]#
9、测试反向解析
[root@pdsyw ~]# dig -x 192.168.80.111 @192.168.80.132
; <<>> DiG 9.11.21-9.11.21-18.uel20 <<>> -x 192.168.80.111 @192.168.80.132
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 10127
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: 1451830b39e389d8aa90b9686581808caf54d1f6a6678a76 (good)
;; QUESTION SECTION:
;111.80.168.192.in-addr.arpa. IN PTR
;; ANSWER SECTION:
111.80.168.192.in-addr.arpa. 86400 IN PTR bbs.pdsyw.cn.
;; AUTHORITY SECTION:
80.168.192.in-addr.arpa. 86400 IN NS ns1.pdsyw.cn.
;; ADDITIONAL SECTION:
ns1.pdsyw.cn. 86400 IN A 192.168.80.132
;; Query time: 0 msec
;; SERVER: 192.168.80.132#53(192.168.80.132)
;; WHEN: 二 12月 19 19:37:48 CST 2023
;; MSG SIZE rcvd: 144
[root@pdsyw ~]#
10、在终端上添加dns解析服务器
11、使用IP访问http测试网站
12、使用域名访问http测试网站
通过在统信UOS操作系统1060上搭建DNS服务器,我们不仅可以提高内部网络的效率,还可以获得更多关于网络管理的实践经验。这对于构建和维护企业或个人的网络环境非常有帮助。
希望这篇文章能帮助到需要在统信UOS上部署DNS服务器的朋友们。如果你有任何问题或者更多的经验分享,请在评论区留言,我们一起讨论。
最后,如果你觉得这篇文章有用,请分享转发。点个关注和在看吧,让我们一起探索和学习更多关于Linux系统管理和网络服务部署的知识!
相关推荐
- 微软Win10/Win11版Copilot上线:支持OpenAI o3推理模型
-
IT之家4月3日消息,科技媒体WindowsLatest昨日(4月2日)发布博文,报道称Windows10、Windows11新版Copilot应用已摘掉Beta帽...
- WinForm 双屏幕应用开发:原理、实现与优化
-
在当今的软件开发领域,多屏幕显示技术的应用越来越广泛。对于WinForm应用程序来说,能够支持双屏幕显示不仅可以提升用户体验,还能满足一些特定场景下的业务需求,比如在演示、监控或者多任务处理等场景...
- OpenJDK 8 安装(openjdk 8 windows)
-
通常OpenJDK8和11都能互相编译和通用。我们建议使用11,但是如果你使用JDK8的话也是没有问题的。建议配置使用OpenJDK,不建议使用OracleJDK,主要是因为版...
- 基于 Linux 快速部署 OpenConnect VPN 服务(ocserv 实战指南)
-
一、前言在如今远程办公和内网穿透需求日益增长的背景下,搭建一套安全、稳定、高效的VPN系统显得尤为重要。OpenConnectServer(ocserv)是一个开源、高性能的VPN服务端软件...
- 巧妙设置让Edge浏览器更好用(edge怎么设置好用)
-
虽然现在新版本的Edge浏览器已经推出,但是毕竟还处于测试的状态中。而Win10系统里面自带的老版Edge浏览器,却越来越不被人重视。其实我们只需要根据实际情况对老版本的Edge浏览器进行一些简单的设...
- 微软开源博客工具Open Live Writer更新:多项Bug修复
-
OpenLiveWriter前身是WindowsLiveWriter,是微软WindowsLive系列软件之一,曾经是博主们非常喜爱的一款所见即所得博文编辑工具,支持离线保存,还支持图像编辑...
- 基于OpenVINO的在线设计和虚拟试穿 | OPENAIGC大赛企业组优秀作品
-
在第二届拯救者杯OPENAIGC开发者大赛中,涌现出一批技术突出、创意卓越的作品。为了让这些优秀项目被更多人看到,我们特意开设了优秀作品报道专栏,旨在展示其独特之处和开发者的精彩故事。...
- Python open函数详解(python open函数源码)
-
演示环境,操作系统:Win1021H2(64bit);Python解释器:3.8.10。open是Python的一个内置函数,一般用于本地文件的读写操作。用法如下。my_file=open(fi...
- 世界上最好用的Linux发行版之一,OpenSUSE安装及简单体验
-
背景之前无意在论坛里看到openSUSE的Linux发行版,被称为世界上最好用的Linux发行版之一(阔怕),一直想体验一下,于是这期做一个安装和简单体验教程吧。...
你 发表评论:
欢迎- 一周热门
-
-
前端面试:iframe 的优缺点? iframe有那些缺点
-
带斜线的表头制作好了,如何填充内容?这几种方法你更喜欢哪个?
-
漫学笔记之PHP.ini常用的配置信息
-
其实模版网站在开发工作中很重要,推荐几个参考站给大家
-
推荐7个模板代码和其他游戏源码下载的网址
-
[干货] JAVA - JVM - 2 内存两分 [干货]+java+-+jvm+-+2+内存两分吗
-
正在学习使用python搭建自动化测试框架?这个系统包你可能会用到
-
织梦(Dedecms)建站教程 织梦建站详细步骤
-
【开源分享】2024PHP在线客服系统源码(搭建教程+终身使用)
-
2024PHP在线客服系统源码+完全开源 带详细搭建教程
-
- 最近发表
-
- 微软Win10/Win11版Copilot上线:支持OpenAI o3推理模型
- WinForm 双屏幕应用开发:原理、实现与优化
- 推荐一个使用 C# 开发的 Windows10 磁贴美化小工具
- OpenJDK 8 安装(openjdk 8 windows)
- 基于 Linux 快速部署 OpenConnect VPN 服务(ocserv 实战指南)
- 巧妙设置让Edge浏览器更好用(edge怎么设置好用)
- WPF做一个漂亮的登录界面(wpf页面设计)
- 微软开源博客工具Open Live Writer更新:多项Bug修复
- 基于OpenVINO的在线设计和虚拟试穿 | OPENAIGC大赛企业组优秀作品
- C#开源免费的Windows右键菜单管理工具
- 标签列表
-
- mybatis plus (70)
- scheduledtask (71)
- css滚动条 (60)
- java学生成绩管理系统 (59)
- 结构体数组 (69)
- databasemetadata (64)
- javastatic (68)
- jsp实用教程 (53)
- fontawesome (57)
- widget开发 (57)
- vb net教程 (62)
- hibernate 教程 (63)
- case语句 (57)
- svn连接 (74)
- directoryindex (69)
- session timeout (58)
- textbox换行 (67)
- extension_dir (64)
- linearlayout (58)
- vba高级教程 (75)
- iframe用法 (58)
- sqlparameter (59)
- trim函数 (59)
- flex布局 (63)
- contextloaderlistener (56)