With the introduction of NFSv4, user and group identifiers were changed to use the username@domain format. On Solaris hosts, the domain is determined using the following methods:
1. The NFSMAPID_DOMAIN variable is checked in /etc/default/nfs
2. DNS is queried for the _nfsv4idmapdomain TXT record
3. The configured DNS domain is used
4. The file /etc/defaultdomain is consulted
If a site doesn’t update the NFSMAPID_DOMAIN variable when deploying NFSv4, DNS will be queried for the domain to use. If the DNS server doesn’t contain a _nfsv4idmapdomain TXT record, you will see failed queries similar to the following:
host1 -> host2 ETHER Type=0800 (IP), size = 77 bytes
host1 -> host2 IP D=188.8.131.52 S=184.108.40.206 LEN=63, ID=19779, TOS=0x0, TTL=255
host1 -> host2 UDP D=53 S=52032 LEN=43
host1 -> host2 DNS C _nfsv4idmapdomain. Internet TXT ?
host2 -> host1 ETHER Type=0800 (IP), size = 77 bytes
host2 -> host1 IP D=220.127.116.11 S=18.104.22.168 LEN=63, ID=26996, TOS=0x0, TTL=254
host2 -> host1 UDP D=52032 S=53 LEN=43
host2 -> host1 DNS R Error: 3(Name Error)
This can of course pose a problem for large sites, since the DNS server will be inundated with queries for records that don’t exist. If you want to stop these DNS queries from happening, you can add the domain to the NFSMAPID_DOMAIN variable in /etc/default/nfs. Shibby!