zoukankan      html  css  js  c++  java
  • Linux搭建DNS服务器

    DNS相关概念

    DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议运行在UDP协议之上,使用端口号53。

           作用:解析域名
    
           区域:正向区域、反向区域
    
           记录:
    
                  A记录
    
                  MX记录:搭建邮件服务器
    
                  PTR记录:反向记录,出现在反向区域中
    
                  CNAME记录:别名记录
    
                  NS记录:DNS授权服务器
    
           服务器类型:主服务器、从服务器
    

    Linux搭建DNS服务器

           软件: bind-9.8.2****
    
                      bind-chroot****
    
           服务名称:named
    
           端口号:UDP 53             TCP 53
    
           配置文件:
    
                  主配置文件:/var/named/chroot/etc/named.conf
    
                  记录文件:/var/named/chroot/var/named/记录文件名
    

    搭建主DNS服务器

    需求:XX公司存在一台网站服务器,网站名称为www.bj.com,网站服务器的IP地址为192.168.1.1;有一台ftp服务器,ftp的名称为ftp.bj.com,ftp服务器的IP为192.168.1.2;现希望所有员工可以通过域名的方式访问网站服务器和ftp服务器

    1、安装bind软件

    # rpm -ivh bind-9.8.2-0.10.rc1.el6.i686.rpm
    
    # rpm -ivh bind-chroot-9.8.2-0.10.rc1.el6.i686.rpm
    

    2、生成named.conf主配置文件,建立区域

    # vim /var/named/chroot/etc/named.conf
    
    options {
    
            directory "/var/named";
    
    };
    
    zone "bj.com" {
    
            type master;
    
            file "bj.com.zone";
    
    };
     

    3、生成记录文件,创建记录

    # cp /usr/share/doc/bind-9.8.2/sample/var/named/named.localhost /var/named/chroot/var/named/bj.com.zone
    
    # vim /var/named/chroot/var/named/bj.com.zone
    
    $TTL 1D
    
    @       IN SOA  bj.com. qq.bj.com. (
    
                                            0       ; serial
    
                                            1D      ; refresh
    
                                            1H      ; retry
    
                                            1W      ; expire
    
                                            3H )    ; minimum
    
            NS      @
    
            A       127.0.0.1
    
            AAAA    ::1
    
    www     A       192.168.1.1
    
    ftp       A       192.168.1.2
    
    ~        
    记录                     

    4、启动DNS服务,测试

    # rndc-confgen -r /dev/urandom -a
    
    # /etc/init.d/named start
    

    本机测试:

    # vim /etc/resolv.conf
    
    nameserver 10.1.1.1
    

    # nslookup

    > server
    
    Default server: 10.1.1.1
    
    Address: 10.1.1.1#53
    
    > www.bj.com
    
    Server:          10.1.1.1
    
    Address:       10.1.1.1#53
    
     
    
    Name:    www.bj.com
    
    Address: 192.168.1.1
    
    > ftp.bj.com
    
    Server:          10.1.1.1
    
    Address:       10.1.1.1#53
    
     
    
    Name:    ftp.bj.com
    
    Address: 192.168.1.2
    
    > 
    内容

    5、将dns服务设置为开机自动启动

    # chkconfig --level 2345 named on
    
    # chkconfig --list named
    
    named              0:关闭   1:关闭   2:启用   3:启用   4:启用   5:启用   6:关闭
    

    6、建立反向区域,测试反向解析

    1)在named.conf主配置文件中建立反向区域

     zone "1.168.192.in-addr.arpa" {
    
            type master;
    
            file "192.168.1.zone";
    
     };
    

    2)生成反向区域相关的记录文件

    vim 192.168.1.zone
    
    $TTL 1D
    
    @       IN SOA  bj.com. qq.bj.com. (
    
                                            0       ; serial
    
                                            1D      ; refresh
    
                                            1H      ; retry
    
                                            1W      ; expire
    
                                            3H )    ; minimum
    
            NS      @
    
            A       127.0.0.1
    
            AAAA    ::1
    
    1       PTR     www.bj.com.
    
    2       PTR     ftp.bj.com.
    
    ~                             
    记录

    3)重启DNS服务,测试

    # /etc/init.d/named restart
    
    停止 named:.                                              [确定]
    
    启动 named:                                               [确定]
    
    # nslookup 
    
    > server
    
    Default server: 10.1.1.1
    
    Address: 10.1.1.1#53
    
    > 192.168.1.1
    
    Server:          10.1.1.1
    
    Address:       10.1.1.1#53
    
     
    
    1.1.168.192.in-addr.arpa   name = www.bj.com.
    
    > 192.168.1.2
    
    Server:          10.1.1.1
    
    Address:       10.1.1.1#53
    
     
    
    2.1.168.192.in-addr.arpa   name = ftp.bj.com.
    
    > exit
    View Code

    搭建从DNS服务器

    需求:现有两台服务器,IP地址分别为10.1.1.1和10.1.1.2.其中10.1.1.1为主DNS服务,为避免主DNS服务宕机,在10.1.1.2上搭建从DNS服务器,作为备份使用

    1、修改主DNS服务器的配置文件,指定从DNS服务器的IP

    #vim /var/named/chroot/etc/named.conf
    
      options {
    
               directory "/var/named";
    
       };
    
      
    
       zone "bj.com" {
    
               type master;
    
               file "bj.com.zone";
    
               allow-transfer { 10.1.1.2; };
    
       };
    
      
    
      zone "1.168.192.in-addr.arpa" {
    
              type master;
    
              file "192.168.1.zone";
    
              allow-transfer { 10.1.1.2; };
    
      };
    配置文件

    2、在从DNS服务器上安装bind软件

    # mount /dev/cdrom /mnt/
    
    # rpm -ivh /mnt/Packages/bind-9.8.2-0.10.rc1.el6.i686.rpm
    
    # rpm -ivh /mnt/Packages/bind-chroot-9.8.2-0.10.rc1.el6.i686.rpm
    

    3、在从DNS服务器上建立DNS的配置文件,在配置文件中指定主DNS服务器的IP

    # vim /var/named/chroot/etc/named.conf
    
    options {
    
            directory "/var/named";
    
    };
    
     
    
    zone "bj.com" {
    
            type slave;
    
            masters { 10.1.1.1; };
    
            file "slaves/bj.com.zone";
    
    };
    
     
    
    zone "1.168.192.in-addr.arpa" {
    
            type slave;
    
            masters { 10.1.1.1; };
    
            file "slaves/192.168.1.zone";
    
    };
    配置文件

    4、启动从DNS服务器上的服务,测试文件是否同步

    # /etc/init.d/named start
    
    Generating /etc/rndc.key:                                       [确定]
    
    启动 named:                                               [确定]
    
    效果:
    
    # ls /var/named/chroot/var/named/slaves/
    192.168.1.zone  bj.com.zone

     windows解析nslookup查看

    C:UsersAdministrator>nslookup
    
    默认服务器:  UnKnown
    
    Address:  0.0.0.0
    
     
    
    > server 10.1.1.2
    
    默认服务器:  [10.1.1.2]
    
    Address:  10.1.1.2
    
     
    
    > www.bj.com
    
    服务器:  [10.1.1.2]
    
    Address:  10.1.1.2
    
     
    
    名称:    www.bj.com
    
    Address:  192.168.1.1
    
     
    
    > ftp.bj.com
    
    服务器:  [10.1.1.2]
    
    Address:  10.1.1.2
    
     
    
    名称:    ftp.bj.com
    
    Address:  192.168.1.2
    
     
    
    > 192.168.1.1
    
    服务器:  [10.1.1.2]
    
    Address:  10.1.1.2
    
     
    
    名称:    www.bj.com
    
    Address:  192.168.1.1
    
     
    
    > 192.168.1.2
    
    服务器:  [10.1.1.2]
    
    Address:  10.1.1.2
    
     
    
    名称:    ftp.bj.com
    
    Address:  192.168.1.2
    
     
    
    > 
    View Code

    递归查询:

    options {

            directory "/var/named";

            forwarders { 8.8.8.8; 4.4.4.4; };

    };

  • 相关阅读:
    C++字符串函数之append()、insert()
    492. Construct the Rectangle(LeetCode)
    桶排序
    104. Maximum Depth of Binary Tree (LeetCode)
    557. Reverse Words in a String III(LeetCode )
    基数排序(LSD)
    500. Keyboard Row
    输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。
    myeclipse打断点进入后无法查看变量的值的解决方法
    可参考的js代码
  • 原文地址:https://www.cnblogs.com/renfanzi/p/5686489.html
Copyright © 2011-2022 走看看