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

25_DNS:域名系统详解

系列文章导航:01_Linux基础操作CentOS7学习笔记-CSDN博客

文章目录

  • DNS 的作用
    • DNS 的主要作用:
  • 网站域名的组成
  • DNS 服务的整体结构
    • DNS 查询方式:
  • DNS 服务器软件:BIND
    • 安装和配置 BIND 步骤:
      • 1. **安装 BIND**:
      • 2. **修改主配置文件** `/etc/named.conf`:
      • 3. **配置日志**:
      • 4. **注册根域**:
      • 5. **配置其他区域**:
      • 6. **检查配置文件语法**:
      • 7. **启动服务**:
      • 8. **测试 DNS 服务**:
  • 反向解析配置
      • 1. **修改子配置文件** `/etc/named.rfc1912.zones`:
      • 2. **编写区域解析数据文件** `/var/named/192.168.50.arpa`:
      • 3. **检查配置文件语法**:
      • 4. **测试反向解析**:
  • 缓存 DNS 服务器
      • 1. **修改主配置文件** `/etc/named.conf`:
      • 2. **重启服务**:
  • DNS 实现负载均衡
      • 1. **编辑区域解析数据文件**:
      • 2. **测试负载均衡**:
  • 主从 DNS 配置步骤
    • 主服务器配置:
      • 1. **打开主 DNS 服务器的 named.conf 文件**:
      • 2. **添加监听和允许查询配置**:
      • 3. **在 named.rfc1912.zones 文件中添加区域配置**:
      • 4. **重启 named 服务**:
    • 从服务器配置:
      • 1. **打开从 DNS 服务器的 named.conf 文件**:
      • 2. **添加监听配置**:
      • 3. **在 named.rfc1912.zones 文件中添加从区域配置**:
      • 4. **重启 named 服务**:
    • 更新数据
      • 1. **修改 SOA 记录中的 serial 值**:
      • 2. **在从 DNS 服务器上删除 slaves 目录下的所有文件并重启 named 服务**:
      • 3. **检查 slaves 目录下的文件是否有变更**。


DNS 的作用

DNS(Domain Name System,域名系统)是互联网的一项服务,它作为将域名和IP地址相互映射的一个分布式数据库,使得用户可以通过易于记忆的域名访问互联网上的资源,而不需要记住难以记忆的IP地址。

DNS 的主要作用:

  1. 正向解析:将域名转换为 IP 地址。
  2. 反向解析:将 IP 地址转换为域名。

网站域名的组成

一个典型的网站域名由多个部分组成,例如 “www.uplooking.com”:

  • 服务主机名:如 “www”、“mail”、“ftp” 等。
  • 二级域名:如 “uplooking”。
  • 顶级域名:如 “com”。

DNS 服务的整体结构

DNS 是一个分层的、分布式的数据库系统。它采用树状结构,从根域(.)开始,向下分为多个层级,每个层级包含不同的域名服务器,负责不同范围的域名解析。

DNS 查询方式:

  1. 递归查询:客户端向一个 DNS 服务器查询,如果该服务器没有结果,它会代替客户端继续查询,直到找到结果或确定无结果。
  2. 迭代查询:客户端向一个 DNS 服务器查询,如果该服务器没有结果,它会返回可能知道结果的其他 DNS 服务器列表给客户端,由客户端继续查询。

DNS 服务器软件:BIND

BIND(Berkeley Internet Name Daemon)是互联网上最常用的 DNS 服务器软件,由互联网系统协会(Internet Systems Consortium, ISC)维护。

安装和配置 BIND 步骤:

1. 安装 BIND

# yum -y install bind

2. 修改主配置文件 /etc/named.conf

options {listen-on port 53 { 127.0.0.1;192.168.0.9; };directory       "/var/named";allow-query     { any; };recursion yes;
};

3. 配置日志

logging {channel default_debug {file "data/named.run";severity dynamic;};
};

4. 注册根域

zone "." IN {type hint;file "named.ca";
};

5. 配置其他区域

include "/etc/named.rfc1912.zones";

6. 检查配置文件语法

# named-checkconf
# named-checkzone student.com /var/named/student.com.zone

7. 启动服务

# systemctl enable named
# systemctl restart named

8. 测试 DNS 服务

# nslookup
> server 192.168.50.147
> www.student.com

反向解析配置

反向解析用于将 IP 地址解析为域名。配置步骤如下:

1. 修改子配置文件 /etc/named.rfc1912.zones

zone "50.168.192.in-addr.arpa" IN {type master;file "192.168.50.arpa";allow-update { none; };
};

