为什么我的linux服务器解析所有域(甚至是不存在的域)

目前,每个域名都解析为我的主服务器primary.example.com.所以例如,如果我ping randomdomain123.blah我得到:
PING primary.example.com` (1.2.3.4) 56(84) bytes of data.

但我期待’找不到主机’的错误.

最初我以为是因为我在/etc/resolv.conf中搜索了example.com.但是,删除ping之后,randomdomain123.blah仍然解析为我的主域.重新启动服务器也没有任何效果.

我在/ etc / hosts中没有指定任何内容.

从群集中的另一台服务器运行主机名会提供secondary.example.com.

我使用Route 53作为DNS提供商,相关的DNS似乎是:

example.com.            A       1.2.3.4
primary.example.com.    A       1.2.3.4
*.primary.example.com.  CNAME   primary.example.com
*.example.com.          CNAME   www.example.com
www.example.com.        CNAME   primary.example.com

那么这是本地网络配置错误还是一些DNS问题? (或两者?)

更新:我想/需要通配符的原因是我运行了这个域的webapp,所以customer1.example.com等需要解析到这台机器,它需要是自动的 – 所以我想避免更改DNS每个新客户报名后.

更新2:我的/etc/resolv.conf目前如下(因为我注释掉了搜索行):

### Hetzner Online AG installimage
# nameserver config
nameserver 213.133.99.99
nameserver 213.133.100.100
nameserver 213.133.98.98
nameserver 2a01:4f8:0:a102::add:9999
nameserver 2a01:4f8:0:a0a1::add:1010
nameserver 2a01:4f8:0:a111::add:9898
# search example.com

更新3:运行dig randomdomain123.blah trace给出:

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.30.rc1.el6 <<>> randomdomain123.blah +trace
;; global options: +cmd
;; Received 12 bytes from 213.133.99.99#53(213.133.99.99) in 0 ms

更新4:我可以确认ping randomdomain123.blah.最后一个点给出:

ping: unknown host randomdomain123.blah.

那么这是否意味着从这台机器上的Java应用程序,我需要附加点并使用像http://randomdomain123.blah./somepage.html这样的URL来生成HostNotFoundException?

解决方法

您的问题是/etc/resolv.conf中的搜索字段与您的*记录相结合.您提到您已尝试删除该设置.但事实证明,从/etc/resolv.conf中省略它并不意味着将关闭搜索功能.

如果/etc/resolv.conf不存在,搜索设置将默认为主机名中的域.

我不知道是否有官方方法可以完全禁用搜索功能,但这似乎有效:

search .

或者,您可以将搜索指向没有*记录的域,其中可能包含一些其他记录以方便您使用.例如:

search search.example.com

然后,您可以创建记录,例如server1.search.example.com,但不能创建* .search.example.com.

相关文章

文章浏览阅读1.8k次,点赞63次,收藏54次。Linux下的目录权限...
文章浏览阅读1.6k次,点赞44次,收藏38次。关于Qt的安装、Wi...
本文介绍了使用shell脚本编写一个 Hello
文章浏览阅读1.5k次,点赞37次,收藏43次。【Linux】初识Lin...
文章浏览阅读3k次,点赞34次,收藏156次。Linux超详细笔记,...
文章浏览阅读6.8k次,点赞109次,收藏114次。【Linux】 Open...