yurenyahe 2023-11-24 16:26 采纳率: 0%
浏览 6

关于BIND只能解析指定域名

问题遇到的现象和发生背景

BIND搭建DNS服务器,该服务器只解析指定的子域域名,其它的域名转发给内网DNS
比如:
BIND DNS只解析:a1.test.com
如果要解析:a2.test.com,则转发到内网DNS去解析。
如何配置BIND?

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-11-24 18:51
    关注

    【以下回答由 GPT 生成】

    解决方案

    要配置BIND以实现只解析指定子域名并将其他域名转发到内网DNS,可以按照以下步骤进行配置。

    1. 首先,打开BIND的配置文件named.conf

    bash sudo nano /etc/named.conf

    1. 在配置文件中找到options部分,并添加以下配置代码:

    ```bash options { recursion yes; # 允许BIND递归查询 allow-recursion { any; }; # 允许任何客户端进行递归查询

       forwarders {                    # 配置内网DNS的IP地址
           192.168.0.1;
           192.168.0.2;
       };
    
       forward only;                   # 仅转发非指定子域名的查询请求
    

    }; ```

    将上述代码中的192.168.0.1192.168.0.2替换为你内网DNS服务器的IP地址,可以配置多个forwarders来提高可靠性。

    1. 添加一个新的配置区块,用于指定BIND只能解析指定的子域名。在named.conf文件中添加以下代码:

    bash zone "a1.test.com" { type master; file "/etc/named/a1.test.com.zone"; };

    这里假设你希望BIND只解析子域名a1.test.com。如果你有多个指定的子域名需要解析,依次添加多个zone配置块即可。

    1. 保存并关闭配置文件。

    2. 创建子域名a1.test.com的配置文件。

    bash sudo nano /etc/named/a1.test.com.zone

    1. 在配置文件中添加以下代码:

    bash $TTL 3600 @ IN SOA ns1.example.com. admin.example.com. ( 2022010101 ; 序列号 3600 ; 刷新时间 1800 ; 重试时间 604800 ; 过期时间 86400 ; 默认TTL ) @ IN NS ns1.example.com. ns1 IN A 192.168.0.10 ; BIND服务器的IP地址 www IN A 192.168.0.20 ; 子域名的IP地址

    将上述代码中的ns1.example.comadmin.example.com替换为你的主域名和管理员的邮箱地址。将192.168.0.10替换为BIND服务器的IP地址,将192.168.0.20替换为子域名www的IP地址。

    1. 保存并关闭配置文件。

    2. 重新启动BIND服务。

    bash sudo systemctl restart named

    现在,BIND将只解析指定子域名a1.test.com,而其他子域名将会被转发给内网DNS进行解析。



    【相关推荐】



    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 创建了问题 11月24日