如何向 Solaris 11 添加名称服务器?

如何向 Solaris 11 添加名称服务器?

我在 Solaris 11 中遇到了名称解析问题。根据在线 Solaris 指南,第 12 章 设置 DNS 客户端

客户端设置

在客户端计算机上设置 DNS 涉及两项任务:

    创建 /etc/resolv.conf 文件,如“创建 resolv.conf 文件”中所述。

    修改 /etc/nsswitch.conf 文件,如“使机器使用 DNS”中所述。

    ...

但是,当我打开文件进行更改时:

#                                                                               
# _AUTOGENERATED_FROM_SMF_V1_                                                   
#                                                                               
# WARNING: THIS FILE GENERATED FROM SMF DATA.                                   
#   DO NOT EDIT THIS FILE.  EDITS WILL BE LOST.                                 
# See resolv.conf(4) for details.                                               

domain  home.pvt

因此,手册告诉我创建并修改resolv.conf,但resolv.conf告诉我不要修改它。当我尝试使用 修改它时svccfg,设置未被使用。

如何向 Solaris 11 添加名称服务器?


$ sudo cat /etc/nsswitch.conf

#
# _AUTOGENERATED_FROM_SMF_V1_
#
# WARNING: THIS FILE GENERATED FROM SMF DATA.
#   DO NOT EDIT THIS FILE.  EDITS WILL BE LOST.
# See nsswitch.conf(4) for details.

hosts:  files dns mdns
ipnodes:        files dns mdns
networks:       files
protocols:      files
rpc:    files
ethers: files
...

并尝试svcconfig工具

$ sudo su -
Oracle Corporation      SunOS 5.11      11.3    September 2015
#  svccfg -s network/dns/client
svc:/network/dns/client> setprop config/nameserver = net_address: (172.16.1.1)
svc:/network/dns/client> exit

# ping www.google.com
ping: getaddrinfo: temporary name resolution failure
ping: unknown host www.google.com

再次尝试使用 OpenDNS 和 Google:

svc:/network/dns/client> setprop config/nameserver = net_address: (208.67.222.222 208.67.220.220 8.8.8.8)
exit

# ping www.google.com
ping: getaddrinfo: temporary name resolution failure
ping: unknown host www.google.com

# cat /etc/resolv.conf 
...

domain  home.pvt

答案1

首选方法是与 SMF 接口,但你总是可以作弊……

填充/etc/resolv.conf&&nsswitch然后导入到SMF:

nscfg import -fv dns/client

nscfg import -f name-service/switch

并验证DNS客户端服务是否已启用并在线: svcs -xv dns/client

答案2

您找到的链接适用于 Solaris 10,而不是 Solaris 11。

在 Solaris 11 中,某些配置已更改为基于 SMF 而不是基于文件。DNS 配置也是如此。这意味着更改此类信息的方法是更改​​某些 SMF 属性然后刷新/重启相应的服务。例如,遗留的配置文件/etc/nsswitch.conf仍然存在,但您不应该触碰它们。

就您而言,您忘记的是更改 SMF 属性后的刷新/重新启动:

$ svcadm refresh dns/client
$ svcadm restart dns/client

更多信息这里

相关内容