设为首页 收藏本站
查看: 931|回复: 0

[经验分享] Linux中的DNS服务

[复制链接]

尚未签到

发表于 2019-2-17 11:28:14 | 显示全部楼层 |阅读模式
DNS服务

DNS(Domain Name Server,域名服务器)是进行域名和与之对应的IP地址转化的服务器。DNS中保存了一张域名和与之对应的IP地址的表,以解析消息的域名,C/S,53/udp, 53/tcp ,是属于应用层协议

DNS的服务器的分类



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


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


  • 从域名服务器
      与主域名服务器提供完全相同的DNS解析服务,通常用于DNS服务器的热备份。对客户机来说,无论使用主域名服务器还是从域名服务器,查询结果都是一样的。
     


DNS的服务器的查询模式



  • DNS服务器递归查询
      当客户机向DNS服务器发出解析请求,DNS服务器从服务器本地的唯高速缓存中查询出结果,反馈给客户机,此过程称为递归查询
     
     


  • DNS服务器迭代查询

    当客户机向DNS服务器发出解析请求,DNS服务器从服务器本地的唯高速缓存中查询发现没有结果,此时该DNS服务器以DNS客户的身份向其他DNS服务器发送解析请求或向根域名服务器发送请求,此过程称为迭代查询

     


DNS服务的资源记录

DNS 区域采用资源记录的形式存储信息。每条资源记录均具有一个类型 , 表明其保留的数据类型

语法:name[TTL] IN rr_type value 



  • SOA 起始授权记录,一个区域有且只有一个起始授权记录,位于解析库的第一条记录
      name: 当前区域的名字,例如“xxx.com.”
    value: 有多部分组成
    (1) 当前区域的主DNS服务器的FQDN,也可以使用当前区域的名字;
    (2) 当前区域管理员的邮箱地址;但地址中不能使用@符号,一般用.替换,例如 linuxedu.magedu.com
    (3) 主从服务区域传输相关定义以及否定的答案的统一的TTL

    $TTL 1D
    @       IN SOA  @ admin.xxx.com. (
    0       ; serial   序列号
    1D      ; refresh    刷新时间
    1H      ; retry    重试时间
    1W      ; expire   过期时间
    3H )    ; minimum    否定答案的TTL值

  • A:域名 -> IP  正向解析

    $TTL 1D
    @       IN SOA  @ xxx.com.  admin.xxx.com. (
    0       ; serial
    1D      ; refresh
    1H      ; retry
    1W      ; expire
    3H )    ; minimum
    xxx.com.                NS   ns1.xxx.com.
    ns1.xxx.com.  A    192.168.172.129

  • AAAA:域名 -> IPv6    正向解析

  • PTR:IP -> 域名   反向解析

    $TTL 1D
    @       IN SOA  xxx.com. . admin.magedu.com. (
    0       ; serial
    1D      ; refresh
    1H      ; retry
    1W      ; expire
    3H )    ; minimum
    @                          NS   ns1.xxx.com.
    192.168.172.129   PTR  ns1.xxx.com.

  • NS : 标明当前区域的DNS服务器
      name: 当前区域的名字
    value: 当前区域的某DNS服务器的名字
    注意:一个区域可以有多个NS记录
    例如:

    xxx.com. IN NS  ns1.xxx.com.
    xxx.com. IN NS  ns2.xxx.com.
      注意:
    (1) 相邻的两个资源记录的name相同时,后续的可省略
    (2) 对NS记录而言,任何一个ns 记录后面的服务器名字,都应该在后续有一个A记录


  • CNAME :别名记录

  • MX : 邮件交换器

     

DNS服务的主从服务器和正反向解析搭建
  
准备条件:192.168.0.254为主服务器,192.168.0.253为从服务器


  • 两台服务器安装bind
    [root@centos6 ~]# yum -y install bind\
  • 在主服务器上操作编辑配置文件
    [root@centos6 ~]# vim /etc/named.conf
    options {
    listen-on port 53 { any; };
    listen-on-v6 port 53 { ::1; };
    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; };
    allow-transfer { 192.168.0.253; };#授权才可以做从服务器
    zone "." IN {
    type hint;
    file "named.ca";
    };
    zone "alice.com" IN {
    type master;
    file "named.alice.com";
    };
    zone "0.168.192.in-addr-arpa" IN {
    type master;
    file "named.192.168.0";
    };
    };
  • 编辑解析库文件和反向解析库文件
    [root@centos6 ~]# vim /var/named/named.alice.com $TTL 1D
    @       IN SOA  master.alice.com. rname.invalid. (
    0       ; serial
    1D      ; refresh
    1H      ; retry
    1W      ; expire
    3H )    ; minimum
    @       IN NS   master.alice.com.
    master.alice.com. IN A  192.168.0.254
    @       IN NS   slave.alice.com.
    slave.alice.com.  IN A  192.168.0.253
    client.alice.com. IN A  192.168.0.10
    [root@centos6 ~]# vim /var/named/named.192.168.0
    $TTL 1D
    @       IN SOA  master.alice.com. rname.invalid. (
    0       ; serial
    1D      ; refresh
    1H      ; retry
    1W      ; expire
    3H )    ; minimum
    @       NS      master.alice.com.
    @       NS      slave.alice.com.
    254     IN PTR  master.alice.com.
    253     IN PTR  slave.alice.com.
    10      IN PTR  client.alice.com.
  • 开启服务
    [root@centos6 ~]# service named start
    Starting named:                                            [  OK  ]
  • 从服务器上的配置文件
    [root@centos6 ~]# vim /etc/named.conf
    options {
    listen-on port 53 { any; };
    listen-on-v6 port 53 { ::1; };
    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; };  
    zone "." IN {
    type hint;
    file "named.ca";
    };
    zone "alice.com" IN {
    type master;
    file "slaves/named.alice.com";
    };
    zone "0.168.192.in-addr-arpa" IN {
    type master;
    file "slaves/named.192.168.0";
    };
  • 从服务器开启服务
  • 从服务器的目录权限
    [root@centos6 named]# ll
    total 40
    -rw-r-----. 1 root  named  230 Sep 15 05:25 192.168.172.zone
    drwxrwx---. 2 named named 4096 Sep 16 03:41 data
    drwxrwx---. 2 named named 4096 Sep 16 04:24 dynamic
    -rw-r-----. 1 root  named 3171 Jan 11  2016 named.ca
    -rw-r-----. 1 root  named  713 Sep 15 21:13 named.ca.rpmsave
    -rw-r-----. 1 root  named  152 Dec 15  2009 named.empty
    -rw-r-----. 1 root  named  152 Jun 21  2007 named.localhost
    -rw-r-----. 1 root  named  168 Dec 15  2009 named.loopback
    drwxrwx---. 2 named named 4096 Sep 16 04:52 slaves

  • 测试命令,dig或者nslookup即可
     


