对于软件应用程序(包含应用程序、特定硬件等)的测试设置,我需要将公共现有域路由到内部服务器而不是公共服务器。我将使用专门为此测试设置配置的网络来执行此操作。包含软件、应用程序和特殊硬件的服务器位于此网络中。我将使用简单的 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 配置中配置转发器。本指南可能会有帮助。