Configuring an IPv6 Interface
The initial step in IPv6 configuration is enabling IPv6 on an interface. You
can enable IPv6 support during the Solaris 10 installation process or by configuring
IPv6 on the interfaces of an installed system.
During the Solaris 10 installation process, you can enable IPv6 on one or
more of a system's interfaces. After installation, the following IPv6-related files and
tables are in place:
Each interface that was enabled for IPv6 now has an associated /etc/hostname6.interface file, such as hostname6.dmfe0.
The /etc/nsswitch.conf file has been modified to accommodate lookups using IPv6 addresses.
The IPv6 address selection policy table is created. This table prioritizes the IP address format to use for transmissions over an IPv6-enabled interface.
This section describes how to enable IPv6 on the interfaces of an
installed system.
Enabling IPv6 on an Interface (Task Map)
How to Enable an IPv6 Interface for the Current Session
Begin your IPv6 configuration process by enabling IPv6 on the interfaces of all
systems that will become IPv6 nodes. Initially, the interface obtains its IPv6 address
through the autoconfiguration process, as described in IPv6 Address Autoconfiguration. You then can tailor the
node's configuration based on its function in the IPv6 network, either as a
host, server, or router.
Note - If the interface is on the same link as a router that
currently advertises an IPv6 prefix, the interface obtains that site prefix as part of
its autoconfigured addresses. For more information, refer to How to Configure an IPv6-Enabled Router.
The following procedure explains how to enable IPv6 for an interface that was
added after Solaris 10 installation.
Before You Begin
Complete the planning tasks for the IPv6 network, such as upgrading hardware and
software, and preparing an addressing plan. For more information, see IPv6 Planning (Task Maps).
- Log in to the prospective IPv6 node as Primary Administrator or as superuser.
The Primary Administrator role includes the Primary Administrator profile. To create the role
and assign the role to a user, see Chapter 2, Working With the Solaris Management Console (Tasks), in System Administration Guide: Basic Administration.
- Enable IPv6 on an interface.
# ifconfig inet6 interface plumb up
- Start the IPv6 daemonin.ndpd.
# /usr/lib/inet/in.ndpd
Note - You can display the status of a node's IPv6-enabled interfaces by using the
ifconfig-a6 command.
Example 7-1 Enabling an IPv6 Interface After Installation
This example shows how to enable IPv6 on the qfe0 interface. Before you
begin, check the status of all interfaces configured on the system.
# ifconfig -a
lo0: flags=1000849 <UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
qfe0: flags=1000863 <UP,BROADCAST,NOTRAILERS,RUNNING,MULTICAST,IPv4> mtu 1500
index 2
inet 172.16.27.74 netmask ffffff00 broadcast 172.16.27.255
ether 0:3:ba:13:14:e1
Only the qfe0 interface is currently configured for this system. Enable IPv6 on
this interface as follows:
# ifconfig inet6 qfe0 plumb up
# /usr/lib/inet/in.ndpd
# ifconfig -a6
lo0: flags=2000849 <UP,LOOPBACK,RUNNING,MULTICAST,IPv6> mtu 8252 index 1
inet6 ::1/128
qfe0: flags=2000841 <UP,RUNNING,MULTICAST,IPv6> mtu 1500 index 2
ether 0:3:ba:13:14:e1
inet6 fe80::203:baff:fe13:14e1/10
The example shows the status of the system's interface before and after
qfe0becomes IPv6-enabled. The -a6 option of ifconfig shows just the IPv6 information
for qfe0 and the loopback interface. Note that the output indicates that only
a link-local address was configured for qfe0, fe80::203:baff:fe13:14e1/10. This address indicates that as
of yet no router on the node's local link advertises a site prefix.
After IPv6 is enabled, you can use the ifconfig -a command to
display both IPv4 and IPv6 addresses for all interfaces on a system.
Next Steps
How to Enable Persistent IPv6 Interfaces
This procedure explains how to enable IPv6 interfaces with autoconfigured IPv6 addresses that
persist across subsequent reboots.
Note - If the interface is on the same link as a router that
currently advertises an IPv6 prefix, the interface obtains that site prefix as part of
its autoconfigured addresses. For more information, refer to How to Configure an IPv6-Enabled Router.
- Log in to the IPv6 node as Primary Administrator or as superuser.
The Primary Administrator role includes the Primary Administrator profile. To create the role
and assign the role to a user, see Chapter 2, Working With the Solaris Management Console (Tasks), in System Administration Guide: Basic Administration.
- Create IPv6 addresses for interfaces that were added after installation.
# touch /etc/hostname6.interface
- (Optional) Create an /etc/inet/ndpd.conf file that defines parameters for interface variables on the
node.
If you need to create temporary addresses for the host's interface, refer to
Using Temporary Addresses for an Interface. For details about /etc/inet/ndpd.conf, refer to the ndpd.conf(4) man page and ndpd.conf Configuration File.
- Reboot the node.
# reboot -- -r
The reboot process sends router discovery packets. If a router responds with a
site prefix, the node can configure any interface with a corresponding /etc/hostname6.interface
file with a global IPv6 address. Otherwise, the IPv6-enabled interfaces are configured solely with
link-local addresses. Rebooting also restarts in.ndpd and other network daemons in IPv6 mode.
Example 7-2 Making an IPv6 Interface Persist Across Reboots
This example shows how to make the IPv6 configuration for the qfe0
interface persist across reboots. In this example, a router on the local link
advertises the site prefix and subnet ID 2001:db8:3c4d:15/64.
First, check the status of the system's interfaces.
# ifconfig -a
lo0: flags=1000849 <UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
qfe0: flags=1000863 <UP,BROADCAST,NOTRAILERS,RUNNING,MULTICAST,IPv4> mtu 1500
index 2
inet 172.16.27.74 netmask ffffff00 broadcast 172.16.27.255
ether 0:3:ba:13:14:e1
# touch /etc/hostname6.qfe0
# reboot -- -r
Verify that the IPv6 address you configured is still applied to the
qfe0 interface.
# ifconfig -a6
qfe0: flags=2000841 <UP,RUNNING,MULTICAST,IPv6> mtu 1500 index 2
ether 0:3:ba:13:14:e1
inet6 fe80::203:baff:fe13:14e1/10
qfe0:1: flags=2180841 <UP,RUNNING,MULTICAST,ADDRCONF,IPv6> mtu 1500
index 2
inet6 2001:db8:3c4d:15:203:baff:fe13:14e1/64
The output of ifconfig -a6 shows two entries for qfe0. The standard qfe0
entry includes the MAC address and the link-local address. A second entry, qfe0:1,
indicates that a pseudo-interface was created for the additional IPv6 address on the
qfe0 interface. The new, global IPv6 address, 2001:db8:3c4d:15:203:baff:fe13:14e1/64, includes the site prefix and subnet
ID advertised by the local router.
Next Steps
How to Turn Off IPv6 Address Autoconfiguration
You normally should use address autoconfiguration to generate the IPv6 addresses for the
interfaces of hosts and servers. However, sometimes you might want to turn off
address autoconfiguration, especially if you want to manually configure a token, as explained
in Configuring an IPv6 Token.
- Log in to the IPv6 node as Primary Administrator or as superuser.
The Primary Administrator role includes the Primary Administrator profile. To create the role
and assign the role to a user, see Chapter 2, Working With the Solaris Management Console (Tasks), in System Administration Guide: Basic Administration.
- Create an /etc/inet/ndpd.conf file for the node.
The /etc/inet/ndpd.conf file defines interface variables for the particular node. This file should
have the following contents in order to turn off address autoconfiguration for all of
the server's interfaces:
if-variable-name StatelessAddrConf false
For details about /etc/inet/ndpd.conf, refer to the ndpd.conf(4) man page and ndpd.conf Configuration File.
- Update the IPv6 daemon with your changes.
# pkill -HUP in.ndpd