zoukankan      html  css  js  c++  java
  • DNS学习笔记

    FQDN就是访问网址----找到IP

    www.tzh.com

    www 主机名、别名
    tzh.com domain 域名

    DNS服务

    分散式:/etc/hosts

    集中式:/NIS

    分布式:DNS

    DNS:Domain Name Service 应用层协议

    BIND:Bekerley Internal Name Demain

    本地名称解析配置文件:/etc/hosts

    一、DNS域名

    image-20200806000343937

    访问流程(正向解析)

    image-20200806002642994

    二、DNS服务器类型

    主名称服务器(primary name server):从域管理员构造的本地磁盘文件中加载域信息,该文件(区域文件)包含着该服务器具有管理权的一部分域结构的最精确信息。主服务器是一种权威性服务器,因为它以绝对的权威去回答对其管辖域的任何查询。
    
    从名称服务器(secondary name server):它可从主服务器中复制一整套域信息。区域文件是从主服务器中复制出来的,并作为本地磁盘文件存储在辅助服务器中。这种复制称为”区域文件复制”。在辅助域名服务器中有一个所有域信息的完整拷贝,可以有权威地回答对该域的查询。因此,辅助域名服务器称作权威性服务器。配置辅助域名服务器不需要生成本地区文件,因为可以从主服务器中下载该区文件。
    
    唯高速缓存名称服务器(caching-only server):可运行域名服务器软件,但是没有域名数据库软件。它从某个远程服务器取得域名服务器查询的结果,一旦取得一个,就将它放在高速缓存中,以后查询相同的信息时就用它予以回答。高速缓存服务器不是权威性服务器,因为它提供的所有信息都是间接信息。
    
    当BIND被配置为缓存服务器的时候,它只会回应已缓存的请求,并将所有其他的请求转发到上游的 DNS 服务器。缓存名称服务器只需要.这个zone file文件即可。
    

    三、安装DNS服务器

    [root@t2 ~]# yum install bind  bind-utils bind-chroot -y
    [root@t2 ~]# systemctl start named
    

    四、DNS配置的主要文件组

    /etc/hosts  主机的一个文件列表   添加记录如:111.13.100.92   www.baidu.com
    对于简单的主机名解析(点分表示法),默认在请求DNS或NIS网络域名服务器前,/etc/named.conf 通常会告诉程序先查看此文件。
    
    /etc/resolv.conf  转换程序配置文件
    在配置程序请求BIND域名查询服务查询主机名时,必须告诉程序使用哪个域名服务器和IP地址来完成这个任务
    
    /etc/named.conf  BIND主文件
    设置一般的name参数,指向该服务器使用的域数据库的信息源
    
    /var/named/named.ca  根域名配置服务器指向文件
    指向根域名配置服务器,用于告诉缓存服务器初始化
    
    /var/named/localhost.zone    localhost区正向域名解析文件
    用于将本地IP地址(127.0.0.1)转换为本地回送IP地址(127.0.0.1)
    
    /var/named/name.local  localhost区反向域名解析文件
    用于将localhost名字转换为本地回送IP地址(127.0.0.1)
    
    /etc/named.rfc1912.zones  区块设置文件
    #把自己的zones放这个配置文件named.rfc1912.zones
    

    五、正向解析配置

    资源记录

    image-20200806094955580 image-20200806100131975
    #记得把/etc/named.conf的 2跟10 改成any
    [root@t2 named]# vim /etc/named.conf    
    listen-on port 53 { any; };
    allow-query     { any; };
    -------------------------------
    [root@t2 ~]# vim /etc/named.rfc1912.zones
    #新增一个zone
    zone "tzh.com" IN {
            type master;
            file "tzh.com.zone";
            allow-update { none; };
    };
    [root@t2 ~]# cd /var/named/
    [root@t2 named]# cp -a named.localhost tzh.com.zone
    #如果没加-a 得改组的权限
    [root@t2 named]# chgrp named tzh.com.zone
    [root@t2 named]# vim tzh.com.zone
    $TTL 1D
    #			   主域名(后面得加.)邮箱地址@用.代替
    @       IN SOA  hs.tzh.com.   admin.tzh.com. (
    									#版本号修改一次得改这个 0 改1 2 3 
                                            0       ; serial
                                            1D      ; refresh
                                            1H      ; retry
                                            1W      ; expire
                                            3H )    ; minimum
            NS      hs
    hs      A       192.168.47.189
    
    #改完重新加载
    [root@t2 named]# systemctl reload named
    #检查主配置文件是否有语法错误
    [root@t2 ~]# named-checkconf 
    #检查解析库配置文件是否有错误
    [root@t2 ~]# named-checkzone "tzh.com" /var/named/tzh.com.zone 
    zone tzh.com/IN: loaded serial 0
    OK
    

    六、测试

    #在189上测试
    [root@t2 named]# dig www.tzh.com @127.0.0.1
    [root@t2 named]# host www.tzh.com 127.0.0.1
    Using domain server:
    Name: 127.0.0.1
    Address: 127.0.0.1#53
    Aliases: 
    
    www.tzh.com has address 192.168.47.190
    
    #在190上测试
    [root@t3 ~]# host www.tzh.com 192.168.47.189
    Using domain server:
    Name: 192.168.47.189
    Address: 192.168.47.189#53
    Aliases: 
    
    www.tzh.com has address 192.168.47.190
    

    七、实验

    #1、现在190上加DNS指向192.168.47.189
    
    #2、在189安装httpd
    [root@t2 ~]# yum -y install httpd
    [root@t2 ~]# echo '123456' > /var/www/html/index.html
    [root@t2 ~]# systemctl restart httpd
    
    #在192.168.47.190
    [root@t3 ~]# dig www.tzh.com
    [root@t3 ~]# curl -i www.tzh.com
    

    A、DNS反向解析

    [root@t2 ~]# vim  /etc/named.rfc1912.zones
    #加上
    zone "47.168.192.in-addr.arpa" IN {
            type master;
            file "192.168.47.189.zone";
            allow-update { none; };
    };
    ##添加zone
    [root@t2 ~]# cd /var/named/
    [root@t2 named]# cp -a named.loopback 192.168.47.189.zone
    [root@t2 named]# vim 192.168.47.189.zone 
    $TTL 1D
    @       IN SOA  hs.tzh.com admin.tzh.com. (
                                            0       ; serial
                                            1D      ; refresh
                                            1H      ; retry
                                            1W      ; expire
                                            3H )    ; minimum
            NS      hs.tzh.com.
    189     PTR     hs.tzh.com.
    189     PTR     mail.tzh.com.
    #检查语法
    [root@t2 named]# named-checkzone "192.168.47.189.zone" /var/named/192.168.47.189.zone 
    zone 192.168.47.189.zone/IN: loaded serial 0
    OK
    
    #重启
    [root@t2 named]# systemctl reload named
    
    #测试
    [root@t2 named]# dig -x 192.168.47.189 @127.0.0.1
    
    ; <<>> DiG 9.11.4-P2-RedHat-9.11.4-16.P2.el7_8.6 <<>> -x 192.168.47.189 @127.0.0.1
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 34385
    ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 1, ADDITIONAL: 2
    
    ;; OPT PSEUDOSECTION:
    ; EDNS: version: 0, flags:; udp: 4096
    ;; QUESTION SECTION:
    ;189.47.168.192.in-addr.arpa.   IN      PTR
    
    ;; ANSWER SECTION:
    189.47.168.192.in-addr.arpa. 86400 IN   PTR     mail.tzh.com.
    189.47.168.192.in-addr.arpa. 86400 IN   PTR     hs.tzh.com.
    
    ;; AUTHORITY SECTION:
    47.168.192.in-addr.arpa. 86400  IN      NS      hs.tzh.com.
    
    ;; ADDITIONAL SECTION:
    hs.tzh.com.             86400   IN      A       192.168.47.189
    
    ;; Query time: 0 msec
    ;; SERVER: 127.0.0.1#53(127.0.0.1)
    ;; WHEN: Thu Aug 06 11:11:17 CST 2020
    ;; MSG SIZE  rcvd: 129
    

    B、配置从DNS(从机190)

    第1步:在主服务器的区域配置文件中允许该从服务器的更新请求,即修改allow-update {允许更新区域信息的主机地址;};参数,然后重启主服务器的DNS服务程序。
    [root@t2 named]# vim /etc/named.rfc1912.zones
    zone "tzh.com" IN {
            type master;
            file "tzh.com.zone";
            allow-update { 192.168.47.190; };
    };
    
    zone "47.168.192.in-addr.arpa" IN {
            type master;
            file "192.168.47.189.zone";
            allow-update { 192.168.47.190; };
    };
    #重启
    [root@t2 named]# systemctl restart named     
    
    #从服务器安装bind
    [root@t3 ~]# yum install bind  bind-utils -y
    [root@t3 ~]# systemctl start named && systemctl enable named
    
    第2步:在从服务器中填写主服务器的IP地址与要抓取的区域信息,然后重启服务。注意此时的服务类型应该是slave(从),而不再是master(主)。masters参数后面应该为主服务器的IP地址,而且file参数后面定义的是同步数据配置文件后要保存到的位置,稍后可以在该目录内看到同步的文件。
    #修改配置文件
    [root@t3 ~]# vim /etc/named.conf
            listen-on port 53 { any; };
            allow-query     { any; };
    [root@t3 named]# vim /etc/named.rfc1912.zones           
    #加上
    zone "tzh.com" IN {
            type slave;
            file "/slaves/tzh.com.zone";
            masters { 192.168.47.189; };
    };
    
    zone "47.168192.in-addr.arpa" IN {
            type slave;
            file "slaves/192.168.47.189.rev";
            masters { 192.168.47.189; };
    };
    #检查语法错误
    [root@t3 named]# named-checkconf /etc/named.conf
    #重启
    [root@t3 slaves]# systemctl restart named
    [root@t3 slaves]# cd /var/named/slaves
    [root@t3 slaves]# ll
    total 4
    -rw-r--r-- 1 named named 280 Aug  6 11:41 192.168.47.189.rev
    
    #测试在从机上
    [root@t3 slaves]# nslookup
    > www.tzh.com
    Server:         192.168.47.189
    Address:        192.168.47.189#53
    
    Name:   www.tzh.com
    Address: 192.168.47.190
    > 192.168.47.189
    189.47.168.192.in-addr.arpa     name = hs.tzh.com.
    189.47.168.192.in-addr.arpa     name = mail.tzh.com.
    
  • 相关阅读:
    ReactiveCocoa -函数式编程和响应式编程
    关于即时通讯功能开发技术选型
    cordova 打包的项目里加入微信支付功能编译问题。
    OC和swift互相调用。
    有关 -all_load和-ObjC
    在一个项目中同时使用Swift和Objective-C代码混合编程的方法
    iOS开发中Static和Const关键字的的作用
    开发所有插件必须要这个插件
    phonegap 二维码扫描插件使用
    大数据基础---Kafka深入理解分区副本机制
  • 原文地址:https://www.cnblogs.com/hsyw/p/13445359.html
Copyright © 2011-2022 走看看