DNS服务的模拟跟服务器及主从同步
  
准备条件:
client:192.168.153.5
caching: 192.168.153.10
. : 192.168.152.9
com: 192.168.153.8
magedu: master 192.168.153.7  slave 192.168.153.6


  • 除client以外,所以有服务器安装bind,并清空防火墙和selinux
    [root@centos6 ~]# yum -y install bind;setenforce 0;iptables -F
  •   安装bind的服务器的配置文件

        options {
    listen-on port 53 { any; };
    listen-on-v6 port 53 { ::1; };
    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; };
    recursion no;#caching服务器写为yes
    dnssec-enable no;
    dnssec-validation no;
    /* Path to ISC DLV key */
    bindkeys-file "/etc/named.iscdlv.key";
    managed-keys-directory "/var/named/dynamic";
    };
    logging {
    channel default_debug {
    file "data/named.run";
    severity dynamic;
    };
    };
    zone "." IN {
    type hint;
    file "named.ca";};
    include "/etc/named.rfc1912.zones";
    include "/etc/named.root.key";
  • 除.服务器以外,其他服务器修改named.ca文件
    [root@centos6 ~]# vim /var/named/named.ca
    .                        3600000      NS    A.ROOT-SERVERS.NET.
    A.ROOT-SERVERS.NET.      3600000      A     192.168.153.9
  • 配置.服务器
    a. name.conf中删除name.ca的项目
    b.  rfc1912文件
        zone "." IN {
    type master;
    file "root.zone";
    };
      c. root.zone

        $TTL 1D
    @   IN SOA  ns. admin. (
    0   ; serial
    1D  ; refresh
    1H  ; retry
    1W  ; expire
    3H )    ; minimum
    NS  ns.
    ns. A   192.168.153.9
    com.    NS  ns.com.
    ns.com. A   192.168.153.8
      d.启动named

  • 配置.com服务器
    a. rfc1912文件
        zone "com" IN {
    type master;
    file "com.zone";
    };
      b. com.zone

        $TTL 1D
    @   IN SOA  ns.com. rname.invalid. (
    0   ; serial
    1D  ; refresh
    1H  ; retry
    1W  ; expire
    3H )    ; minimum
    NS  ns.com.
    ns.com. A   192.168.153.8
    magedu.com. NS ns1.magedu.com.
    magedu.com. NS ns2.magedu.com.
    ns1.magedu.com. A   192.168.153.7
    ns2.magedu.com. A   192.168.153.6
      c.启动named

  • 配置主magedu.com
    a. rfc1912文件
        zone "magedu.com" IN {
    type master;
    file "magedu.com.zone";
    };
      b. magedu.com.zone

        $TTL 1D
    @   IN SOA  ns1.magedu.com. rname.invalid. (
    2018091301  ; serial
    1D  ; refresh
    1H  ; retry
    1W  ; expire
    3H )    ; minimum
    NS  ns1.magedu.com.
    NS  ns2.magedu.com.
    A   192.168.153.7
    ns2 A   192.168.153.6
    www A   1.1.1.1
    ftp A   2.2.2.2
    *   A   10.10.10.10
      c.启动named

  • 配置从magedu.com
    a. rfc1912文件
        zone "magedu.com" IN {
    type slave;
    masters { 192.168.153.7; };
    file "slaves/MAGEDU.COM.ZONE";
    };
      b. 启动named

  • client修改/etc/resolv.conf
    [root@centos6 ~]# vim /etc/resolv.conf
    domain magedu.com
    search magedu.com localdomain
    nameserver 172.18.0.1
    nameserver 192.168.172.1
    nameserver 192.168.153.10   #指向缓存caching
  •   测试

    [root@localhost ~]# nslookup ftp.magedu.com
    Server:     192.168.83.132
    Address:    192.168.83.132#53
    Non-authoritative answer:
    Name:   ftp.magedu.com
    Address: 2.2.2.2
    [root@localhost ~]# nslookup hsh.magedu.com
    Server:     192.168.83.132
    Address:    192.168.83.132#53
    Non-authoritative answer:
    Name:   hsh.magedu.com
    Address: 10.10.10.10
  • 注意:测试时要清空caching-server上的缓存 rndc flush




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-673525-1-1.html 上篇帖子: Cobbler 自动安装linux 下篇帖子: linux 命令安装redis
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表