我的/etc/resolv.conf
文件很简单,例如:
# Generated by NetworkManager
domain subdomain.example.org
search subdomain.example.org
nameserver 192.0.2.100
nameserver 192.0.2.200
据我所知,如果我有一台计算机,例如machine1.subdomain.example.org
,搜索字段只允许我使用其名称来访问它machine1
。但我得到的结果如下:
$ ping machine1
ping: unknown host machine1
$ ping machine1.subdomain.example.org
PING machine1.subdomain.example.org (192.0.2.12) 56(84) bytes of data.
.../...
我使用的是 Debian wheezy,如何才能让搜索指令考虑到名称解析?这是配置问题吗?我必须检查哪些参数?
编辑:/etc/nsswitch.conf
以下是所要求的 内容:
# /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc-reference' and `info' packages installed, try:
# `info libc "Name Service Switch"' for information about this file.
passwd: compat
group: compat
shadow: compat
hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: nis
答案1
我会消除 网络管理器和解析配置并重试,验证/etc/resolv.conf仍然有正确的内容。这两个包在服务器上没有位置,并且会在你最不想要的时候弄乱网络和 DNS 配置。我使用- 清除要完全删除它们,请将其保留。您可能还需要验证/etc/网络/接口删除这些软件包并重新启动网络后仍然正确。
apt-get --purge remove network-manager resolvconf
答案2
在 AIX 中,您可以指定有关名称解析查找的 /etc/netsvc.conf
主机=本地,bind4
在 Linux 中 /etc/nsswitch.conf
主机:文件 DNS