DNS刚开始解决我的server.prod地址为127.0.53.53

我有名为server.prod.example.com服务器,我经常login到server.prod 。 最近,这些主机名开始parsing为127.0.53.53。

事实certificate,ICANN最近启用了.prod TLD。 另外,每个到.prod域名服务器的请求都被parsing为127.0.53.53,而不是像NXDOMAIN那样返回,这将使parsing能够继续正常工作。 (我猜这背后的一点是让人们知道,在开始解决真正的事情之前,他们的东西将会变得更糟。)

我怎样才能避免为每个这样的主机键入我的域名?

这是不是偶尔咬你? 我找不到新的顶级域名列表,当他们join时,我自己设置一个: https : //twitter.com/newgtldannounce

当你看到内部域名突然解决到127.0.53.53你有一个namecollision和ICANN正试图告诉你,你迫切需要修复你的DNSconfiguration。
如果它会像你所build议的那样返回NXDOMAIN,那么你是正确的,现在它将继续工作。

它也会泄漏你的内部预期的DNS查询给外界。

更糟糕的是,将来有人可能会注册server.prod ,给你带来麻烦。

有关更多信息,请参阅https://icann.org/namecollision或运行:

 $ dig -t TXT server.prod +short "Your DNS configuration needs immediate attention see https://icann.org/namecollision" 

至于如何解决这个问题:取决于用例,我可能只是将它们添加到.ssh/config短名称。 或者真的开始使用FQDN。

如果您input的主机名中没有点,DNSparsing器会尝试通过首先将configuration的search域添加到主机名来查找该主机名。

对于大多数parsing器,如果使用的主机名至less有一个点,parsing器首先尝试主机名,然后回退到追加configuration的search域。

许多parsing器有能力改变他们的行为,使他们追加带有点的主机名search域。 这通常是通过一个名为“ ndots ”的选项来告诉parsing器,在它首先尝试查找主机名之前,主机名必须有多less个点。 为了使server.prod工作,将这一行添加到你的resolv.conf

 options ndots:2 

如果你想也能解决server.subzone.prod,你必须设置为3等选项

如果有人知道如何在MacOS X中做这个工作,请告诉我。 更改/etc/resolv.conflogging不工作(和不),我不能找出正确的scutil咒语。

(注意:我在这里对冲我的赌注比我想象的要多,我相信ndots选项可以在非MacOSX Unix系统中使用99%)。