Linux系统进行DNS域名解析

一、DNS

1.1 DNS概述

DNS :Domain Name System,是域名系统的简称,是域名和IP地址之间的映射关系。

互联网中,IP地址是通信的唯一标识,逻辑地址。

访问网站、域名,IP地址不好记,域名通常朗朗上口,好记。域名解析应运而生,实现访问域名就能访问对应的IP地址。

访问域名的时候,通过DNS解析,把域名映射的IP地址解析出来,然后实际访问的还是域名映射的IP地址。

1.2 DNS的通俗解释

以访问www.baidu.com为例

访问baidu,就是计算机向DNS服务器发起查询请求,DNS搜索自己的数据库,找到域名和IP的映射关系,然后把IP地址返回给计算机,计算机访问的还是域名对应的IP地址。

国内的DNS服务器都是三大运营商的DNS服务器。

1.3 域名的体系结构
  • www.baidu.com.cn.为例:从右向左
  • .根域,根域名DNS服务器,专门负责解析根域
  • cn.一级域,一般是国家或者地区的名称
  • com.二级域,组织名称:com商业组织,edu教育机构,org非盈利组织,net运营商,gov政府机构
  • baidu.三级域,域名,要花钱买
  • www.:主机名,也称子域名,就是一台具体的计算机
1.4 DNS解析的参数
  • 协议:TCP和UDP协议
  • 端口:53
  • TCP的53端口用于连接DNS服务
  • UDP的53端口用于解析DNS

​ DNS域名的长度限制

​ 每一级的域名长度限制是63个字符,域名的总长度不能超过253个字符

1.5 DNS域名解析的过程

在这里插入图片描述

迭代:从根域到一级域到二级域的过程叫迭代

递归:结果返回给用户的过程是递归

DNS解析的优先级

  • hosts :本地文件,优先级最高。只对当前主机有效,可以提高访问速度。Linux系统的hosts文件在/etc/hosts
  • DNS服务器(运营商),优先级第二。

二、如何实现DNS(内网)

bind:用来做局域网内部的域名解析。

Linux系统中,bind对应的服务名是named

内网的DNS不需要注册。

2.1 DNS正向解析

要求:主机test1,IP地址 20.0.0.10 作为DNS域名服务器,实现正向解析。

实现:

  1. 首先安装bind服务,关闭防火墙、安全机制
yum -y install bind
systemctl stop firewalld
setenforce 0
  1. 修改bind服务的主配置文件/etc/named.conf

在这里插入图片描述

对图中内容的解释:

listen-on port 53 { 20.0.0.10; };
#对外提供解析服务的IP地址:自己的IP地址,也可以改成any,即任意地址
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";
#内存统计文件
recursing-file  "/var/named/data/named.recursing";
secroots-file   "/var/named/data/named.secroots";
allow-query     { any; };
#谁能访问解析服务器,any表示所有

保存文件并退出。

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

​ 编辑是可以套用文件中现成的模板:

在这里插入图片描述

保存文件并退出。

  1. 配置区域数据文件/var/named/named.localhost,进行地址解析

    保留权限复制配置文件,重命名为步骤3中自定义的区域数据文件的文件名

cd /var/named
cp -p named.localhost ykw102.com.zone
#保留权限复制(要保留所在组.named,不然服务会报错)

vim ykw102.com.zone编辑内容:

在这里插入图片描述

对内容的解释:

$TTL 1D		#DNS的检索记录,保存在缓存中的时间是一天,在一天之内,
			#如果有缓存就不需要再向DNS服务器发起请求。
@		IN SOA ykw102.com.
#@ :当前DNS的区域名,@全局变量
IN :Internet,协议
SOA :解析类型,第一条解析记录,从起始位置开始记录
			0		;serial		#更新序列号,0不更新
			1D		;refresh	#刷新时间,地址数据如果有变动,一天刷新一次
			1H		;retry		#解析失败,重置的间隔时间
			1W		;expiere	#失效时间,解析地址下载失败后,多长时间放弃
			3H)		 ;minimum		#无效解析记录的生存时间

保存文件并退出。

  1. 修改域名服务器地址vim /etc/resolve.conf

在第一行添加

nameserver 20.0.0.10		#域名服务器IP地址

重启bind对应的服务named

systemctl restart named

使用nslookup验证DNS解析服务。

在这里插入图片描述

2.2 DNS反向解析

要求:主机test1,IP地址 20.0.0.10 作为DNS域名服务器,实现反向解析。

实现:步骤和2.1基本一致。

  1. 安装bind服务,关闭防火墙、安全机制
  2. 修改bind服务的主配置文件/etc/named.conf,和2.1一致
  3. 修改区域配置文件/etc/named.rfc1912.zones

在这里插入图片描述

  1. 配置区域数据文件/var/named/named.localhost,进行地址解析

    保留权限复制配置文件,重命名为步骤3中自定义的区域数据文件的文件名

cd /var/named
cp -p ykw102.com.zone ykw102.com.zone.reverse
#保留权限复制(要保留所在组.named,不然服务会报错)

vim ykw102.com.zone.reverse编辑内容:

在这里插入图片描述

保存文件并退出。

  1. 修改域名服务器地址vim /etc/resolve.conf

在第一行添加

nameserver 20.0.0.10		#域名服务器IP地址

重启bind对应的服务named

systemctl restart named

使用nslookup验证DNS反向解析服务。

[root@test1 named]# nslookup 20.0.0.103
103.0.0.20.in-addr.arpa	name = mail.ykw102.com.
#反向解析成功

2.3 主从DNS

主从DNS实际上就是实现DNS服务的高可用(冗余),主服务器down了,从服务器可以接替工作。

要求:在实验2.1 , 2.2的基础上,进行以下配置

test1@20.0.0.10 作为主DNS服务器

test2@20.0.0.20作为从DNS服务器

实现:

首先对test1test2安装bind服务,关闭防火墙、安全机制。

  1. test1配置:
    • 修改区域配置文件/etc/named.rfc1912.zones在这里插入图片描述
      保存退出。
    • 修改域名服务器地址vim /etc/resolve.conf
nameserver 20.0.0.10		#主域名服务器IP地址
nameserver 20.0.0.20		#从域名服务器IP地址
  1. test2配置

    • 修改bind服务的主配置文件/etc/named.conf

      在这里插入图片描述

    • 修改区域配置文件/etc/named.rfc1912.zones

      在这里插入图片描述

      保存退出。

      修改域名服务器地址vim /etc/resolve.conf

      nameserver 20.0.0.10		#主域名服务器IP地址
      nameserver 20.0.0.20		#从域名服务器IP地址
      
  2. test1test2都重启bind对应的服务named

    systemctl restart named
    

    检查区域数据文件有没有传输到从服务器的/var/named/slaves

在这里插入图片描述

区域数据文件传输成功,配置完成。

在主服务器test1systemctl stop named停止DNS服务,在从服务器test2上使用nslookup验证,速度变慢,但任然可以完成解析。

[root@test2 slaves]# vim /etc/resolv.conf
[root@test2 slaves]# nslookup www.ykw102.com
Server:		20.0.0.20
Address:	20.0.0.20#53

Name:	www.ykw102.com
Address: 20.0.0.102

[root@test2 slaves]# nslookup 20.0.0.103
103.0.0.20.in-addr.arpa	name = mail.ykw102.com.

  • 18
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值