运维大世界

第17章 域名服务

2018-04-19  本文已影响9人  fe8478c7ba2a
前言
    互联网的访问依靠IP地址。但IP地址不好记。
        所以使用域名服务(DNS,好记名),来替代访问的地址。

基本概念

专业术语1
    hosts文件(老的)
            一、hosts文件 
        作用: 实现名字解析,主要为本地主机名、集群节点提供快速解析
        数据库: 平面式结构,集中式数据库
        缺点:不便于查询,更新
                windows
                    C:\Windows\System32\drivers\etc
                Linux
                    /etc/hosts
        NetBios(windows)
        DNS
            DNS(Domain Name System,域名系统)(分布式,层次性)

作用: 实现名字解析(例如将主机名解析为IP)
FQDN
FQDN:(Fully Qualified Domain Name)完全合格域名/全称域名
baidu.com.
www.baidu.com.
www.music.baidu.com.
主机名.二级域.顶级域.(根域)
命名空间
命名空间name space: 用于给互联网上的主机命名的一种机制
空间分类

DNS区域文件
DNS服务器,存储某个命名空间的域名记录文件。
域名记录:IP 和 域名的对应关系。

专业术语2
        权威名称服务器:
            权威名称服务器: 存储并提供某个区域的实际数据,例如126.com的DNS服务器,记录了126.com域中所有主机的记录如:
        www.126.com. x.x.x.x
        ftp.126.com. y.y.y.y
            权威名称服务器类型包括:
                Master: 主DNS服务器,包含原始区域的数据
                Slave: 备份DNS服务器,通过(区域传输)从Master服务器获得区域数据的副本
        非权威名称服务器:
            非权威名称服务器: 不存储某个区域的实际数据,仅缓存DNS服务器,虽然可以提供查询,但查询的内容不具有权威性
DNS解析流程:
            例如客户端解析 www.126.com
        1. 客户端查询自己的缓存(包含hosts中的记录),如果没有将查询发送/etc/resolv.conf中的DNS服务器

        2. 如果本地DNS服务器对于请求的信息具有权威性,会将(权威答案)发送到客户端。

        3. 否则(不具有权威性),如果DNS服务器在其缓存中有请求信息,则将(非权威答案)发送到客户端 

        4. 如果缓存中没有该查询信息,DNS服务器将搜索权威DNS服务器以查找信息:
        a. 从根区域开始,按照DNS层次结构向下搜索,直至对于信息具有权威的名称服务器,为客户端获答案
        DNS服务器将信息传递给客户端 ,并在自己的缓存中保留一个副本,以备以后查找。
        b. 转发到其它DNS服务器
递归/迭代
        服务器类型
            缓存服务器
            主服务器(正向/反向)
            从服务器(不维护区域文件)
            转发服务器
        正向解析/反向解析
            DNS服务主要起到两个作用:
              1)可以把相对应的域名解析为对应的IP地址,这叫正向解析。
              2)可以把相对应的IP地址解析为对应的域名,这叫反向解析。(反垃圾邮件)
DNS服务器基本配置
    缓存DNS服务器/转发器
        环境
            DNS服务器1:10.18.41.251
            DNS客户机:10.18.41.8
        部署DNS服务器
1 安装伯克利域名服务
        [root@aliyun ~]# yum -y install bind bind-chroot

