zoukankan      html  css  js  c++  java
  • centos7上使用bind解析子域名

    2020年4月8日,本文有效期预计3年。

    假设有这样的练习:

    在云服务商甲那里购买了域名yunfwa.com,自己有带公网IP的5.5.5.6服务器乙(centos 7.x环境),目标是用乙服务器实现web.yunfwa.com及其三级子域名的解析。

    具体来说,web.yunfwa.com想解析到5.5.5.7

    www.web.yunfwa.com也解析到5.5.5.7

    blog.web.yunfwa.com想解析到5.5.5.8

    第一步,在服务器乙上安装DNS解析软件bind,并启动

    # yum install bind bind-utils caching-nameserver –y
    # systemctl start named

    bind-chroot在这个练习里未使用。

    第二步,放行防火墙DNS服务端口 53 udp

    # firewall-cmd --zone=public --add-port=53/udp --permanent  添加(--permanent永久生效,没有此参数重启后失效)
    # firewall-cmd --zone=public --query-port=53/udp  查看
    # systemctl restart firewalld  重启防火墙

     另外两条firewall命令

    # firewall-cmd --reload  重新载入  
    # firewall-cmd --zone=public --remove-port=53/udp --permanent 删除

    第三步,修改各配置文件

    三.1 修改主配置文件,允许所有ipv4地址来访问DNS解析,并拒绝所有ipv6访问;并且

    # vi /etc/named.conf

    修改以下内容

            listen-on port 53 { any; };        // 所有网卡上允许ipv4
            listen-on-v6 port 53 { none; };    // 禁止ipv6
            allow-query     { any; };          // 允许所有人访问
            allow-query-cache { any; };        // 不懂
            recursion no;                      // 根据上下文注释,公网上自己提供DNS时设置为no更安全

    三.2 在rfc1912.zones文件中增加web.yunfwa.com区域

    # vi /etc/named.rfc1912.zones

    在末尾增加以下内容

     zone "web.yunfwa.com" IN {
            type master;
            file "web.yunfwa.com.zx";
            allow-update { none; };
    };

    三.3 在/var/named/目录下,新增web.yunfwa.com.zx文件

    # cd /var/named/
    # cp -p named.localhost web.yunfwa.com.zx
    # chmod 644 web.yunfwa.com.zx
    # vi web.yunfwa.com.zx

    web.yunfwa.com.zx根据3.2的定义,是一个正向解析文件,反向在我们这种情况下不知道怎么提供,算了。

    这个文件要对named可读,所以用了chmod,或者用chown root:named web.yunfwa.com.zx命令应该也能达到效果。

    文件内容设置如下:

    $TTL 1D
    @       IN SOA  @ root.nothereyet.com. (
                                            1       ; serial
                                            1D      ; refresh
                                            1H      ; retry
                                            1W      ; expire
                                            3H )    ; minimum
            NS      @
            A       5.5.5.7
    www     A       5.5.5.7
    blog    A       5.5.5.8

    第四步,在服务器乙检验并重启bind服务

    检查zone文件

    # named-checkzone web.yunfwa.com /var/named/web.yunfwa.com.zx

    正确的话显示OK,即可重启bind(named)服务

    # systemctl restart named

    如果启动中遇到错误,可以用systemctl -l status named查看出错内容。

    接下来用bind-tuils安装的两个命令检查之前设置的子域解析

    # dig @5.5.5.6 web.yunfwa.com
    # nslookup blog.yunfwa.com 5.5.5.6

    第五步,在云服务商甲处设置web.yunfwa.com子域的两条解析记录

    web的NS类型记录,值为dnsbind.web

    dsnbind.web的A类型记录,值为5.5.5.6

    如果甲商允许NS直接使用ipv4的地址值,那用一条就够了。

    一般一两分钟后,ping blog.web.yunfwa.com就可以看到结果。

    另外,更高效的方法,是在甲商处直接指定yunfwa.com的域名解析服务器为自己的公网服务器,全自己来。

    参考资料,感谢

    Centos6安装配置DNS服务器Bind

    BIND子域名授权管理

    BIND 9 配置语法(转)

     

  • 相关阅读:
    关于“.bash_profile”和“.bashrc”区别的总结
    更新CentOS的SQLite版本
    关于 javadoc
    IDEA一些功能的记录
    Java 反射机制
    Java 注解
    有趣的代码实例
    Bash
    Java 枚举
    Java 零星知识实时补充
  • 原文地址:https://www.cnblogs.com/hwajie/p/12660073.html
Copyright © 2011-2022 走看看