当域名不存在时,TLD变成SLD

今天我注意到一些奇怪的东西。 当我查找一个不存在的域名时,我的linux服务器将把TLD(顶级域名)变成SLD(二级域名),并附加一个区域顶级域名(TLD)。 (在这种情况下.nl)。 我的服务器位于荷兰的数据中心,有一个荷兰地区的IP,因此可能是一个线索?

域名:nujklfdjaklfjkal。 com成为nujklfdjaklfjkal。 com.nl

域名:jkfdjaklfjkalfjdkafjdkla。 成为jkfdjaklfjkalfjdkafjdkla。 net.nl

[root@example ~]# ping nujklfdjaklfjkal.com PING nujklfdjaklfjkal.com.nl (83.98.157.102) 56(84) bytes of data. 64 bytes from www.com.nl (83.98.157.102): icmp_seq=1 ttl=58 time=0.890 ms 64 bytes from www.com.nl (83.98.157.102): icmp_seq=2 ttl=58 time=0.741 ms 64 bytes from www.com.nl (83.98.157.102): icmp_seq=3 ttl=58 time=0.873 ms ^C --- nujklfdjaklfjkal.com.nl ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2368ms rtt min/avg/max/mdev = 0.741/0.834/0.890/0.074 ms [root@example ~]# ping jkfdjaklfjkalfjdkafjdkla.net PING jkfdjaklfjkalfjdkafjdkla.net.nl (83.98.157.102) 56(84) bytes of data. 64 bytes from www.com.nl (83.98.157.102): icmp_seq=1 ttl=58 time=0.973 ms 64 bytes from www.com.nl (83.98.157.102): icmp_seq=2 ttl=58 time=0.856 ms 64 bytes from www.com.nl (83.98.157.102): icmp_seq=3 ttl=58 time=0.883 ms ^C 

我的resolv.conf不显示任何奇怪的,只有在其中的DNS DNS服务器。

 [root@example ~]# cat /etc/resolv.conf nameserver 8.8.8.8 

它将通过DHCP获得IP,并使用tcpdump检查了产品。 所有看起来不错,虽然它提供了2个DNS服务器,我已经configurationDHCP客户端忽略这些。

在分析tcpdump的时候,它清楚地显示出google DNS服务器回复未知。 之后,我的服务器为com.nl域做了一个新的查找。 所以它似乎是我的服务器所做的事情。

/imgs/gFZQq.png

任何人有一个想法?

更新

现在,我已经通过将search本地主机添加到/etc/resolv.conf来解决这个问题。但是,问题依然存在,为什么当我将search留空时,这不是默认完成的。

更新 – 8月24日

在我的调查中,我取得了一些进展。 系统的主机名是SLD.TLDexample.nl )而不是server.example.nl 。 看来,当我的服务器找不到一个域,并且在/etc/resolv.conf中没有configurationsearch时,它将会以他自己的主机名(例如.nl )得到第一个点后面的所有内容,并将其附加到目标主机名的结尾(jkfldajfkdajfklda.com .nl )。

这样jkfldajfkdajfklda.com成为jkfldajfkdajfklda.com.nl为什么我的服务器主机名是例如.nl 。 但是,当我将server-hostname更改为server.example.nljkfldajfkdajfklda.com突然变成jkfldajfkdajfklda.com.example.nl

问题仍然在这个逻辑configuration的地方。