How to add a nameserver to Solaris 11?

I'm having a name resolution problem in Solaris 11. According to the online Solaris guide, Chapter 12 Setting Up DNS Clients:

Client Set Up

Setting up DNS on a client machine involves two tasks:

    Creating the /etc/resolv.conf file, as described in"Creating the resolv.conf File".

    Modifying the /etc/nsswitch.conf file, as described in "Enabling a Machine to Use DNS".

    ...

However, when I open the file to make the change:

# # _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 

So, the manual tells me to create and modify resolv.conf, but resolv.conf tells me not to modify it. When I attempt to modify it with svccfg, the settings are not used.

How to add a nameserver to 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 ... 

And trying the svcconfig tool:

$ 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 ping: getaddrinfo: temporary name resolution failure ping: unknown host 

Another try with OpenDNS and Google:

svc:/network/dns/client> setprop config/nameserver = net_address: (208.67.222.222 208.67.220.220 8.8.8.8) exit # ping ping: getaddrinfo: temporary name resolution failure ping: unknown host # cat /etc/resolv.conf ... domain home.pvt 
2

2 Answers

The preferred method is to interface with SMF, but you can always cheat...

Populate /etc/resolv.conf & nsswitch & then import into SMF:

nscfg import -fv dns/client

nscfg import -f name-service/switch

And verify that the DNS client service is enabled and online: svcs -xv dns/client

The link you've found is for Solaris 10, not Solaris 11.

In Solaris 11 some configuration has changed to be SMF based rather than file based. This is true for DNS configuration. This means the way to change such information is by changing some SMF property followed by refreshing/restarting the appropriate service. The legacy config files, e.g. /etc/nsswitch.conf still exist but you are not supposed to touch them.

In your case what you are forgetting is the refresh/restart after you've changed the SMF properties:

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

More info here.

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

You Might Also Like