Linux网络服务——DNS域名解析(正、反解析,主从复制,分解解析)

前言

  • 域名系统(服务)协议(DNS)是一种分布式网络目录服务,主要用于域名与 IP 地址的相互转换,以及控制因特网的电子邮件的发送。
  • 域名系统(Domain Name System缩写DNS,Domain Name被译为域名)是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。
  • 域名系统(Domain Name System,DNS)是Internet上解决网上机器命名的一种系统。就像拜访朋友要先知道别人家怎么走一样,Internet上当一台主机要访问另外一台主机时,必须首先获知其地址,TCP/IP中的IP地址是由四段以“.”分开的数字组成,记起来总是不如名字那么方便,所以,就采用了域名系统来管理名字和IP的对应关系。

DNS系统的作用

DNS系统在网络中的作用就是维护着一个地址数据库,其中记录了各种主机域名与IP地址的对应关系,以便为客户程序提供正向或者反向的地址查询服务,及正向解析和反向解析

  • 正向解析:根据主机名称(域名,如www.baidu.com)查找对应的IP地址
  • 反向解析:(一般维护的时候使用)根据IP地址查找对应的主机域名

DNS系统的分布式数据结构
在这里插入图片描述
例:www.sina.com.cn
www 主机位
sina 二级域名
com.cn 顶级域名
. 根域名

DNS系统的类型

实际上,每一台DNS服务器都只负责管理一个有限范围(一个或几个域)内的主机域名和IP地址的对应关系,这些特定的DNS域或IP地址段称为“zone”(区域)。根据地址解析的方向不同,DNS区域相应地分为正向区域(包含域名到IP地址的解析记录,)和反向区域(包含IP地址到域名的解析记录)。
根据所管理的区域数据的来源不同,DNS系统可以分为不同的类型。在同一台DNS服务器中,相对于不同的区域来说,也拥有不同的身份。

  • 常见的几种类型
    • 缓存域名服务器
      只提供域名解析结果的缓存功能,目的在于提高查询速度和效率,但是没有自己控制的区域地址数据。构建缓存域名服务器时,必须设置根域或者指定其他DNS服务器作为解析来源。

    • 主域名服务器
      维护某一个特定DNS区域的地址数据库,对其中的解析记录具有自主控制权,是指定区域中唯一存在的权威服务器,官方服务器。构建主域名服务器时,需要自行建立所负责区域的地址数据文件。

    • 从域名服务器
      与主域名服务器提供完全相同的DNS解析服务,通常用于DNS服务器的热备份。构建从域名服务器时,需要指定主域名服务器的位置,以便服务器能自动同步区域的地址数据库。

BIND的安装文件

BIND不是唯一能够提供域名服务的DNS服务程序,但它却是应用最为广泛的,BIND可以运行在大多数Linux/UNIX主机中

  • 官方站点:https://www/isc/org/
  • 可以直接使用yum install bind -y
[root@localhost ~]# rpm -qc bind		'查看配置文件位置'
/etc/logrotate.d/named
/etc/named.conf							'主配置文件‘
/etc/named.iscdlv.key
/etc/named.rfc1912.zones				'区域配置文件‘
/etc/named.root.key
/etc/rndc.conf
/etc/rndc.key
/etc/sysconfig/named
/var/named/named.ca
/var/named/named.empty
/var/named/named.localhost				'区域数据配置文件'
/var/named/named.loopback

在这里插入图片描述

  • 主配置文件
    负责dns全局功能 例如:日志文件位置,访问权限等
  • 区域配置文件
    负责构建解析区域 例如:多域名解析
    设置本服务器提供域名解析的特定DNS区域
    包括域名、服务器角色、数据文件名等
    使用zone “区域名” IN { … };的配置段
  • 区域数据配置文件
    负责管理主机解析记录 例如:解析映射
    NS域名服务器(Name Server)记录
    MX邮件交换(Mail Exchange)记录
    A地址(Address) 记录,只用在正向解析区域中
    CNAME别名(Canonical Name)记录

实验正向解析 邮件交换记录、别名解析、泛域名解析

在这里插入图片描述

扫描二维码关注公众号,回复: 11471743 查看本文章
[root@localhost ~]# setenforce 0					关闭防火墙
[root@localhost ~]# iptables -F						清除规则链中现有条目
[root@localhost ~]# yum install bind -y
[root@pan ~]# vim /etc/named.conf 					改主配置文件

