• 架构师成长之路6.3 DNS服务器搭建(部署单台DNS)


    点击返回架构师成长之路

    架构师成长之路6.3 DNS服务器搭建(部署单台DNS)

    1.安装bind

    yum -y install bind-utils bind bind-devel bind-chroot bind-libs
    

    2.编辑/etc/named.conf

    • 全局配置:options {};
    • 日志子系统配置:logging {};
    • 区域定义:本机能够为哪些zone进行解析,就要定义哪些zone。
                         zone "ZONE_NAME" IN {};

    注意:任何服务程序如果期望其能够通过网络被其它主机访 问,至少应该监听在一个能与外部主机通信的IP地址上。

    options {
      version "1.1.1";
      listen-on port 53 {any;};  #表示使用53端口
      directory "/var/named/chroot/etc/";#用来指定zone(A记录/MX记录等)文件配置路径,注意chroot加强安全性
      pid-file "/var/named/chroot/var/run/named/named.pid"; #当服务起来的时候,pid的位置
      allow-query { any; };#允许解析访问的权限,可以是ip地址或ip段
      Dump-file "/var/named/chroot/var/log/binddump.db";
      Statistics-file "/var/named/chroot/var/log/named_stats";#可以看到解析数量/成功率等,用于监控
      zone-statistics yes;# 配置yes,才能写入
      memstatistics-file "log/mem_stats";
      empty-zones-enable no; #不允许配置zone,却没有记录
      forwarders {202.106.196.115;8.8.8.8; };#外部转发至以下IP地址
    };
    
    key "rndc-key" { # 生成rndc控制命令的key文件,rndc与bind之间使用md5认证
            algorithm hmac-md5;
            secret "Eqw4hClGExUWeDkKBX/pBg==";
    };
    
    controls {
           inet 127.0.0.1 port 953  #连接的实际是953,不是53
                   allow { 127.0.0.1; } keys { "rndc-key"; };
     };
    
    logging {  #指定日志记录分类和他们的目标位置
      channel warning {
        file "/var/named/chroot/var/log/dns_warning" versions 10 size 10m;#日志轮转10次,每次10M 
        severity warning;
        print-category yes;
        print-severity yes;
        print-time yes;
      };
      channel general_dns {
        file "/var/named/chroot/var/log/dns_log" versions 10 size 100m;#日志轮转10次,每次100M
        severity info;
        print-category yes;
        print-severity yes;
        print-time yes;
      };
      category default {
        warning;
      };
      category queries {
        general_dns;
      };
    };
    
    include "/var/named/chroot/etc/view.conf";  # viem简单实现智能DNS功能
    

    3.编辑/etc/rndc.key

     内容需要与/etc/named.conf中的key一样

    key "rndc-key" {
            algorithm hmac-md5;
            secret "Eqw4hClGExUWeDkKBX/pBg==";
    };
    

    4.编辑/etc/rndc.conf  

    默认没有此文件。

    key "rndc-key" {
            algorithm hmac-md5;
            secret "Eqw4hClGExUWeDkKBX/pBg==";
    };
    
    options {
            default-key "rndc-key";
            default-server 127.0.0.1;
            default-port 953;
    };
    

    5.编辑/var/named/chroot/etc/view.conf

    view "View1" {  #View1只是一个view名称 
                 allow-transfer {
                    #dns-ip-list; 
            };      
                 notify  yes;
                 also-notify {
                    #dns-ip-list; 
            };
           
    #  ixfr-from-differences yes;
    zone "carlos.com" {
            type    master;  #master:表示定义的是主域名服务器,slave :表示定义的是辅助域名服务器 
            file    "carlos.com.zone"; #与文件对应的zone文件
            allow-transfer {  #允许谁同步信息
                    192.168.56.14;   
            };
            notify  yes; #当我的master配置文件发生变更时,通知以下IP
            also-notify {
                    192.168.56.14;
            };
      };
            zone "forward.com" {
                 type    forward;
                  forwarders { 10.255.253.220; };
            };
    };
    

    6.编辑/var/named/chroot/etc/com.zone

    $ORIGIN .   #zone生效的域
    $TTL 3600       ; 1 hour
    carlos.com                  IN SOA  op.Carlos.com. dns.carlos.com. (
                                    2000       ; serial  #多DNS时候,以数量增加确认同步是否正常
                                    900        ; refresh (15 minutes)#同步数据超15min失败
                                    600        ; retry (10 minutes)#同步失败后10min重传一次
                                    86400      ; expire (1 day)# 过期时间1day
                                    3600       ; minimum (1 hour)#TTL
                                    )
                            NS      op.carlos.com.
    $ORIGIN carlos.com.
    shanks              A       1.2.3.4
      op                A       1.2.3.4
    

    7.修改目录权限  

    cd /var && chown -R named.named named/ #修改目录权限
    /etc/init.d/named start  #启动
    chkconfig named on   #加开机启动
    

    8.监听端口

    .....

  • 相关阅读:
    windows 2019 server系统中网卡里面的“详细信息”空白,无法连接网络
    Python一些插件安装
    pip版本过旧,提示要升级pip
    Mac idea 默认全局配置maven设置
    Java并发/多线程-锁的区别与使用
    Java反射的理解
    Git远程连接GitHub添加远程库
    部署Django云服务器 Gunicorn + Nginx
    Nginx在 Centos 没有sites-available 和 sites-enabled目录
    java基础学习笔记4(maven)
  • 原文地址:https://www.cnblogs.com/yaoyaojcy/p/10267391.html
Copyright © 2020-2023  润新知