Linux 配置DNS服务

本文涉及的产品
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: 该内容是关于DNS配置的教程,介绍了DNS的基本功能——域名到IP地址的转换。在Redhat 9环境下,通过`yum`安装`bind`服务,然后配置`named`服务并设置开机启动,关闭防火墙和SELinux。接着,配置域名解析文件`resolv.conf`,修改`named.conf`以允许所有查询,并创建正反向解析的区域配置文件。通过`nslookup`测试解析,发现权限问题后调整文件权限,最终实现成功解析。另一台机器的DNS地址设置为第一台的IP地址,完成DNS服务器的配置。


DNS简介
域名解析:就是域名到IP地址的转换过程。(也可以将IP地址转换为相应的域名地址,叫 做反向解析)⼈们通过注册的域名可以⽅便地访问到⽹站。 IP地址是⽹络上标识站点的数字地址,为了⽅便记忆,采⽤域名来代替IP地址标识站点地址。 域名的解析⼯作由DNS服务器完成。

DNS⼯作原理
1.当在浏览器中输⼊URL时,浏览器会先检查⾃⼰的缓存是否有域名IP的映射关系,有则直接 使⽤IP进⾏通信;

2.如浏览器没有缓存,则操作系统检查本地hosts⽂件是否有域名IP的映射关 系,有则使⽤IP进⾏通信;

3.如果hosts没有这个域名的映射,则查找本地DNS解析器缓存是 否有映射关系,有则直接返回完成域名解析;

4.如果还未找到映射关系,⾸先会找TCP/IP参 数中设置的⾸选DNS服务器,也就是本地DNS服务器,如果服务器已缓存了映射关系,则使 ⽤这个IP地址映射返回完成域名解析,此时解析不具有权威性。

5.如果本地DNS服务器缓存已经失效,进⾏上述的递归查询和迭代查询操作

环境(基础网络环境配置完成)
Redhat 9

192.168.200.133

192.168.200.129

步骤:

服务包bind

服务名named

安装

[root@admin ~]# yum -y install bind
正在更新 Subscription Management 软件仓库。
无法读取客户身份

本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。

上次元数据过期检查:3:17:28 前,执行于 2024年04月02日 星期二 15时40分19秒。
依赖关系解决。

省略 。。。。。。

已安装:
bind-32:9.16.23-11.el9.x86_64 bind-dnssec-doc-32:9.16.23-11.el9.noarch bind-dnssec-utils-32:9.16.23-11.el9.x86_64 python3-bind-32:9.16.23-11.el9.noarch
python3-ply-3.11-14.el9.noarch

完毕!
[root@admin ~]#
重启服务设置开机自启、关闭防火墙selinux

[root@admin ~]# systemctl restart named
[root@admin ~]# systemctl enable named
Created symlink /etc/systemd/system/multi-user.target.wants/named.service → /usr/lib/systemd/system/named.service.
[root@admin ~]# systemctl stop firewalld
[root@admin ~]# setenforce 0
[root@admin ~]#
域名解析文件写入两台机器 IP地址

[root@admin ~]# vim /etc/resolv.conf
[root@admin ~]# cat /etc/resolv.conf

Generated by NetworkManager

search localdomain
nameserver 192.168.200.133
nameserver 192.168.200.129
[root@admin ~]#
修改主配置文件

[root@admin ~]# vim /etc/named.conf
10 options {
11 listen-on port 53 { any; }; // ipv4监听端口和ip地址,可以写具体的IP地址也可以写any
12 listen-on-v6 port 53 { ::1; }; //ipv6 不需要删除这一行
13 directory "/var/named";
14 dump-file "/var/named/data/cache_dump.db";
15 statistics-file "/var/named/data/named_stats.txt";
16 memstatistics-file "/var/named/data/named_mem_stats.txt";
17 secroots-file "/var/named/data/named.secroots";
18 recursing-file "/var/named/data/named.recursing";
19 allow-query { localhost; };
修改
10 options {
11 listen-on port 53 { any; };
12 directory "/var/named";
13 dump-file "/var/named/data/cache_dump.db";
14 statistics-file "/var/named/data/named_stats.txt";
15 memstatistics-file "/var/named/data/named_mem_stats.txt";
16 secroots-file "/var/named/data/named.secroots";
17 recursing-file "/var/named/data/named.recursing";
18 allow-query { any; }; //查询允许的范围可以是具体IP也可以是any
修改区域配置文件

[root@admin named]# vim /etc/named.rfc1912.zones
zone "abc.my.com" IN { //域名
type master;
file "abc.my.com.zone";
allow-update { none; };
};

zone "200.168.192.in-addr.arpa" IN { //IP
type master;
file "200.168.192.zone";
allow-update { none; };
};
~
复制一份正向解析配置文件模板 并修改名称

[root@admin ~]# cd /var/named/
[root@admin named]# ls
data dynamic named.ca named.empty named.localhost named.loopback slaves
[root@admin named]# cp named.localhost abc.my.com.zone
[root@admin named]# vim abc.my.com.zone
[root@admin named]# cat abc.my.com.zone
$TTL 1D
@ IN SOA abc.my.com. rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS @
A 192.168.200.133
dns IN A 192.168.200.133 //
www IN A 192.168.200.129
[root@admin named]#
反向解析文件

[root@admin named]# cp named.localhost 200.168.192.zone
[root@admin named]# vim 200.168.192.zone
[root@admin named]# cat 200.168.192.zone
$TTL 1D
@ IN SOA abc.my.com. rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
IN NS abc.my.com.
133 IN PTR dns.abc.my.com.
129 IN PTR www.abc.my.com.
[root@admin named]#
nslookup 命令测试

[root@admin named]# nslookup

192.168.200.133
;; Got SERVFAIL reply from 192.168.200.133, trying next server
;; connection timed out; no servers could be reached

192.168.200.129
;; Got SERVFAIL reply from 192.168.200.133, trying next server
;; connection timed out; no servers could be reached
无法访问

检查权限、配置文件

[root@admin named]# ll
总用量 24
-rw-r-----. 1 root root 206 4月 3 16:36 200.168.192.zone
-rw-r-----. 1 root root 210 4月 3 16:35 abc.my.com.zone
drwxrwx---. 2 named named 23 4月 2 18:58 data
drwxrwx---. 2 named named 60 4月 3 16:37 dynamic
-rw-r-----. 1 root named 2253 2月 27 2023 named.ca
-rw-r-----. 1 root named 152 2月 27 2023 named.empty
-rw-r-----. 1 root named 152 2月 27 2023 named.localhost
-rw-r-----. 1 root named 168 2月 27 2023 named.loopback
drwxrwx---. 2 named named 6 2月 27 2023 slaves

发现权限不对应(权限)
修改对应的配置文件权限
[root@admin named]# chown -R root:named 200.168.192.zone abc.my.com.zone
[root@admin named]# systemctl restart named
named.service named-setup-rndc.service
[root@admin named]# systemctl restart named
[root@admin named]# ll
总用量 24
-rw-r-----. 1 root named 206 4月 3 16:36 200.168.192.zone
-rw-r-----. 1 root named 210 4月 3 16:35 abc.my.com.zone
drwxrwx---. 2 named named 23 4月 2 18:58 data
drwxrwx---. 2 named named 60 4月 3 16:37 dynamic
-rw-r-----. 1 root named 2253 2月 27 2023 named.ca
-rw-r-----. 1 root named 152 2月 27 2023 named.empty
-rw-r-----. 1 root named 152 2月 27 2023 named.localhost
-rw-r-----. 1 root named 168 2月 27 2023 named.loopback
drwxrwx---. 2 named named 6 2月 27 2023 slaves
再次测试、解析成功

[root@admin named]# nslookup

192.168.200.133
133.200.168.192.in-addr.arpa name = dns.abc.my.com.
192.168.200.129
129.200.168.192.in-addr.arpa name = www.abc.my.com.
www.abc.my.com
Server: 192.168.200.133
Address: 192.168.200.133#53

Name: www.abc.my.com
Address: 192.168.200.129
配置第二台机器DNS地址为第一台IP地址

[root@AI ~]# nmcli connection modify ens160 ipv4.dns 192.168.200.133
[root@AI ~]# nmcli connection up ens160
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/4)
测试成功

[root@AI ~]# nslookup

192.168.200.133
133.200.168.192.in-addr.arpa name = dns.abc.my.com.
192.168.200.129
129.200.168.192.in-addr.arpa name = www.abc.my.com.

目录
相关文章
|
5天前
|
存储 人工智能 并行计算
2025年阿里云弹性裸金属服务器架构解析与资源配置方案
🚀 核心特性与技术创新:提供100%物理机性能输出,支持NVIDIA A100/V100 GPU直通,无虚拟化层损耗。网络与存储优化,400万PPS吞吐量,ESSD云盘IOPS达100万,RDMA延迟<5μs。全球部署覆盖华北、华东、华南及海外节点,支持跨地域负载均衡。典型应用场景包括AI训练、科学计算等,支持分布式训练和并行计算框架。弹性裸金属服务器+OSS存储+高速网络综合部署,满足高性能计算需求。
|
22天前
|
Linux Docker 容器
Linux 中停止 Docker 服务报 warning 导致无法彻底停止问题如何解决?
在 Linux 系统中,停止 Docker 服务时遇到警告无法彻底停止的问题,可以通过系统管理工具停止服务、强制终止相关进程、检查系统资源和依赖关系、以及重置 Docker 环境来解决。通过以上步骤,能够有效地排查和解决 Docker 服务停止不彻底的问题,确保系统的稳定运行。
96 19
|
20天前
|
网络协议 Unix Linux
深入解析:Linux网络配置工具ifconfig与ip命令的全面对比
虽然 `ifconfig`作为一个经典的网络配置工具,简单易用,但其功能已经不能满足现代网络配置的需求。相比之下,`ip`命令不仅功能全面,而且提供了一致且简洁的语法,适用于各种网络配置场景。因此,在实际使用中,推荐逐步过渡到 `ip`命令,以更好地适应现代网络管理需求。
33 11
|
21天前
|
监控 Linux
Linux systemd 服务启动失败Main process exited, code=exited, status=203/EXEC
通过以上步骤,可以有效解决 systemd 服务启动失败并报错 `Main process exited, code=exited, status=203/EXEC` 的问题。关键在于仔细检查单元文件配置、验证可执行文件的有效性,并通过日志分析具体错误原因。确保可执行文件路径正确、文件具有执行权限,并且可以独立运行,将有助于快速定位和解决问题。
222 7
|
1月前
|
存储 运维 安全
深入解析操作系统控制台:阿里云Alibaba Cloud Linux(Alinux)的运维利器
本文将详细介绍阿里云的Alibaba Cloud Linux操作系统控制台的功能和优势。
66 5
|
2月前
|
Ubuntu Unix Linux
Linux网络文件系统NFS:配置与管理指南
NFS 是 Linux 系统中常用的网络文件系统协议,通过配置和管理 NFS,可以实现跨网络的文件共享。本文详细介绍了 NFS 的安装、配置、管理和常见问题的解决方法,希望对您的工作有所帮助。通过正确配置和优化 NFS,可以显著提高文件共享的效率和安全性。
233 7
|
3月前
|
缓存 并行计算 Linux
深入解析Linux操作系统的内核优化策略
本文旨在探讨Linux操作系统内核的优化策略,包括内核参数调整、内存管理、CPU调度以及文件系统性能提升等方面。通过对这些关键领域的分析,我们可以理解如何有效地提高Linux系统的性能和稳定性,从而为用户提供更加流畅和高效的计算体验。
98 17
|
3月前
|
数据库连接 Linux Shell
Linux下ODBC与 南大通用GBase 8s数据库的无缝连接配置指南
本文详细介绍在Linux系统下配置GBase 8s数据库ODBC的过程,涵盖环境变量设置、ODBC配置文件编辑及连接测试等步骤。首先配置数据库环境变量如GBASEDBTDIR、PATH等,接着修改odbcinst.ini和odbc.ini文件,指定驱动路径、数据库名称等信息,最后通过catalog.c工具或isql命令验证ODBC连接是否成功。
|
3月前
|
缓存 资源调度 安全
深入探索Linux操作系统的心脏——内核配置与优化####
本文作为一篇技术性深度解析文章,旨在引领读者踏上一场揭秘Linux内核配置与优化的奇妙之旅。不同于传统的摘要概述,本文将以实战为导向,直接跳入核心内容,探讨如何通过精细调整内核参数来提升系统性能、增强安全性及实现资源高效利用。从基础概念到高级技巧,逐步揭示那些隐藏在命令行背后的强大功能,为系统管理员和高级用户打开一扇通往极致性能与定制化体验的大门。 --- ###
100 9
|
3月前
|
存储 安全 数据管理
如何在 Rocky Linux 8 上安装和配置 Elasticsearch
本文详细介绍了在 Rocky Linux 8 上安装和配置 Elasticsearch 的步骤,包括添加仓库、安装 Elasticsearch、配置文件修改、设置内存和文件描述符、启动和验证 Elasticsearch,以及常见问题的解决方法。通过这些步骤,你可以快速搭建起这个强大的分布式搜索和分析引擎。
103 5