配置简单命名 DNS 服务器

配置简单命名 DNS 服务器

对于软件应用程序(包含应用程序、特定硬件等)的测试设置,我需要将公共现有域路由到内部服务器而不是公共服务器。我将使用专门为此测试设置配置的网络来执行此操作。包含软件、应用程序和特殊硬件的服务器位于此网络中。我将使用简单的 DNS 服务器将对相关域的请求路由到内部服务器

该 DNS 服务器需要:将所有对域 *.internal.net 的请求路由至 192.168.1.200,通过外部 DNS 服务器解析所有其他域名,例如 8.8.8.8

我对 CentOS 有一些经验(我们的软件在 CentOS 服务器上运行),所以我决定在 Centos 7 上设置 DNS 服务器。经过一番谷歌搜索,我发现我可以在 CentOS 下使用 named 设置 DNS 服务器。

安装 named 后,我按照通过 Google 找到的教程之一中的说明更改了 /etc/named.conf 文件。我在文件底部添加了以下内容:

zone "." IN {
    type master;
    file "internal.net";
    allow-update { none; };
};

文件的其余部分没有改变。我还在 /var/named 中创建了一个文件 internal.net,内容如下:

$TTL 3200
@       IN      SOA     parkzz.net    (
    2016050204      ; serial
    3600            ; refresh
    900             ; retry
    604800          ; expire
    86400           ; nxdomain ttl
)

@                 IN      NS      internal.net
internal.net      IN      A       192.168.1.200
www.internal.net  IN      A       192.168.1.200
*.internal.net    IN      A       192.168.1.200

执行“服务名重启”并将 DNS 服务器的 IP 配置到我的 Windows 中后,我注意到域 internal.net 未被路由到我的“内部”Web 服务器。

我还在互联网上找到了该部分(默认情况下 /etc/named.conf 里面的内容)

 zone "." IN {
    type hint;
    file "named.ca";
 };

用于通过外部 DNS 服务器解析“未知”域名。但是当我将 DNS IP 设置为自己的 DNS 服务器 IP 后,我也无法访问其他网站,例如 google.nl。

我做错了什么?我的意思是我确实需要一些小基础知识,但根本无法让它工作。

答案1

确保 named.ca 文件已填充且为最新。使用 FTP 获取最新版本

wget --user=ftp --password=ftp ftp://ftp.rs.internic.net/domain/db.cache -O /etc/named/named.ca

BIND 的日志记录通常默认良好,尽管您没有提到您使用的是什么操作系统,但它通常会显示任何配置错误。一个常见的问题是它被配置为在本地主机上监听,我认为这是默认设置,因此您可能需要它来监听接口。

您可以在 cmd 窗口中使用 nslookup 从桌面进行测试,nslookup -v internal.net 192.168.1.200它会显示您的服务器是否有响应。

您也可以使用转发 DNS 服务器,因此您需要在 BIND 配置中配置转发器。本指南可能会有帮助。

相关内容