百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

统信UOS|DNS server|02-部署DNS服务器

lipiwang 2025-03-24 17:55 5 浏览 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 "
 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系统管理和网络服务部署的知识!

相关推荐

那些加上姓就很美的名字,想要起名的可以参照一些啊

刷到是缘分,感谢大家的阅读,希望您能动动小手帮忙点赞,关注,评论。你的支持和鼓励是我前进的动力。在此祝福大家天天快乐,日日开心!0102我们公司新来的实习生叫林晚,第一次听到这名字就觉得特别有韵味。上...

手把手教你写出不被研发怼的需求文档

产品经理这岗位都多少年了,我还以为早就体系成熟、流程闭环了,所以这个系列我也安心停更了。结果最近被研发同事轮番吐槽:需求文档东漏一句西漏一段,“这也叫专业?”虽然不是在点名骂我,但谁让是我带的队呢,脸...

学会这五个练字规律,解决所有笔画长短问题

大家好,用5个规律讲清楚什么时候笔画长,什么时候笔画短。·第一、写的时候是短的笔画多,长的笔画少,记住这一个。·第二、同方向上面只能有一个长,不同方向上面可以同时加长,比如横和竖或者撇捺。这里就有一个...

不要再用“质疑”的眼光看草书,5个字说明草书促进汉字简化发展

【问题思考】我们知道简体字改革之前,我们用的是繁体字,比如“会”字一直写作“會”,那么是什么依据如是作出简化呢?而在简化字改革前的唐代,我们会发现,孙过庭的《书谱》就是写作“会”的样子的,他是穿越了?...

IDEA如何将工程转为maven工程

有时候在使用IDEA编辑器时,从Git上Pull一个maven工程下来是没有自动将工程转换成maven工程,相应的依赖jar包不会自动下载。此时要将它转换成maven工程并自动下载jar包。方法/步骤...

Maven多模块项目构建实战:打造高效开发的模块化体系

Maven多模块项目构建实战:打造高效开发的模块化体系Maven作为Java世界中最为流行的构建工具之一,以其强大的模块化支持能力著称。当你需要管理一个复杂的大规模项目时,合理使用Maven的多模块功...

Maven常用命令有哪些?

Maven是一个强大的项目管理工具,广泛用于构建、管理和部署Java项目。以下是Maven的一些常用命令,这些命令可以帮助开发者完成项目的清理、编译、测试、打包和部署等任务。所有命令都以m...

SpringBoot项目jar、war包启动解析

一、jar包和war包的区别1.1war包war包是JavaWeb应用程序的一种打包方式符合Servlet标准,它是WebArchive的缩写,主要用于存储Web应用程序相关的文件,包括Java...

Maven多模块项目构建:打造高效协作的软件工程基石

Maven多模块项目构建:打造高效协作的软件工程基石在软件开发的世界里,随着项目的复杂度不断攀升,单一模块的架构逐渐显得力不从心。这时,Maven多模块项目应运而生,它像一座桥梁,将不同的功能模块有机...

如何将 Spring Boot 工程打包成独立的可执行 JAR 包

导语:通过将SpringBoot项目打包成独立的可执行JAR包,可以方便地在任何支持Java环境的机器上运行项目。本文将详细介绍如何通过Maven构建插件将SpringBoot...

java maven 工具初步使用

安装与配置下载Maven访问官网https://maven.apache.org下载最新版,解压到本地目录(如C:\maven)。配置环境变量添加以下环境变量:M2_HOME:Maven安...

Maven工程如何使用非Maven仓库jar包

使用Maven之前,一直都是自己手工在网上搜索需要的jar包,然后添加到工程中。以这样的方式开发,工作了好多年,曾经以为以后也会一直这样下去。直到碰上Maven,用了第一次,就抛弃老方法了。Maven...

从原理和源码梳理Springboot FatJar 的机制

一、概述SpringBootFatJar的设计,打破了标准jar的结构,在jar包内携带了其所依赖的jar包,通过jar中的main方法创建自己的类加载器,来识别加载运行其不规...

Maven初步——Maven的下载、配环境、换源、编译及运行

一.maven的基本概念相关定义:Maven是一个项目管理和构建工具,用于构建、发布和管理Java项目,用它的好处很多比如自动帮我们管理包依赖等。1.Maven的四大特性1.Maven引入了一个...

「曹工杂谈」Maven和Tomcat能有啥联系呢,都穿打补丁的衣服吗

前奏我们上篇文章,跟大家说了下,怎么调试maven插件的代码,注意,是插件的代码。插件,是要让主框架来执行的,主框架是谁呢,就是mavencore,可以称之为maven核心吧。maven核心,类似于...

取消回复欢迎 发表评论: