DNS域名解析服务

1.介绍

域名解析服务(DNS,Domain Name System)是将人类易读的域名(如 www.example.com)转换为计算机可识别的 IP 地址(如 192.0.2.1)的核心互联网服务。

2. 核心功能

  • 域名 → IP 地址转换 :将用户输入的域名解析为对应的 IP 地址(如 google.com142.250.190.46)。

  • 支持多种记录类型

    • A记录:解析到 IPv4 地址。

    • AAAA记录:解析到 IPv6 地址。

    • CNAME :域名别名(如将 www.example.com 指向 example.com)。

    • MX记录:邮件服务器地址。

    • TXT记录:文本信息(常用于验证或 SPF 反垃圾邮件)。

    • NS记录:指定负责该域名的 DNS 服务器。

3. 工作原理

  1. 递归查询:当用户在浏览器输入域名时,本地 DNS 服务器(如 ISP 或公共 DNS)会逐级查询:

    • 本地缓存 → 根域名服务器(.) → 顶级域服务器(如 .com) → 权威域名服务器(如 example.com 的 NS 服务器)。
  2. 返回结果:最终获取 IP 地址并缓存,供后续快速访问。

4. DNS服务器配置

1.提供DNS服务的软件叫 bind ,服务名是 named

2.安装: yum install bind -y

查询: rpm -qc bind

3./etc/named.conf # bind主配置文件

4./var/named/slaves # 从dns服务器文件夹

5.配置文件说明

/var/named/named.ca: #根服务器信息

/var/named/named.empty: #区域数据库配置样例

/var/named/named.localhost:localhost #正向解析

/var/named/named.loopback:localhost #反向解析

/var/named/slaves #从dns服务器文件夹

5.准备环境:

服务端IP 客户端IP 网址 www.zhangsan.com

192.168.102.128 192.168.102.133 www.openlab.com

关闭防火墙selinux

sudo setenforce 0 ##关闭SELinux

sudo systemctl stop firewalld ##关闭防火墙

下载bind软件

yum install bind -y (做DNS所需要的软件)

实验1:配置DNS正向解析,域名-->IP地址


(服务端)192.168.102.128

1、服务端操作,编制DNS的主配置文件

cp /etc/named.conf /etc/named.conf_bak #重点文件备份

vim /etc/named.conf #进入文档中修改参数

listen-on port 53 { any; }; #监听允许访问的ip与端口,

#可以使用IP地址、网段、所有主机(any)

allow-query { any; }; #表示允许哪些客户端进行访问,

#可以书写IP地址、网段、所有主机(any)

2、服务端操作,编辑区域配置文件,可以在最后添加,也可以全部清空后修改**。**

cp /etc/named.rfc1912.zones /etc/named.rfc1912.zones_bak (备份)

vim /etc/named.rfc1912.zones ##进入文本并编辑

定位最后一行添加如下内容,或者局部修改

zone "openlab.com" IN {

type master;

file "openlab.com.zone";

allow-update { none; };

};

然后保存退出

3、服务端操作,编辑数据配置文件,使用拷贝命令将正向解析文件模板(named.localhost)复制一份,然后修改局部即可

cd /var/named

cp -a named.localhost openlab.com.zone

然后进入文件里面去编辑信息

vim openlab.com.zone

##修改如下:

$TTL 1D

openlab.com. IN SOA ns.openlab.com. admin.openlab.com. (

0 ; serial

1D ; refresh

1H ; retry

1W ; expire

3H ) ; minimum

openlab.com. IN NS ns.openlab.com.

ns.openlab.com. IN A 192.102.42.128

www.openlab.com. IN A 192.102.42.128

ftp.openlab.com. IN A 192.168.102.128

bbs.openlab.com. IN A 192.168.102.128

www1.openlab.com. IN CNAME www.openlab.com. <------模板

4.重启服务

systemctl start named

(客户端)ip:192.168.102.133

1.测试,将客户端的网卡配置文件中的DNS解析地址修改为服务器的IP地址

vim /etc/NetworkManager/system-connections/ens160.nmconnection

##编辑网卡的配置文件,将dns有114.114.114.114改为服务端的IP地址(192.168.102.128)

address1=192.168.102.133/24,192.168.102.2

dns=192.168.102.128 ##将原本的114.114.114.114修改为服务端的IP地址

method=manual

2.激活网卡和服务

nmcli connection reload ##激活服务

nmcli connection up ens160 ##激活网卡

3.关闭服务端的防火墙和SELinux(防止被阻止访问)

4.用客户端测试正向解析

nslookup 是一个用于 查询 DNS(域名系统)记录 的命令行工具,主要用于检查域名解析(如 IP 地址、MX 记录等)和排查 DNS 问题。

实验2:配置DNS反向解析,IP地址-->域名


基本环境同上:(服务端ip:192.168.102.128) (客户端ip:192.168.102.133)

对服务端:

1:服务器端操作,主配置文件按照上例设置,编辑区域配置文件,添加方向解析记录,

注意:IP地址需要反向书写

进入文件可以选择在最后添加信息:

vim /etc/named.rfc1912.zones

zone "102.168.192.in-addr.arpa" IN {

type master;

file "102.168.192.arpa"; # 实际数据配置文件文件名,可以不用反向写ip地址

allow-update { none; };

};

in-addr.arpa 是互联网中用于 反向 DNS 查询(Reverse DNS Lookup) 的特殊域名后缀。

IP地址反向书写,只需要写出IP地址的网络位,再加上.in-addr.arpa即可

2、服务端操作,编辑数据配置文件,复制一份反向解析模板(named.loopback),在修改局部即可

cd /var/named

cp -a named.loopback 102.168.192.arpa

vim 102.168.192.arpa

修改为此截图

$TTL 1D

@ IN SOA ns.openlab.com. admin.openlab.com. (

0 ; serial

1D ; refresh

1H ; retry

1W ; expire

3H ) ; minimum

NS ns.openlab.com.

128 IN PTR ns.openlab.com.

128 IN PTR www.openlab.com.

126 IN PTR bbs.openlab.com.

127 IN PTR ftp.openlab.com.

#可以通过192.168.42.126/127/128访问

3、服务端操作,重启服务

systemctl restart named

4、客户端操作,测试

此时反向解析完毕!

相关推荐
代码程序猿RIP5 分钟前
【Linux】(1)—进程概念-⑤进程调度
linux·运维
MrWang.17 分钟前
Ubuntu中SSH服务器安装使用
服务器·ubuntu·ssh
_lizhiqiang20 分钟前
联想拯救者R9000P 网卡 Realtek 8852CE Ubuntu/Mint linux 系统睡眠后,无线网卡失效
linux·运维·ubuntu·r9000p·无线网卡·8852ce
我的golang之路果然有问题1 小时前
云服务器部署Gin+gorm 项目 demo
运维·服务器·后端·学习·golang·gin
心随_风动1 小时前
SUSE Linux 发行版全面解析:从开源先驱到企业级支柱
linux·运维·开源
christine-rr2 小时前
征文投稿:如何写一份实用的技术文档?——以软件配置为例
运维·前端·网络·数据库·软件构建
Altairr2 小时前
Docker基础(二)
运维·docker·容器
笑醉踏歌行2 小时前
NVM,Node.Js 管理工具
运维·ubuntu·node.js
happyh h h h p p p p3 小时前
部署DNS从服务器
运维·服务器·网络
jiunian_cn3 小时前
【Linux】Linux权限
linux·服务器·mysql