Sun Microsystems, Inc.
spacerspacer
spacer www.sun.com docs.sun.com |
spacer
black dot
 
 
16.  IPv6 Files and Commands (Reference) Solaris Tunneling Interfaces for IPv6  Previous   Contents   Next 
   
 

IPv6 Extensions to Solaris Name Services

This section describes naming changes that were introduced by the implementation of IPv6 in the Solaris 8 release. You can store IPv6 addresses in any of the Solaris naming services (NIS, NIS+, DNS, and files). You can also use NIS and NIS+ over IPv6 RPC transports to retrieve any NIS or NIS+ data.

/etc/inet/ipnodes File

The /etc/inet/ipnodes file stores both IPv4 and IPv6 addresses. This file serves as a local database that associates the names of hosts with their IPv4 and IPv6 addresses. You should not store host names and their addresses in static files, such as /etc/inet/ipnodes. However, for testing purposes, store IPv6 addresses in a file in the same way that IPv4 addresses are stored in /etc/inet/hosts. The ipnodes file uses the same format convention as the hosts file. See "Network Databases" for a description of the hosts file. See ipnodes(4) man page for a description of the ipnodes file.

IPv6-aware utilities use the new /etc/inet/ipnodes database. The existing /etc/hosts database, which contains only IPv4 addresses, remains the same to facilitate existing applications. If the ipnodes database does not exist, IPv6-aware utilities use the existing hosts database.


Note - If you need to add addresses, you must add IPv4 addresses to both the hosts and ipnodes files. You add only IPv6 addresses to the ipnodes file.


Example--/etc/inet/ipnodes File

#
# Internet IPv6 host table
# with both IPv4 and IPv6 addresses
#
::1     localhost
2::9255:a00:20ff:fe78:f37c   fripp.guitars.com fripp fripp-v6
fe80::a00:20ff:fe78:f37c     fripp-11.guitars.com frippll
120.46.85.87   				 fripp.guitars.com fripp fripp-v4
2::9255:a00:20ff:fe87:9aba   strat.guitars.com strat strat-v6
fe80::a00:20ff:fe87:9aba     strat-11.guitars.com stratll
120.46.85.177  				 strat.guitars.com strat strat-v4 loghost

Note - You must group host name addresses by the host name, as shown in the previous example.


NIS Extensions for IPv6

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 hosts.byname and hosts.byaddr maps contain only IPv4 information. These maps remain the same to facilitate existing applications.

NIS+ Extensions for IPv6

A new table has been added for NIS+ named ipnodes.org_dir. The table contains both IPv4 and IPv6 addresses for a host. The hosts.org_dir table contains only IPv4 addresses for a host. This table remains the same to facilitate existing applications.

DNS Extensions for IPv6

A new resource record that is 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 PTR record is still used with IPv6 to map IP addresses into host names. The thirty two 4-bit nibbles of the 128-bit address are reversed for an IPv6 address. Each nibble is converted to its corresponding hexadecimal ASCII value. Then ip6.int is appended.

Changes to the nsswitch.conf File

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(4) file has been modified to support IPv6 lookups. An ipnodes line has been added to the /etc/nsswitch.conf file. This addition enables you to perform lookups in the new databases for each of the Solaris Name Services (NIS, NIS+, DNS, and files). The following bold line shows an example of the ipnodes entry:

hosts:  files dns nisplus [NOTFOUND=return]
ipnodes: files dns nisplus [NOTFOUND=return]

Note - 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).


The following diagram shows the new relationship between the nsswitch.conf file and the new name services databases for applications that use the gethostbyname() and getipnodebyname() commands. Items in italics are new. The gethostbyname() command checks only for IPv4 addresses that are stored in /etc/inet/hosts. The getipnodebyname() command consults the database that is specified in the ipnodes entry in the nsswitch.conf file. If the lookup fails, then the command consults the database that is specified in the hosts entry in the nsswitch.conf file.

Figure 16-1 Relationship Between nsswitch.conf and Name Services

For more information on Naming Services, see System Administration Guide: Naming and Directory Services.

Changes to Name Service Commands

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 that use these commands, see "Displaying IPv6 Name Service Information".

NFS and RPC IPv6 Support

NFS software and RPC software support IPv6 in a seamless manner. Existing commands that are related to NFS services have not changed. Most RPC applications also run on IPv6 without any change. Some advanced RPC applications with transport knowledge might require updates.

IPv6-Over-ATM Support

The Solaris operating environment now supports IPv6-over-ATM a permanent virtual circuits (PVCs) and a static switched virtual circuits (SVC).

 
 
 
  Previous   Contents   Next