在这里插入图片描述

[root@pan ~]# vim /etc/named.rfc1912.zones 						改区域配置文件

在这里插入图片描述

[root@pan ~]# cd /var/named/
[root@pan named]# cp -p named.localhost abc.com.zone			复制已有的区域数据文件模板  复制过来的名字要跟刚刚填的名字一样
[root@pan named]# vim abc.com.zone 								进去修改

在这里插入图片描述

[root@pan named]# echo "nameserver 192.168.110.110" > /etc/resolv.conf  	配置dns (自己本机IP)
[root@pan named]# host www.abc.com      解析网址
www.abc.com has address 192.168.110.10

开台win7测试(都是Vmnet1仅主机模式)
在这里插入图片描述
在这里插入图片描述

反向解析实验

在这里插入图片描述

[root@pan named]# vim /etc/named.rfc1912.zones 

在这里插入图片描述

[root@pan named]# cp -p abc.com.zone abc.com.local
[root@pan named]# vim abc.com.local 
[root@pan named]# systemctl restart named

在这里插入图片描述

[root@pan named]# host 192.168.110.10
10.110.168.192.in-addr.arpa domain name pointer www.abc.com.110.168.192.in-addr.arpa.

主从复制实验

重新开一台下载bind后绑在一虚拟网卡上
[root@localhost ~]# yum -y install bind
[root@localhost ~]# iptables -F
[root@localhost ~]# setenforce 0
[root@localhost ~]# vin /etc/named.conf 

在这里插入图片描述

[root@localhost ~]# vim /etc/named.rfc1912.zones 

从服务器配置
在这里插入图片描述

主服务器配置

zone "abc.com" IN {
			type master;
			file "abc.com.zone";
			allow-transfer { 这里是从服务器的IP地址; };
};

分离解析实验

  • 外网跟内网访问同一个网址 解析的IP不一样

添加一块网卡

[root@pan ~]# cd /etc/sysconfig/network-scripts/
[root@pan network-scripts]# cp -p ifcfg-ens33 ifcfg-ens36
[root@pan network-scripts]# vim ifcfg-ens33

在这里插入图片描述

[root@pan network-scripts]# vim ifcfg-ens36

在这里插入图片描述

[root@pan network-scripts]# systemctl restart network
[root@pan network-scripts]# ifconfig 
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.110.1  netmask 255.255.255.0  broadcast 192.168.110.255
        inet6 fe80::649:df95:3c83:ded1  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:33:30:14  txqueuelen 1000  (Ethernet)
        RX packets 6120  bytes 3148491 (3.0 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 3415  bytes 337102 (329.2 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ens36: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 12.0.0.1  netmask 255.255.255.0  broadcast 12.0.0.255
        inet6 fe80::2a28:77d1:8c9c:a39e  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:33:30:1e  txqueuelen 1000  (Ethernet)
        RX packets 22  bytes 3313 (3.2 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 91  bytes 15546 (15.1 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

开一台win10 做内部访问
在这里插入图片描述
开一台win7做外部访问
在这里插入图片描述

主配置文件最下面剪切这五行
[root@pan ~]# vim /etc/named.conf 

在这里插入图片描述

[root@pan ~]# vim /etc/named.rfc1912.zones 

在这里插入图片描述
剩下的全部删除

[root@pan named]# cp -p named.localhost abc.com.nei
[root@pan named]# vim abc.com.nei 

在这里插入图片描述

[root@pan named]# cp -p named.localhost abc.com.wai
[root@pan named]# vim abc.com.wai

在这里插入图片描述

[root@pan named]# systemctl restart named

win7
在这里插入图片描述
win10
在这里插入图片描述

实验总结

每次修改完后都要重启服务
如果出现以下提示就是配置文件错误检查清楚 比如各种标点符号网址后面的根‘.’ 括号{}

[root@pan named]# systemctl restart named
Job for named.service failed because the control process exited with error code. See "systemctl status named.service" and "journalctl -xe" for details.
[root@pan named]# systemctl reloadnamed		不中断服务重启某个服务

猜你喜欢

转载自blog.csdn.net/CN_PanHao/article/details/107221514