如何让 Linux 终端显示机器的 DNS 域后缀

如何让 Linux 终端显示机器的 DNS 域后缀

我正在尝试编写一个脚本,它可以 ping 一个 IP 地址并告诉您正在 ping 的服务器的名称。

大部分情况下有效

我似乎无法弄清楚如何让 Linux(更具体地说是 Ubuntu)显示在“resolv.conf”文件中设置的 DNS 域后缀。

如果我在命令提示符下输入“hostname”,我得到的只是“ubuntu01”

我尝试输入域名,但得到的只是输出“(无)”,这让我很困惑,因为我可以输入我网络上任何计算机的 hsotname,它会像预期的那样将“solignis.local”的 DNS 后缀附加到它上面。

有任何想法吗?

答案1

hostname提供此功能:

$ hostname -d

如果您收到此信息(none),则可能未设置域,还有-yNIS/YP 域名的开关。

答案2

resolv.conf 中的“搜索”和“域”设置仅用于将没有域的主机名转换为 IP 地址。

您正在尝试将没有域的主机名转换为带有域的主机名。

我通常会将主机名设置为带有域的主机名,例如 /etc/hostname 和 /etc/hosts。

另一个选择是设置 DNS 服务器。

答案3

听起来计算机没有正确配置域。如果 resolv.conf 文件中有您想要的搜索域,您可以将其 grep 出来 ( grep search /etc/resolv.conf)

相关内容