2. 编写区域解析数据文件 /var/named/192.168.50.arpa

$TTL 1D
@ IN SOA student.com. admin.student.com. (20230809 ; serial1D ; refresh1H ; retry1W ; expire3H ) ; minimum@ IN NS dns.student.com.
2 IN PTR www.xx.com.

3. 检查配置文件语法

# named-checkzone student.com /var/named/student.com.zone

4. 测试反向解析

# nslookup
> server 192.168.50.147
> 192.168.50.2

缓存 DNS 服务器

缓存 DNS 服务器用于提供快速的 DNS 解析结果,减轻上层 DNS 服务器的负载。

1. 修改主配置文件 /etc/named.conf

options {forwarders {202.96.128.86; 8.8.8.8; };forward only;
};

2. 重启服务

# systemctl restart named

DNS 实现负载均衡

通过将同一个域名解析到多个不同的服务器 IP 地址上,可以实现请求的分发。

1. 编辑区域解析数据文件

$TTL 1D
@       IN SOA   dns.upl.cn. root.upl.cn. (20230809 ; serial1D      ; refresh1H      ; retry1W      ; expire3H )    ; minimumNS      dns.upl.cn.
www     A      192.168.0.9
www     A      192.168.0.10

2. 测试负载均衡

# ping www.upl.cn

主从 DNS 配置步骤

主服务器配置:

1. 打开主 DNS 服务器的 named.conf 文件

[root@server145 ~]# vim /etc/named.conf

2. 添加监听和允许查询配置

listen-on port 53 { any; };
allow-query     { any; };

3. 在 named.rfc1912.zones 文件中添加区域配置

zone "student.com" IN {type master;file  "student.com.zone";allow-transfer { 192.168.50.128; };
};

4. 重启 named 服务

systemctl restart named

从服务器配置:

1. 打开从 DNS 服务器的 named.conf 文件

[root@b ~]# vim /etc/named.conf

2. 添加监听配置

listen-on port 53 { any; };
allow-query { any; };

3. 在 named.rfc1912.zones 文件中添加从区域配置

zone "student.com" IN {type slave;file "slaves/student.com.zone";masters { 192.168.50.145; };
};

4. 重启 named 服务

systemctl start named

更新数据

如果在主 DNS 服务器上修改了解析数据,需要修改 SOA 记录中的 serial 值。这样从 DNS 服务器会更新 zone 数据。

1. 修改 SOA 记录中的 serial 值

20230809 ; serial

2. 在从 DNS 服务器上删除 slaves 目录下的所有文件并重启 named 服务

[root@desktop13 ~]# cd /var/named/slaves/
[root@desktop13 slaves]# rm -fr *
[root@desktop13 slaves]# systemctl restart named

3. 检查 slaves 目录下的文件是否有变更


http://www.mrgr.cn/news/61571.html

相关文章:

  • 凌雄科技打造DaaS模式,IT设备产业链由内而外嬗变升级
  • Java面试题集锦
  • Matlab自学笔记四十:日期时间型数据的关系运算:比较大小、比较时间先后、判断是否在两个时间之间
  • 关于AI绘画 | Stable Diffusion 技术专栏推荐文章
  • CentOS 修改服务器登录密码的完整指南
  • OpenCV图像处理方法:腐蚀操作
  • C++ | Leetcode C++题解之第519题随机翻转矩阵
  • windows 驱动实例分析系列: NDIS 6.0的Filter 驱动改造(四)
  • Java | Leetcode Java题解之第520题检测大写字母
  • Linux(一)
  • 从0开始搭建一个生产级SpringBoot2.0.X项目(五)使用 validation 验证参数
  • C++核心编程和桌面应用开发 第十七天(set和multiset容器 pair map和multimap容器)
  • Json库和文件操作
  • Cargo 的工作机制
  • 一道巧妙的卡特兰数建模
  • 聊聊解构的那些事
  • 本篇文章来介绍下dockerfile
  • LeetCode 热题 100 回顾2
  • Golang | Leetcode Golang题解之第519题随机翻转矩阵
  • 速盾:海外高防CDN有哪些优势?
  • SpringBoot篇(自动装配原理)
  • 〈壮志凌云:独行侠〉中的超高音速战机
  • Android Studio 无法查看Kotlin源码的解决办法
  • 了解一下,RN中怎么加载 threejs的
  • openEuler 系统中单引号、双引号及转义字符的应用
  • Topaz Video AI for Mac 视频无损放大软件安装教程【保姆级,操作简单轻松上手】