DNS域名解析

一、DNS域名解析

1.1 什么是DNS域名解析

DNS(Domain Name System)是互联网中用于将域名(例如 www.example.com)转换为 IP 地址的系统。它充当了互联网的地址簿,允许人们使用易记的域名而不是记住复杂的 IP 地址来访问网站、发送电子邮件等。

1.2 DNS 的主要功能:

  1. 域名解析: DNS 将人类可读的域名翻译成计算机能够理解的 IP 地址。当您在浏览器中输入一个域名时,DNS 就会将该域名映射到相应的 IP 地址,以便数据包能够准确地路由到正确的服务器。

  2. 分层结构: DNS 是一个分层的系统,由多个服务器组成。这些服务器分为不同的层次,包括根域、顶级域(TLD)、二级域等。每个域都有一个负责管理该域的域名服务器。

  3. 缓存: DNS 使用缓存来提高查询效率。当一个域名解析为 IP 地址时,这个映射信息会被缓存在本地,以便将来再次查询相同域名时可以更快地获取结果。

  4. 递归查询和迭代查询: DNS 查询可以是递归的或者是迭代的。递归查询是指 DNS 客户端向 DNS 服务器发出请求,而服务器负责查找答案并返回给客户端。迭代查询是指 DNS 服务器根据请求逐级查询其他服务器,最终找到答案并返回给客户端。

1.3 正向解析和反向解析 

DNS(Domain Name System)解析包括正向解析和反向解析,它们分别用于不同的目的。

  1. 正向解析(Forward DNS Resolution):

    • 定义: 正向解析是将域名转换为相应的 IP 地址的过程。

    • 使用场景: 当用户在浏览器中输入一个域名时,正向解析被触发,将域名解析为对应的 IP 地址,以便网络通信。

    • 示例:

    • 过程:

      • 本地计算机首先检查本地 DNS 缓存。
      • 如果缓存中没有,计算机将向递归 DNS 服务器发起请求。
      • 递归 DNS 服务器根据 DNS 的层次结构,逐步查询根、顶级域、权限 DNS 服务器,最终获取到域名对应的 IP 地址。
  2. 反向解析(Reverse DNS Resolution):

    • 定义: 反向解析是将 IP 地址转换为相应的域名的过程。

    • 使用场景: 反向解析常用于网络安全、日志分析等情境,通过 IP 地址查找与之相关联的域名。

    • 示例:

    • 过程:

      • 计算机向递归 DNS 服务器发起反向解析请求。
      • 递归 DNS 服务器向相应的反向区域查询 PTR 记录(Pointer Record)。
      • PTR 记录包含了 IP 地址和对应的域名。递归 DNS 服务器将查询结果返回给请求的计算机。

需要注意的是,并非所有的 IP 地址都有对应的域名,因此反向解析不总是成功。域名到 IP 地址的映射是一个静态的过程,而反向解析则需要查找相关的 DNS 数据库。

 二、DNS软件bind

2.1 bind

BIND(Berkeley Internet Name Domain)是一个开源的域名系统(DNS)服务器软件。它最初由加州大学伯克利分校开发,是互联网上最常用的 DNS 服务器之一。BIND 负责将域名映射到与之相关联的 IP 地址,以便网络设备可以正确地定位和通信。

BIND 提供了 DNS 协议的实现,支持域名的解析、域名到 IP 地址的映射、反向解析(根据 IP 地址查找域名)、权威服务等功能。它被广泛应用于互联网上的服务器、路由器等网络设备,同时也被用于构建私有网络和局域网。

由于其开源性质,BIND 的源代码是公开可用的,用户可以根据需要进行修改和定制。BIND 通常在类Unix系统(如Linux、BSD)上运行,但也可以在其他操作系统上使用。

BIND 的版本不断更新以适应新的互联网标准和安全性需求。系统管理员和网络工程师可以配置和管理 BIND 服务器,确保域名系统在网络中运行正常。

2.2  在Linux中安装配置bind

yum install bind* -y #安装bind软件以及一些所需要的配置文件
systemctl stop firewalld.service #关闭防火墙
setenforce 0  #关闭安全机制
systemctl start named #开启服务
ss -natp |grep named #过滤出named服务程序,注:bind软件的服务名叫named

主配置文件在 /etc/named.conf;区配置文件在/etc/named.conf

查看DNS

在centos7中,NDS解析文件通常在/etc/resolv.conf中,我们可以cat查看配置文件

修改NDS
vim /etc/sysconfig/network-scripts/ifcfg-ens33 #配置文件
#把NDS1修改成本机ip地址
systemctl restarl network #重启网络服务

 2.3 使用named服务完成正向解析

1.修改主配置文件
vim /etc/named.conf 
#可以修改配置,注释,或者删除这两行
listen-on port 53 { any; };
allow-query     { any; };
systtemctl restarl named #重启服务

2. 写区域配置文件
vim /etc/named.rfc1912.zones 
#编写域名
zone "xiaobu.com" {
   type master;
   file "xiaobu.com.zone";
};

cd /var/named/
#切换目录
ls
data  dynamic  named.ca  named.empty  named.localhost  named.loopback  slaves
cp -a named.localhost ./xiaobu.com.zone 
#保留权限复制
ls
data  dynamic  kgc.com.zone  named.ca  named.empty  named.localhost  named.loopback  slaves
vim kgc.com.zone
#编辑数据库文件,解析记录对应关系

systemctl restart named #重启服务
host www.xiaobu.com #解析域名
或者用nslookup

 2.3 使用named完成主从复制

  • 主服务器:192.168.50.104
  • 从服务器:192.168.50.103
 1.从服务器安装关闭防火墙,安全机制,并安装bind软件
[root@localhost etc]systemctl stop firewalld.service
[root@localhost etc]setenforce 0
[root@localhost etc]yum install bind* -y
#安装后启动服务
修改客户端配置文件vim /etc/named.conf,注释掉13,21行

 添加服务端配置文件:vim /etc/named.rfc1912.zones
zone "xiaobu.com" IN {
        type slave;
        #类型从
        file "slaves/xiaobu.com.zone";
        #文件地址在/var/named/slaves/ 下
        masters { 192.168.50.104; };
        #申明主服务器的地址
};

 修改主服务器配置

 vim /etc/named.rfc1912.zones

验证:

客户端:

服务端:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值