zoukankan      html  css  js  c++  java
  • CentOS 搭建dns服务器 解析任意域名

    DNS服务器IP地址:192.168.1.219

    服务器版本:centos6.6
    一:软件安装

    [root@localhost ~]# yum -y install bind*

    二:修改主配置文件

    [root@localhost ~]# cp /etc/named.conf /etc/named.conf.bak # 修改之前先备份一遍
    [root@localhost ~]# vi /etc/named.conf

    修改为以下:

    options {
    
    listen-on port 53 { any; }; // 监听在主机的53端口上。any代表监听所有的主机
    directory “/var/named”; // 如果此档案底下有规范到正反解的zone file 档名时,该档名预设应该放置在哪个目录底下
    
    // 下面三项是服务的相关统计信息
    
    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; }; // 谁可以对我的DNS服务器提出查询请求。any代表任何人
    recursion yes;
    dnssec-enable yes;
    dnssec-validation yes;
    dnssec-lookaside auto;
    forwarders { // 指定上层DNS服务器
    192.168.1.1;
    };
    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”;

    三、 自定义域名解析配置

    [root@localhost ~]# vi /etc/named.rfc1912.zones # 比如我们要添加yumaozdy.com这个域的解析可以添加下面这一段
    
    zone “yumaozdy.com” IN { // 定义要解析主域名
    type master;
    file “yumaozdy.com.zone”; // 具体相关解析的配置文件保存在 /var/named/yumaozdy.com.zone 文件中
    
    };

    四 自定义yumaozdy.com.zone文件

    [root@ns named]# vi /var/named/yumaozdy.com.zone

    全文如下:

    $TTL 86400
    @ IN SOA ns.yumaozdy.com. root (
    1 ; serial
    1D ; refresh
    1H ; retry
    1W ; expire
    0 ) ; minimum
    
    @ IN NS ns.yumaozdy.com.
    ns IN A 192.168.1.219
    www IN A 192.168.1.45
    bbs IN A 192.168.1.46
    ttt IN A 192.168.1.68
    
    // 其中 ns.yumaozdy.com 代表当前dns服务器名称。所以 ns.yumaozdy.com 一定要解析到自己本身
    
    www IN A 192.168.1.45 // 代表 www.yumaozdy.com 解析到 192.168.1.45服务器上。其他的类似

    五、修改权限

    [root@ns named]# chown root:named yumaozdy.com.zone # 这一步一定要做

    六、重启服务

    [root@dns_server named]# service named restart

    七、新增域名解析

    如果我们要追加一个域的解析。比如google.com 则:

    vi /etc/named.rfc1912.zones
    
    // 添加下面这段
    zone “google.com” IN {
    type master;
    file “google.com.zone”;
    };
    
    [root@ns named]# cp -a yumaozdy.com.zone google.com.zone
    [root@ns named]# vi google.com.zone
    
    $TTL 86400
    @ IN SOA ns.google.com. root (
    1 ; serial
    1D ; refresh
    1H ; retry
    1W ; expire
    0 ) ; minimum
    @ IN NS ns.google.com.
    ns IN A 192.168.1.219
    www IN A 192.168.1.11
    bbs IN A 192.168.1.46
    ttt IN A 192.168.1.68

    配置完成之后重启服务

    [root@dns_server named]# service named restart

    八、关闭selinux(略)

    九、添加防火墙规则

    vi /etc/sysconfig/iptables
    
    -A INPUT -m state –state NEW -m tcp -p tcp –dport 53 -j ACCEPT
    -A INPUT -m state –state NEW -m udp -p udp –dport 53 -j ACCEPT
    -A INPUT -m state –state NEW -m tcp -p tcp –dport 953 -j ACCEPT

    添加规则,并且保存(注意位置)

    service iptables restart

    十、测试

    vim /etc/resolv.conf
    nameserver 192.168.1.219

    保存

    ping www.yumaozdy.com和其他域名看能否解析

    zone配置文件简单说明:
    常见的正解文件 RR 相关信息
    [domain] IN [[RR type] [RR data]]
    主机名. IN A IPv4 的 IP 地址
    主机名. IN AAAA IPv6 的 IP 地址
    领域名. IN NS 管理这个领域名的服务器主机名字.
    领域名. IN SOA 管理这个领域名的七个重要参数(如上说明)
    领域名. IN MX 顺序数字 接收邮件的服务器主机名字
    主机别名. IN CNAME 实际代表这个主机别名的主机名字.
    单位:W= 周、D= 日、H= 小时、M= 分钟。
    $TTL 86400
    @ IN SOA ns.helome.com. root ( # ns.test.web. 是DNS服务器的名称
    0 ; serial (d. adams) 仅作为序列号而已
    1D ; refresh 服务器的更新时间
    15M ; retry 重新更新时间间隔
    1W ; expiry 多久之后宣布失败
    1H ) ; minimum 相当于缓存记忆时间
    @ IN NS ns.helome.com.
    @ IN MX 5 mail.helome.com. (5为优先级别)
    ns IN A 192.168.32.131
    www IN A 192.168.32.131
    mail IN A 192.168.32.131

    测试检测域信息是否正常
    检查之前先看下 配置文件有没有读取权限 ll /var/named (如果没有 chmod +r /var/named/* 即可)

    使用host或nslookup命令 检测域信息是否正常(如下图所示)

    host mail.helome.com
    nslookup mail.helome.com

    到此DNS服务器的搭建就完毕了。

    bind文件配置过程中容易出错
    以下命令用以检查bind配置文件及zone文件语法

    named-checkconf/etc/named.conf
    named-checkzone helome.com /var/named/helome.com.zone
  • 相关阅读:
    [WEB]对于"Refused to execute script from 'http://xx.xx.xx/yy/zz.js' because its MIME type ('') is not executable, and strict MIME type checking is enabled."问题的解决办法
    Linux下为python3.6.5配置环境变量
    Yii2自带验证码实现
    php在Nginx环境下进行刷新缓存立即输出,实现常驻进程轮询。
    php文件锁解决少量并发问题
    过滤各种不合法标签数据
    wampserver下升级php7
    php异步请求(可以做伪线程)
    linux 定时执行shell
    记一次工单排查经历(修改显示时间)
  • 原文地址:https://www.cnblogs.com/linuxde/p/8715659.html
Copyright © 2011-2022 走看看