2 观察域名服务设置,启动查询功能
        [root@aliyun ~]# vim /etc/named.conf
        options {
        listen-on port 53 { any; };             //改或者删除
        listen-on-v6 port 53 { any; };  //改或者删除
        allow-query { any; };       //改或者删除

3 启动DNS服务器
        [root@aliyun ~]# systemctl start named
        [root@aliyun ~]# systemctl enable named


4 观察是否启动DNS,查询到DNS53号端口即开启成功,否则失败。
        [root@aliyun ~]# ss -tuln |grep :53 |column -t  //以列规整显示
        udp UNCONN 0 0 :::53 :::*
        tcp LISTEN 0 10 :::53 :::*

5 防火墙firewalld
        [root@aliyun ~]# firewall-cmd --permanent --add-service=dns 
        [root@aliyun ~]# firewall-cmd --reload 

                options {
        listen-on port 53 { any; };             //改或者删除
        listen-on-v6 port 53 { 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";
        allow-query { any; };       //改或者删除

客户端测试DNS解析1

  1. 客户端测试DNS解析
    [root@yang ~]# cat /etc/resolv.conf
    nameserver 上一台服务器的IP地址

2.DNS服务器正常提供服务后
[root@yang ~]# dig www.baidu.com
;; ANSWER SECTION:
www.baidu.com. 1055 IN CNAME www.a.shifen.com.
www.a.shifen.com. 155 IN A 111.13.100.92 //目标主机的IP地址

;; SERVER: 上一台服务器的IP #53(上一台服务器的IP)

3 进行通信
[root@yang ~]# ping www.baidu.com
PING www.a.shifen.com (111.13.100.92) 56(84) bytes of data.
64 bytes from 111.13.100.92: icmp_seq=1 ttl=52 time=15.4 ms
64 bytes from 111.13.100.92: icmp_seq=2 ttl=52 time=14.5 ms

解析原理(根提示)

        查看DNS服务主配置文件
            [root@aliyun ~]# vim /etc/named.conf
        根提示区域 [默认]

            
                vim /var/named/named.ca
                #是单行注释 /*是多行注释
            或者使用DNS转发器
                DNS转发Forward [通常转发到上一级的DNS服务器]
        options {
        ...
        forward first;
        forwarders { 114.114.114.114; 202.106.0.20; };
        };
主DNS服务器配置/正向区解析配置
        功能
            ==正向区: 提供正向解析,即将域名解析为IP 
            ==反向区: 提供反向解析,即将IP解析为域名 [了解]
        环境
            10.18.41.251--DNS服务器
            10.18.41.252-DNS客户机
        案例1
            案例1:xulei.com
                1. 主配置文件 相当于在域名服务商申请域名
                    [root@localhost ~]# vim /etc/named.conf 

                    zone   "xulei.com"   { //创建域xulei.com
                    type    master;
                                file     "xulei.com.zone";
                    };

                2. 数据库文件(区域文件) 在域名服务提供的页面上做解析
                    [root@localshost ~]# vim /var/named/xulei.com.zone 
                                $TTL 600
                                @ IN SOA @ root ( 2017033100 1H 15M 1W          
                                @ IN NS dns
                                dns IN A 114.215.71.214 //DNS服务器本机IP
                                www IN A 119.75.218.70 //网站服务器IP

        SOA和NS是强制要写的。
                    区域文件中参数详解
                        $TTL 600
        @        IN     SOA    @        root (    2017033100         1H       15M          1W       1D )
        @服务的域名 
        IN  
        SOA授权    
        @服务器的域名 
        root.xulei.com管理员邮箱
        (版本号时间戳 1小时同步 15分钟重试  1周过期 1天的缓存)


                3 重启DNS,使配置生效
                    [root@localhost ~]#systemctl restart named

案例2
    案例2:增加yang.com
                案例2:增加yang.com
        1. 主配置文件
            [root@yangs ~]# vim /etc/named.conf
              zone "yang.com" {
              type master;
              file "yang.com.zone";
            };

        2. 数据库文件(区域文件)
        [root@yangs ~]# vim /var/named/yang.com.zone 
            $TTL 600
            @ IN SOA @ root (
            2017033100
            1H
            15M
            1W
            1D  )
              IN NS dns         //注意域名的位置是空的,可以写@,也可以空。
        dns IN A 114.215.71.214
        www IN A 1.1.1.1            //地址是多少,不重要。
        bbs IN A 1.1.1.2
        oa IN A 1.1.1.3

数据库文件: 

        @ 表示当前域名
        www.tianyun.com. = www 
        第一个字段继承 

        SOA: 起始授权记录 强制
        NS: DNS服务器记录 强制
        A: 主机记录
        CNAME: 别名记录


#客户端查询
            lINUX工具
                1.客户端指定本地DNS
                    [root@tianyun ~]# cat /etc/resolv.conf 
        nameserver 192.168.2.115
                2.客户端解析域名
                    工具1
                        [root@tianyun ~]# dig www.baidu.com
                            权威服务器
                                [root@tianyun ~]# dig www.126.com //使用/etc/resolv.conf设置的DNS
                                flags:qr rd ra 非权威答案
                                flags:qr aa rd 权威答案
                            指定DNS服务器
                                [root@tianyun ~]# dig @192.168.2.168 www.126.com //使用指定的DNS
                                [root@tianyun ~]# dig @192.168.2.100 www.126.com //使用指定的DNS
                    工具2
                        [root@tianyun ~]# nslookup www.baidu.com
                    工具3
                        [root@tianyun ~]# host www.baidu.com
                            [root@tianyun ~]# host -t A www.baidu.com //正向解析,查询A记录
                            [root@tianyun ~]# host 192.168.5.100 //反向解析,查询PTR记录
                            [root@tianyun ~]# host www.baidu.com 192.168.5.240 //使用DNS服务器192.168.5.240解析
                            [root@tianyun ~]# host -t SOA baidu.com //查询某个域的SOA 
        baidu.com has SOA record ns.baidu.com. root.baidu.com. 2013081303 3600 900 604800 86400
        [root@tianyun ~]# host -t NS baidu.com //查询某个域的NS
        baidu.com name server ns.baidu.com.
        baidu.com name server ns2.baidu.com.
        [root@tianyun ~]# host -t MX baidu.com //查询某个域的邮件服务器
        baidu.com mail is handled by 10 mail.baidu.com.
            Windows工具/Linux工具
                [root@tianyun ~]# nslookup www.baidu.com
                ipconfig /displaydns  查看DNS缓存
   #ipconfig /flushdns 擦除DNS缓存

ISP(阿里)域名申请及解析
1.搜索万网或域名注册,访问阿里云网站。
2.登录阿里云网站。
3.通过控制台找到域名注册服务。
4.输入新域名,根据需要选购合适域名。
5.选择购买。
6.选择绑定支付宝账号。
7.邮箱验证。
8.支付。
9.返回域名控制面板,绑定IP地址。
10.域名备案。
ISP(Godaddy)域名申请

上一篇 下一篇

猜你喜欢

热点阅读