DNS域名解析

文章目录

  • 一.DNS工作原理与类型
    • 1.1DNS简介
    • 1.2DNS协议及作用
    • 1.3DNS域名体系结构
    • 1.4DNS查询方式
      • 1.4.1递归查询
      • 1.4.2迭代查询
      • 1.5DNS服务器类型
  • 二.DNS域名解析服务配置
    • 2.1安装bind软件
    • 2.2正向解析配置
    • 2.3反向解析配置
  • 三.DNS主从复制配置
    • 3.1主域配置
    • 3.2从域配置
    • 3.3测试主从域服务器
  • 四.DNS分离解析
  • 五.总结

引言:在网络中,我们访问一个网址的时候,首先计算机要知道你输入的网址所对应的IP地址,比如我们输入www.baidu.com的时候,计算机是如何获得百度所对应的IP地址的呢?
计算机会使用DNS域名解析服务,将所输入的地址查询到其所对应的IP地址,从而进行网络访问。那么什么是DNS呢?

一.DNS工作原理与类型

1.1DNS简介

域名管理系统DNS(Domain Name System)是域名解析服务器的意思,应用层协议,是互联网的一项服务。它在互联网的作用是:把域名转换成网络可以识别的ip地址,在通过IP地址访问主机。 种由文字组成的名称,显而易见要更容易记忆。
全世界只有13台根域名服务器,一个主根服务器在美国,12个辅根服务器,其中9个在美国,欧洲两个,位于英国和瑞典,亚洲一个位于日本

1.2DNS协议及作用

DNS的默认端口为53,DNS端口分为TCP和UDP。
TCP是用来做区域传送,多用于主从同步在一个区中主DNS服务器从自己本机的数据文件中读取该区的DNS数据信息,而辅助DNS服务器则从区的主DNS服务器中读取该区的DNS数据信息。
UDP是用来做DNS解析的域名:通常由一个完全合格域名(FQDN)标识。FQDN全称 Fully Qualified Domain Name,它能准确表示出其相对于DNS域树根的位置,也就是节点到DNS树根的完整表述方式,从节点到树根采用反向书写,并将每个节点用"."分隔,对于DNS域google来说,其完全正式域名(FQDN)为google.com.

FQDN命名有严格的限制,长度不能超过256字节,只允许使用字符a-z,0-9,A-Z和减号(-)。点号(.)只允许在域名标志之间(例如"google.com")或者FQDN的结尾使用。
域名不区分大小,由最顶层到下层,可以分成:根域、顶级域、二级域、子域即全域名:同时带有主机名和域名的名称
FQDN = Hostname + DomainName
如:www .baidu . com.

DNS作用:正向解析:根据域名查找对应的IP地址
反向解析:根据IP地址查找对应的域名

1.3DNS域名体系结构

