我们办公室有一个非常奇怪的案例,我不是Active Directory(AD)专家。
我们在活动目录中有一个内部区域,我们希望将子域委托给VPC中的AWS私有托管区域(通过VPN连接)。
VPN已连接,VPC中的主机可从AD端ping。
AWS不允许您从VPN外部连接到其DNS服务器,但他们的建议是托管将DNS查询转发到AWS DNS服务器的代理。
因此,我们有两个使用iptables将UDP和TCP 53转发到我们的AWS托管DNS服务器的盒子。
在Active Directory端,我们可以使用nslookup确认DNS确实正在转发:
nslookup <aws_domain> <dns_proxy_ip>
Server: <dns_proxy_ip>
Address: <dns_proxy_ip>#53
Non-authoritative answer:
Name: <aws_domain>
Address: <correct_ip>
我们已将子域名添加到活动目录中作为委派DNS。我们不能使用条件转发,因为我们不能让Active Directory管理DNS的一部分。
所以...现在我们看到非常奇怪的行为。
我可以查询Active Directory DNS,我们的AWS域不显示。
nslookup <aws_domain> <active_directory_ip>
Server: <active_directory_ip>
Address: <active_directory_ip>#53
** server can't find <aws_domain>: NXDOMAIN
但是,在连接到AD的任何笔记本电脑上,我可以查询AWS DNS服务器......
nslookup <aws_domain> <dns_proxy_ip>
Server: <dns_proxy_ip>
Address: <dns_proxy_ip>#53
Non-authoritative answer:
Name: <aws_domain>
Address: <correct_ip>
现在......任何笔记本电脑(使用常规AD名称服务器)都可以看到来自AD的正确响应。
nslookup <aws_domain> <active_directory_ip>
Server: <active_directory_ip>
Address: <active_directory_ip>#53
Non-authoritative answer:
Name: <aws_domain>
Address: <correct_ip>
实际上有点令人不安的是,一台笔记本电脑(数百台)会影响整个系统。
我真正想要完成的工作是将Active Directory转发到我的私有托管区域。
长篇大论道歉。我不知道如何使疯狂更简洁。