我知道已经有一个非常相似的问题发布了,但是提供的解决方案对我来说不起作用,因此我没有劫持他的帖子,而是提出了一个新问题。
我通过 Powershell 和 dnscmd 向某些区域添加了 NS 记录,每个记录的结果都相同——IP 地址旁边有一个星号,这意味着它是“通过 DNS 查询检索到的 IP 地址,可能不代表此服务器上的实际记录”。当星号存在时,区域绝对不会转移。
使用脚本后,我查看了在 DNS2、3 和 4 服务器上创建的辅助区域,它显示“DNS 服务器未加载区域”,如果我返回并从脚本创建的主区域中移除 NS 并手动添加 NS,星号就会消失,刷新后,辅助区域正常并由 DNS 服务器加载。
如果我通过 GUI 中的“名称服务器”选项卡添加相同的服务器,则没有星号,并且区域传输也没有问题。
我这样做是为了将这些区域“黑洞化”
这是我创建的 Powershell 脚本(是的,我知道它可能不是最好的方法或最好的工具,但是我们还没有服务器 2012,我无法将任何模块导入我的 Powershell 并且 DNSCMD 工具是我所必须使用的全部工具,也是我被允许在该网络上使用的全部工具。
我有一个包含网址的文本文件,我将使用以下脚本将其添加到“黑洞”中
$a = Get-Content "D:\filelocation\blackholetest.txt"
$b = "@"
foreach ($a in $a)
{
dnscmd DNS1 /zoneadd $a /Primary /File $a".dns"
dnscmd DNS1 /recordadd $a WWW A IP.ADD.RE.SS
dnscmd DNS1 /recordadd $a $b NS DNS2.fully.qualified.domain.name
dnscmd DNS1 /recordadd $a $b NS DNS3.fully.qualified.domain.name
dnscmd DNS1 /recordadd $a $b NS DNS4.fully.qualified.domain.name
dnscmd DNS2 /zoneadd $a /Secondary MASTER.DNS.Server.IPAddesss /File $a".dns"
dnscmd DNS3 /zoneadd $a /Secondary MASTER.DNS.Server.IPAddesss /File $a".dns"
dnscmd DNS4 /zoneadd $a /Secondary MASTER.DNS.Server.IPAddesss /File $a".dns"
}
答案1
所以,Mass Nerder 给我指明了正确的方向。谢谢 Mass。
尽管我在脚本中命名了 NS,并且区域传输设置为传输到 NS 选项卡中的服务器,但这并不是因为 NS 选项卡中服务器 IP 的 *。通过在脚本中添加几行来设置区域传输选项卡中的辅助服务器的 IP,并将区域传输设置为转到列表中的服务器,一切都很正常,并且正在按需要的方式运行。(请参阅下面的最终脚本)
感谢所有人,并再次感谢 Mass 为我指明正确的方向。
$a = Get-Content "D:\filelocation\blackholetest.txt"
$b = "@"
foreach ($a in $a)
{
dnscmd DNS1 /zoneadd $a /Primary /File $a".dns"
dnscmd DNS1 /recordadd $a WWW A IP.ADD.RE.SS
dnscmd DNS1 /recordadd $a $b NS DNS2.fully.qualified.domain.name
dnscmd DNS1 /recordadd $a $b NS DNS3.fully.qualified.domain.name
dnscmd DNS1 /recordadd $a $b NS DNS4.fully.qualified.domain.name
dnscmd DNS1 /zoneresetsecondaries $a /securelist DNS2.IP.ADD.RESS DNS3.IP.ADD.RESS DNS4.IP.ADD.RESS /notify
dnscmd DNS2 /zoneadd $a /Secondary MASTER.DNS.Server.IPAddesss /File $a".dns"
dnscmd DNS3 /zoneadd $a /Secondary MASTER.DNS.Server.IPAddesss /File $a".dns"
dnscmd DNS4 /zoneadd $a /Secondary MASTER.DNS.Server.IPAddesss /File $a".dns"
}
在意识到我可能不是组织中唯一一个使用该脚本的人之后,我决定对其进行修改以使用用户输入而不是获取内容,并决定使其循环。请参阅下面的新代码。
do
{
$a = Read-Host "Enter Domain name you want to add to the black hole. If you are done type Exit"
if ($a -eq "Exit")
{break}
else
{
$b = "@"
dnscmd DNS1 /zoneadd $a /Primary /File $a".dns"
dnscmd DNS1 /recordadd $a WWW A IP.ADD.RE.SS
dnscmd DNS1 /recordadd $a $b NS DNS2.fully.qualified.domain.name
dnscmd DNS1 /recordadd $a $b NS DNS3.fully.qualified.domain.name
dnscmd DNS1 /recordadd $a $b NS DNS4.fully.qualified.domain.name
dnscmd DNS1 /zoneresetsecondaries $a /securelist DNS2.IP.ADD.RESS DNS3.IP.ADD.RESS DNS4.IP.ADD.RESS /notify
dnscmd DNS2 /zoneadd $a /Secondary MASTER.DNS.Server.IPAddesss /File $a".dns"
dnscmd DNS3 /zoneadd $a /Secondary MASTER.DNS.Server.IPAddesss /File $a".dns"
dnscmd DNS4 /zoneadd $a /Secondary MASTER.DNS.Server.IPAddesss /File $a".dns"
}
}
until ($a -eq "Exit")