今天我注意到一些奇怪的东西。 当我查找一个不存在的域名时,我的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留空时,这不是默认完成的。
在我的调查中,我取得了一些进展。 系统的主机名是SLD.TLD ( example.nl )而不是server.example.nl 。 看来,当我的服务器找不到一个域,并且在/etc/resolv.conf中没有configurationsearch时,它将会以他自己的主机名(例如.nl )得到第一个点后面的所有内容,并将其附加到目标主机名的结尾(jkfldajfkdajfklda.com .nl )。
这样jkfldajfkdajfklda.com成为jkfldajfkdajfklda.com.nl为什么我的服务器主机名是例如.nl 。 但是,当我将server-hostname更改为server.example.nl , jkfldajfkdajfklda.com突然变成jkfldajfkdajfklda.com.example.nl 。
问题仍然在这个逻辑configuration的地方。