DNS域名解析_第1张图片
DNS系统的结构为分布式数据结构
1、根域:位于树状结构最顶层,用"."表示
2、顶级域:一般代表一种类型的组织机构或国家地区; 如.net(网络供应商,.cn(中国国家域名)
3、二级域:用来标明顶级域内的一个特定的组织,国家顶级域下面的二级域名由国家部门统一管理
4、子域:二级域下所创建的各级域统称为子域,各个组织或用户可以自由申请注册自己的域名
5、主机:主机位于域名空间最下层,就是一台具体的计算机
域名与IP地址之间是多对一的关系,一个IP地址不一定只对应一个域名,且一个域名只可以对应一个IP地址
常用DNS域名地址:
114.114.114.114是国内移动、电信和联通通用的DNS,手机和电脑端都可以使用。
8.8.8.8是GOoGLE公司提供的DNS,该地址全球通用,相对来说,更适合国外以及访问国外网站的用户使用
223.5.5.5和223.6.6.6:阿里云DNS

1.4DNS查询方式

1.4.1递归查询

主机向本地域名服务器的查询一般都是采用递归查询。
所谓递归查询就是:如果主机所询问的本地域名服务器不知道被查询的域名的IP地址,那么本地域名服务器就以DNS客户的身份, 向其它根域名服务器继续发出查询请求报文(即替主机继续查询),而不是让主机自己进行下一步查询。 因此,递归查询返回的查询结果要么是所要查询的IP地址,或者是报错,表示无法查询到所需的IP地址。

1.4.2迭代查询

本地域名服务器向根域名服务器的查询的方式叫迭代查询
迭代查询的特点:当根域名服务器收到本地域名服务器发出的迭代查询请求报文时,要么给出所要查询的IP地址,要么告诉本地服务器:“你下一步应当向哪一个域名服务器进行查询”。
然后让本地服务器进行后续的查询。根域名服务器通常是把自己知道的顶级域名服务器的IP地址告诉本地域名服务器,让本地域名服务器再向顶级域名服务器查询。
顶级域名服务器在收到本地域名服务器的查询请求后,要么给出所要查询的IP地址,要么告诉本地服务器下一步应当向哪一个权限域名服务器进行查询。
最后,知道了所要解析的IP地址或报错,然后把这个结果返回给发起查询的主机

1.5DNS服务器类型

1、主域名服务器:负责维护一个区域的所有域名信息,是特定的所有信息的权威信息源,数据可以修改。构建主域名服务器时,需要自行建立所负责区域的地址数据文件。
2、从域名服务器:当主域名服务器出现故障、关闭或负载过重时,从域名服务器作为备份服务提供域名解析服务。从域名服务器提供的解析结果不是由自己决定的,而是来自于主域名服务器。构建从域名服务器时,需要指定主域名服务器的位置,以便服务器能自动同步区域的地址数据库。
3、缓存域名服务器:只提供域名解析结果的缓存功能 目的在于提高查询速度和效率,但没有域名数据库。它从某个远程服务器取得每次域名服务器查询的结果,并将它放在高速缓存中,以后查询相同的信息时用它予以响应。缓存域名服务器不是权威性服务器,因为提供的所有信息都是间接信息。构建缓存域名服务器时,必须设置根域或指定其他DNS服务器作为解析来源。
4、转发域名服务器:负责所有非本地域名的本地查询。转发域名服务器接到查询请求后,在其缓存中查找,如找不到就将请求依次转发到指定的域名服务器,直到查找到结果为止,否则返回无法映射的结果。

二.DNS域名解析服务配置

2.1安装bind软件

1.检查并安装bind软件

[root@xiayan ~]# rpm -q bild
未安装软件包 bild 
[root@xiayan ~]# yum install -y bild

2.查询bind软件配置文件

[root@xiayan ~]# rpm -qc bind    #查询bind软件配置文件路径         
/etc/named.conf                  #主程序配置文件
/etc/named.rfc1912.zones         #区域配置文件
/named/named.localhost           #区域数据配置文件

2.2正向解析配置

1.编辑主程序配置

[root@xiayan ~]# cp -p /etc/named.conf /etc/name.conf.bak  #备份配置文件 
[root@xiayan ~]# vim /etc/named.conf
options {
        listen-on port 53 { 192.168.48.6; };                      #监听端口为53,监听的IP地址为本地的IP
 #       listen-on-v6 port 53 { ::1; };                           #IPV6   暂不使用
        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     { 192.168.48.0/24; };                     #允许使用本DNS解析的网段,any为所有网段

DNS域名解析_第2张图片

2.配置区域文件

[root@xiayan ~]# cp -p /etc/named.rfc1912.zones /etc/named.rfc1912.zones.bak #备份
[root@xiayan ~]# vim /etc/named.rfc1912.zones                        
zone "localhost.localdomain" IN {                       #正向解析"localhost.localdomain"域名
type master;                                            #类型为主区域
 file "named.localhost";                                #指定区域数据文件为named.localhost
allow-update { none; };
};

DNS域名解析_第3张图片
3.配置数据区域文件

[root@xiayan ~]# cd /var/named             #数据区域文件所在目录
[root@xiayan named]# cp -p named.localhost xiayan.com.zone  #保留源权限复制在当前目录下
[root@xiayan named]# vim xiayan.com.zone 
$TTL 1D                                                    #缓存解析结果生命周期 
@     IN SOA  xiayan.com. admin.xiayan.com. (                #“@”符号表示当前的DNS区域名
                                        0       ; serial   #更新序列号,可以是10位以内的整数
                                        1D      ; refresh  #刷新时间,重新下载地址数据的间隔
                                        1H      ; retry    #重试延时,下载失败后的重试间隔
                                        1W      ; expire   #失效时间,超过该时间仍无法下载则放弃
                                        3H )    ; minimum  #无效解析x记录的生存周期
        NS     xiayan.com.          #记录当前区域的DNS服务器的名称
        A       192.168.48.6       #记录主机IP地址
IN   MX  10    mail.xiayan.com.    #MX为邮件交换记录,数字越大优先级越低
www  IN  A     192.168.48.6        #记录正向解析www.xiayan.com对应的IP
mail IN  A     192.168.48.20
ftp  IN CNAME  www                  #CNAME使用别名,ftp是www的别名
*    IN   A    192.168.48.100       #泛域名解析,“*"代表任意主机名

DNS域名解析_第4张图片
配置完后重启服务:systemctl start named
如果启动失败:tail -f /var/log/ message 可以查看日志文件来排查错误
ps:区域数据文件地址最后的==“.”==一定不要忘记
更改DNS

vim /etc/resolv.conf                                      #修改完后立即生效
nameserver 192.168.48.6
或
vim /etc/ sysconfig/network- scripts/ ifcfg-ens33         #修改完后需要重启网卡
DNS1=192.168.48.6
systemctl restart network

4.测试DNS解析

nsloopup www.xiayan.com
nslookup ftp.xiayan.com

DNS域名解析_第5张图片
别名验证
DNS域名解析_第6张图片

2.3反向解析配置

1.编辑主程序配置文件
此配置与正向解析配置相同
2.配置区域文件

[root@xiayan ~]# vim /etc/named.rfc1912.zones
zone "0.in-addr.arpa" IN {       #IP地址反过来写,192.168.48.0反过来:48.168.192
        type master;
        file "named.empty";      #指定反向解析数据文件,和正向解析数据文件相同
        allow-update { none; };
};

DNS域名解析_第7张图片
3.配置数据区域文件
[root@xiayan named]# cp -p named.localhost xiayan.com.zone.local
DNS域名解析_第8张图片

[root@xiayan named]# vim xiayan.com.zone.local

DNS域名解析_第9张图片

重启服务:systemctl restart named

4.测试DNS反向解析

nslookup 192.168.48.100
nslookup 192.168.48.200

DNS域名解析_第10张图片

三.DNS主从复制配置

当主域名服务器出现故障、关闭或负载过重时,从域名服务器作为备份服务提供域名解析服务。从域名服务器提供的解析结果不是由自己决定的,而是来自于主域名服务器。构建从域名服务器时,需要指定主域名服务器的位置,以便服务器能自动同步区域的地址数据库。

使用两台服务器,构建主域与从域服务器

3.1主域配置

1.编辑主程序配置文件
DNS域名解析_第11张图片

2.区域文件配置

正向解析:
zone "xiayan.com" IN {
        type master;                         #type类型为主域
        file "xiayan.com.zone";              #指定区域文件地址
        allow-transfer { 192.168.48.7; };    #指向从域IP地址
};
反向解析:
zone "48.168.192.in-addr.arpa" IN {          #反向解析地址192.168.48.0网段,0可以不写
        type master;                         #type类型为主域
        file "xiayan.com.zone";              #指定区域文件地址
        allow-transfer { 192.168.48.7; };    #指向从域IP地址
};

3.区域数据配置

[root@xiayan ~]# cd /var/named             #数据区域文件所在目录
[root@xiayan named]# cp -p named.localhost xiayan.com.zone  #保留源权限复制在当前目录下
[root@xiayan named]# vim xiayan.com.zone 

DNS域名解析_第12张图片
重启服务:systemctl restart named
4.更改DNS

vim /etc/resolv.conf                                      #修改完后立即生效
nameserver 192.168.48.6
或
vim /etc/ sysconfig/network- scripts/ ifcfg-ens33         #修改完后需要重启网卡
DNS1=192.168.48.6
systemctl restart network

3.2从域配置

1.编辑主程序配置文件
从域的主程序配置与主域相同
DNS域名解析_第13张图片

2.区域文件配置

vim /etc/named.rfc1912.zones
正向解析: 
zone "xiayan.com" IN {            
        type slave;                       #type类型为从域
        file "slaves/xiayan.com.zone";     #指向从域区域数据位置
        masters { 192.168.48.6; };         #指向主域IP
};
反向解析:
zone "48.168.192.in-addr.arpa" IN {        
        type slave;                       #type类型为从域
        file "slaves/xiayan.com.zone";     #指向从域区域数据位置
        masters { 192.168.48.6; };         #指向主域IP
}; 

重启服务:systemctl restart named
3.更改DNS

vim /etc/resolv.conf                                      #修改完后立即生效
nameserver 192.168.48.7
或
vim /etc/ sysconfig/network- scripts/ ifcfg-ens33         #修改完后需要重启网卡
DNS1=192.168.48.7
systemctl restart network

3.3测试主从域服务器

1.主域服务器解析测试
DNS域名解析_第14张图片
2.从域服务器解析测试
停止主域服务器,使用从域服务器解析

在这里插入图片描述
DNS域名解析_第15张图片

四.DNS分离解析

分离解析的域名服务器实际也是主域名服务器,这里主要是指根据不同的客户端提供不同的域名解析记录。比如来自内网
和外网的不同网段地址区域的客户机请求解析同一域名时,为其提供不同的解析结果,得到不同的IP地址。
注:DNS分离解析即将内外网的相同域名解析为不同的IP地址

配置网关服务器搭建DNS分离解析
在网关服务器搭建DNS分离解析,使局域网主机解析www.xiayan.com为192.168.48.10,外网主机解析www.xiayan.com
为10.0.0.10。
1.配置主程序文件
DNS域名解析_第16张图片
DNS域名解析_第17张图片

2.区域文件配置

内网编辑:
view "int" {                            #定义外网view,view代表容器分割
   match-clients { 192.168.48.0/24; }#匹配内网网段
   zone "xiayan.com" IN {               #要解析的区域
      type master;                      
      file"xiayan.com.zone.int"#区域数据文件位置
zone "." IN {                        #此处为根域配置文件,是从主配置文件剪切过来 
        type hint;                   #hint是根区域类型 
        file "named.ca";
};
};
};

外网编辑:

view "out" {
   match-clients { 10.0.0.0/24; };    
   zone "xiayan.com" IN {
      type master;
      file"xiayan.com.zone.out"};
};

DNS域名解析_第18张图片

3.数据区域文件配置
内网数据区域配置

[root@xiayan named]# cp -p named.localhost xiayan.com.zone.int
[root@xiayan named]# vim xiayan.com.zone.int 
$TTL 1D
@       IN SOA  xiayan.com. admin.xiayan.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      xiayan.com.    
        A       192.168.48.6           #记录主机IP     
www  IN A       192.168.48.10          #记录正向解析www.xiayan.com对应的IP地址

外网数据区域设置

[root@xiayan named]# cp -p named.localhost xiayan.com.zone.out
[root@xiayan named]# vim xiayan.com.zone.out
$TTL 1D
@       IN SOA  xiayan.com. amdin.xiayan.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      xiayan.com.
        A       10.0.0.2        #记录主机IP 
www IN  A       10.0.0.10       #记录正向解析www.xiayan.com对应的IP地址

4.网卡配置
给内网服务器增加一个网卡
DNS域名解析_第19张图片
在这里插入图片描述
编辑刚添加的网卡信息:

ifconfig -a  #查看刚添加的网卡信息 
 cp /etc/sysconfig/network-scripts/ifcfg-ens33  /etc/sysconfig/network-scripts/ifcfg-ens36 #复制原ens33配置,并改名为ens36
 ifup ens36  #开启新网卡
 vim /etc/sysconfig/network-scripts/ifcfg-ens36  #更改网卡信息 

DNS域名解析_第20张图片

更改外网服务器网卡
DNS域名解析_第21张图片

5.内外网解析测试
内网测试
DNS域名解析_第22张图片
外网测试
DNS域名解析_第23张图片

五.总结

1.DNS解析方式有,正向解析和反向解析,正向解析是将域名解析为IP地址,反向则相反
2.DNS工作原理有递归和迭代两种;递归是主机向本地域名服务器查询的方式;迭代是本地域名服务器向根服务器查询的方式。
3.主从域服务器,当主域服务器宕机,从域服务器顶替;从服务器会复制主域服务器的相关配置
4.分离解析:内外网公用一个域名,但是对应的IP地址不同
5.bind配置文件主要分为:服务主配置文件,区域配置文件,区域数据文件

你可能感兴趣的:(linux,运维,云计算)