|System Administration Guide, Volume 3|
|Chapter 1. Managing IPv6 Concepts|
This section describes naming changes resulting from the implementation of IPv6 in the current Solaris release. You can store IPv6 addresses in any of the Solaris naming services (NIS, NIS+, DNS, and files).
The /etc/inet/ipnodes file stores both IPv4 and IPv6 addresses. It serves as a local database that associates the names of hosts with their IPv4 and IPv6 addresses. Because host IPv6 addresses can change dynamically, they should not be placed statically. However, for testing purposes, it might be useful to store IPv6 addresses in a file in the same way that IPv4 addresses are stored in /etc/hosts. The ipnodes file uses the same format convention as the hosts file. See the TCP/IP hosts database description in [reference TBD].
IPv6-aware utilities use the new /etc/inet/ipnodes database exclusively. The existing /etc/hosts database, which contains only IPv4 addresses, remains as it is to facilitate existing applications.
Note - You must add IPv4 addresses to both the hosts and ipnodes files. You add only IPv6 addresses to the ipnodes file.
# # Internet IPv6 host table # with both IPv4 and IPv6 addresses # ::1 localhost 2::9255:a00:20ff:fe78:f37c fripp fripp-v6 2::9255:a00:20ff:fe87:9aba strat strat-v6 fe80::a00:20ff:fe87:9aba strat-ll fe80::a00:20ff:fe78:f37c fripp-ll 220.127.116.11 strat strat-v4 loghost 18.104.22.168 fripp
Two new maps have been added for NIS: ipnodes.byname and ipnodes.byaddr. Similar to /etc/inet/ipnodes, these maps contain both IPv4 and IPv6 information. The existing hosts.byname and hosts.byaddr maps, which contain only IPv4 information, remain as they are to facilitate existing applications.
A new table has been added for NIS+ named ipnodes.org_dir. It contains both IPv4 and IPv6 addresses for a host. The existing hosts.org_dir table, which contains only IPv4 addresses for a host, remains as it is to facilitate existing applications.
A new resource record defined as an AAAA record has been specified by RFC 1886. This AAAA record maps a host name into an 128-bit IPv6 address. The existing PTR record is still used with IPv6 to map IP addresses into host names. The 32 4-bit nibbles of the 128-bit address are reversed for an IPv6 address. Each nibble is converted to its corresponding hexadecimal ASCII value with ip6.int appended to it.
In addition to the capability of looking up IPv6 addresses through /etc/inet/ipnodes, IPv6 support has been added to the NIS, NIS+, and DNS name services. Consequently, the nsswitch.conf file has been modified to support IPv6 lookups. The addition of an ipnodes line to the /etc/nsswitch.conf file enables you to perform lookups in the new databases for each of the Solaris Name Services (NIS, NIS+, DNS, and files). For example:
hosts: files dns nisplus [NOTFOUND=return] ipnodes: files dns nisplus [NOTFOUND=return]
Note - The ipnodes policy defaults to files only. Before changing the /etc/nsswitch.conf file to search ipnodes in multiple name services, populate these ipnodes databases with IPv4 and IPv6 addresses. Otherwise, unnecessary delays can result in the resolution of host addresses (including possible boot timing delays).
Also, the following diagram shows the new relationship between the nsswitch.conf file and the new name services databases for applications using the gethostbyname() and getipnodebyname() commands. Italicized items are new.
For more information on Naming Services, see "Solaris Naming Setup and Configuration Guide." (Link TBD).
To support IPv6, you can look up IPv6 addresses with the existing name service commands. For example, the ypmatch command works with the new NIS maps. The nismatch command works with the new NIS+ tables. The nslookup command can look up the new AAAA records in DNS. For a description of the changes to the name services see NIS Extensions for IPv6, NIS+ Extensions for IPv6, and DNS Extensions for IPv6.
For a description of procedures using these commands, see Displaying IPv6 Name Service Information in Chapter 2.
|Solaris Tunneling Interfaces for IPv6||Managing IPv6 Tasks|