• linux系统中部署DNS从服务器


    DNS域名解析服务的三种服务器:

    主服务器:管理域名和IP地址的对应关系

    从服务器:同步域名和IP地址的对应关系(缓解跟服务器压力,提高解析速度)

    缓存服务器:转发域名和IP地址的对应关系(缓解根服务器压力,提高解析速度)

    DNS从服务器要解决的问题:

    从主服务器中获取指定的区域数据文件,起到备份同步和负载均衡的作用,缓解主服务器压力,提高DNS解析效率。

    下面实验中要用到两台虚拟机,分别为PC1(主服务器)和PC2(从服务器)。IP分别为192.168.10.10和192.168.10.20。

    1、查看主服务器和从服务器基本信息,测试联通性

    [root@PC1 ~]# ifconfig | head -n 3  ## 查看主服务器IP
    eno16777728: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 192.168.10.10  netmask 255.255.255.0  broadcast 192.168.10.255
            inet6 fe80::20c:29ff:fe66:37f7  prefixlen 64  scopeid 0x20<link>
    [root@PC2 ~]# ifconfig | head -n 3  ## 查看从服务器IP
    eno16777728: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 192.168.10.20  netmask 255.255.255.0  broadcast 192.168.10.255
            inet6 fe80::20c:29ff:fe25:bb3e  prefixlen 64  scopeid 0x20<link>
    [root@PC2 ~]# ping -c 3 192.168.10.10  ## 测试从服务器和主服务器的连通性,没有问题
    PING 192.168.10.10 (192.168.10.10) 56(84) bytes of data.
    64 bytes from 192.168.10.10: icmp_seq=1 ttl=64 time=0.222 ms
    64 bytes from 192.168.10.10: icmp_seq=2 ttl=64 time=0.202 ms
    64 bytes from 192.168.10.10: icmp_seq=3 ttl=64 time=0.228 ms
    
    --- 192.168.10.10 ping statistics ---
    3 packets transmitted, 3 received, 0% packet loss, time 2001ms
    rtt min/avg/max/mdev = 0.202/0.217/0.228/0.016 ms

    2、主服务器上一实验已经配置好BIND服务,只需给从服务器配置好BIND服务

    [root@PC2 network-scripts]# yum install bind-chroot  ## 安装bind服务
    Loaded plugins: langpacks, product-id, subscription-manager
    This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
    Resolving Dependencies
    --> Running transaction check
    ---> Package bind-chroot.x86_64 32:9.9.4-14.el7 will be installed
    --> Processing Dependency: bind = 32:9.9.4-14.el7 for package: 32:bind-chroot-9.9.4-14.el7.x86_64
    --> Running transaction check
    ---> Package bind.x86_64 32:9.9.4-14.el7 will be installed
    --> Finished Dependency Resolution
    
    Dependencies Resolved
    
    ==============================================================================================
     Package                Arch              Version                      Repository        Size
    ==============================================================================================
    Installing:
     bind-chroot            x86_64            32:9.9.4-14.el7              rhel7             81 k
    Installing for dependencies:
     bind                   x86_64            32:9.9.4-14.el7              rhel7            1.8 M
    
    Transaction Summary
    ==============================================================================================
    Install  1 Package (+1 Dependent package)
    
    Total download size: 1.8 M
    Installed size: 4.3 M
    Is this ok [y/d/N]: y
    Downloading packages:
    ----------------------------------------------------------------------------------------------
    Total                                                         189 MB/s | 1.8 MB  00:00:00     
    Running transaction check
    Running transaction test
    Transaction test succeeded
    Running transaction
      Installing : 32:bind-9.9.4-14.el7.x86_64                                                1/2 
      Installing : 32:bind-chroot-9.9.4-14.el7.x86_64                                         2/2 
    rhel7/productid                                                        | 1.6 kB  00:00:00     
      Verifying  : 32:bind-9.9.4-14.el7.x86_64                                                1/2 
      Verifying  : 32:bind-chroot-9.9.4-14.el7.x86_64                                         2/2 
    
    Installed:
      bind-chroot.x86_64 32:9.9.4-14.el7                                                          
    
    Dependency Installed:
      bind.x86_64 32:9.9.4-14.el7                                                                 
    
    Complete!
    [root@PC2 network-scripts]# vim /etc/named.conf   ## 修改主配置文件,修改第11行和第17行
      1 //
      2 // named.conf
      3 //
      4 // Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
      5 // server as a caching only nameserver (as a localhost DNS resolver only).
      6 //
      7 // See /usr/share/doc/bind*/sample/ for example named configuration files.
      8 //
      9 
     10 options {
     11         listen-on port 53 { any; };  ## 表示服务器上的所有的IP(网卡)均可提供DNS服务
     12         listen-on-v6 port 53 { ::1; };
     13         directory       "/var/named";
     14         dump-file       "/var/named/data/cache_dump.db";
     15         statistics-file "/var/named/data/named_stats.txt";
     16         memstatistics-file "/var/named/data/named_mem_stats.txt";
     17         allow-query     { any; };  ## 表示允许任何人使用DNS查询服务
     18 
     19         /* 
     20          - If you are building an AUTHORITATIVE DNS server, do NOT enable recursion.
     21          - If you are building a RECURSIVE (caching) DNS server, you need to enable 
     22            recursion. 

    修改从服务器网卡参数,将DNS服务改为本机的IP:

    [root@PC2 Desktop]# systemctl restart named  ## 重启bind服务
    [root@PC2 Desktop]# systemctl restart network  ## 重启网卡服务

    2、在主服务器中修改区域配置文件,允许从服务器的更新请求,并重启bind服务程序

    [root@PC1 ~]# vim /etc/named.rfc1912.zones 
    zone "linuxprobe.com" IN {
    type master;
    file "linuxprobe.com.zone";
    allow-update {192.168.10.20;};
    };
    zone "10.168.192.in-addr.arpa" IN {
    type master;
    file "192.168.10.arpa";
    allow-update {192.168.10.20;};
    };

    [root@PC1 ~]# systemctl restart named  ## 重启服务,加入开机自启
    [root@PC1 ~]# systemctl enable named
    ln -s '/usr/lib/systemd/system/named.service' '/etc/systemd/system/multi-user.target.wants/named.service'

     3、修改从服务器的区域配置文件,指定将要去主服务器同步的信息

    [root@PC2 ~]# vim /etc/named.rfc1912.zones  ## 修改从服务器的区域配置文件,删除原始的信息,按照如下进行编辑
    zone "linuxprobe.com" IN {               ## 指定同步域名
    type slave;                              ## 指定服务器类型为从服务器
    masters { 192.168.10.10; };              ## 指定主服务器的IP
    file "slaves/linuxprobe.com.zone";       ## 指定从主服务器同步数据的保存路径
    };
    zone "10.168.192.in-addr.arpa" IN {      ## 指定反向解析的IP
    type slave;                              ## 指定服务器类型为从服务器
    masters { 192.168.10.10; };              ## 指定主服务器的IP
    file "slaves/192.168.10.arpa";           ## 指定从主服务器同步数据的保存路径
    };
    [root@PC2 ~]# systemctl restart named   ## 重启服务
    [root@PC2 ~]# systemctl enable named    ## 设定开机自启
    ln -s '/usr/lib/systemd/system/named.service' '/etc/systemd/system/multi-user.target.wants/named.service'
    [root@PC2 ~]# cd /var/named/slaves/  ## 进入指定同步数据的目录检查是否同步,没有
    [root@PC2 slaves]# ls

    4、 清空主服务器防火墙

    [root@PC1 ~]# iptables -F    ## 这一步很重要,不知道为啥

    5、 在从服务器中重新启动bind服务,检查是否同步

    [root@PC2 slaves]# systemctl restart named   ## 重启服务
    [root@PC2 slaves]# ls  ## 检查,已经同步
    192.168.10.arpa  linuxprobe.com.zone

    6、测试从服务器的同步备份效果

    [root@PC2 slaves]# nslookup   ## 测试从服务的备份效果,通过
    > www.linuxprobe.com
    Server:        192.168.10.20
    Address:    192.168.10.20#53
    
    Name:    www.linuxprobe.com
    Address: 192.168.10.10
    > 192.168.10.10
    Server:        192.168.10.20
    Address:    192.168.10.20#53
    
    10.10.168.192.in-addr.arpa    name = www.linuxprobe.com.
    > xxx.linuxprobe.com
    Server:        192.168.10.20
    Address:    192.168.10.20#53
    
    Name:    xxx.linuxprobe.com
    Address: 111.123.145.23
    > 192.168.10.20
    Server:        192.168.10.20
    Address:    192.168.10.20#53
    
    20.10.168.192.in-addr.arpa    name = mmm.xxxxxxxx.com.

    以上测试说明了以上部署方法可以实现从服务器的备份效果。

  • 相关阅读:
    spring注解事务管理
    Spring切入点表达式常用写法
    JPA和事务管理
    maven仓库
    struts2拦截器
    js中 转义字符
    jquery中变量加$和不加$有什么区别!
    spring大乱炖
    第一章 java多线程
    CS:APP 05 笔记
  • 原文地址:https://www.cnblogs.com/liujiaxin2018/p/14125276.html
Copyright © 2020-2023  润新知