Enabling IPv6

The following guide explains the steps involved with enabling Internet Protocol version 6 (IPv6) in Oracle Solaris.

· Must be running Solaris 8 or later. Solaris 10 or later is preferred since previous versions did not support DHCPv6. Configuration information for Dynamic Host Configuration Protocol version 6 (DHCPv6) may be found here.

· Create empty file /etc/hostname6.int, for each int that is an interface on which to enable IPv6, i.e. if hme0 is such a network interface:

#> touch /etc/hostname6.hme0

· Configure IPv6 values in /etc/rc2.d/S70nddconfig as appropriate for your site/security requirements.

· (Solaris 8 and later only) Make sure the following is in /etc/nsswitch.conf:

#> ipnodes: dns files

· Reboot

A couple of notes on IPv6 enabling Sun boxes:

Oracle Solaris 11.4 Information Library has a good collection of v6 related info for Solaris11.4.

IPv6 Administration Guide: Oracle Solaris 11.4 IPv6 Interfaces.

For the WebServer (iPlanet), checkout this Web Tier Reference.
Other websites containing IPv6 information for Solaris and OpenSolaris may be found on the American Registry for Internet Numbers (ARIN) wiki website.
An X11 vulnerability fix in Solaris 10 causes IPv6 to IPv4 rollover to fail. Use -4 or -6 option on sshd as appropriate to alleviate problems. This will explicitly set the address family to INET for IPv4 or INET6 for IPv6. If neither is given then it is set to AF_UNSPEC. See also the man pages for sshd and sshd_config for more info.

To enable privacy addresses (Solaris 10 and later), add the following line (or change its value) in /etc/inet/ndpd.conf:

ifdefault TmpAddrsEnabled true

and optionally add the following (XX is in seconds):

ifdefault TmpValidLifetime XX

ifdefault TmpPreferredLifetime XX

Then restart ndpd with:

svcadm restart svc:/network/routing/ndp:default

Disabling IPv6

Remove any ipv6 values previously created in /etc/rc2.d/S70nddconfig. Enter the command:

#> rm /etc/hostname6.*

and then reboot. If this command fails for some interface, enter the following command:

#> ifconfig int unplumb inet6

To disable privacy addresses (Solaris 10 and later) without disabling IPv6, change the following line in /etc/inet/ndpd.conf:

ifdefault TmpAddrsEnabled false

and remove the following lines (whatever their values)

ifdefault TmpValidLifetime

ifdefault TmpPreferredLifetime

Then restart ndpd with:

svcadm restart svc:/network/routing/ndp:default

for that int on which IPv6 has previously been enabled and then reenter the rm command.