Implementing IPv6


IPv6 is implemented at system bootup by the script /etc/rc2.d/S69inet . This script determines whether the system is a router or a host, and starts the relevant processes. This section describes the IPv6 processes and how to configure IPv6 interfaces.

Neighbor Discovery Protocol (NDP)

The neighbor discovery protocol (NDP) is implemented in IPv6 to provide the following facilities:

  • Address autoconfiguration ” Enables a host to automatically configure an IPv6 address for a network interface.

  • Address resolution ” Enables a host to determine the ethernet address of a neighbor, given the neighbor's IPv6 address. (The interface identifier part of the IPv6 address is based on the ethernet address.)

  • Neighbor unreachability detection ” Enables a host to determine that a neighbor is no longer reachable . This is important when the neighbor is acting as a router, so a different route can be found.

  • Duplicate address detection ” Enables a host to determine that the IPv6 address it wants to assign is not already in use by another interface on the network.

  • Parameter discovery ” Enables a host to learn network parameters of a neighbor, such as the maximum transfer unit (MTU).

  • Prefix discovery ” Enables a host to discover the address prefixes for destination systems attached to the network. This information is used to find out which destination hosts are on the local network and which are only accessible via a router.

  • Router discovery ” Enables a host to locate routers that are attached to the local network.

The daemon process that implements NDP is in.ndpd and is started at boot time by the startup script /etc/rc2.d/S69inet . The script tests to see whether the system is acting as a router by checking for the existence of the configuration file /etc/inet/ndpd.conf . If the file is present, the system is assumed to be an IPv6 router, if not, an IPv6 host.

graphics/alert_icon.gif

Routing in IPv6 is carried out by the in.ripngd process, which is initiated from the startup script /etc/rc2.d/S69inet . This process is started only if the system is assumed to be an IPv6 router; that is, if the configuration file /etc/inet/ndpd.conf exists.


IPv6 Configuration on a Non-Router

IPv6 addresses can be configured automatically with the autoconfiguration facility, or manually with the ifconfig command at the command-line. The two options can be described as follows :

  • Automatic ” To enable IPv6 on a network interface using the autoconfiguration facility, create the file /etc/hostname6.< interface > , where < interface > corresponds to the specific network interface to be configured, such as hme0 as shown here:

     ultra10# touch /etc/hostname6.hme0 

    Now reboot the system and the interface will be configured automatically.

  • Manual ” To manually assign an IPv6 address to a network interface, such as hme0 , use the ifconfig command as with IPv4, but you must specify the inet6 family to indicate that this is an IPv6 configuration. Note that the assignment does not persist across reboots of the system. The following piece of code initializes a link-local IPv6 address fec::abcd on the hme0 interface:

     ultra10# ifconfig hme0 inet6 fec::abcd up 
graphics/alert_icon.gif

The file /etc/inet/ipnodes is used in IPv6 to associate IPv6 addresses with interface names , similar to the function of /etc/inet/hosts for IPv4 interfaces. Unlike /etc/inet/hosts , there is no symbolic link from /etc/inet/ipnodes to /etc/ipnodes , so don't be tricked if /etc/ipnodes is displayed as an option in an exam question.


View the status of IPv6 interfaces by using the ifconfig -a command, the same as for IPv4. If you want to see just IPv6 interface status, then specify the inet6 argument as follows:

 ultra10# ifconfig -a inet6 lo0: flags=2000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv6> mtu 8252 index 1         inet6 ::1/128 hme0: flags=2000841<UP,RUNNING,MULTICAST,IPv6> mtu 1500 index 2         inet6 fe80::a00:20ff:feb3:4153/10 

IPv6 Configuration on a Router

IPv6 interfaces are defined in the same manner for a router as for a non-router, as described in the previous section.

To configure your system as an IPv6 router, create the configuration file /etc/inet/ndpd.conf . The file needs at least one entry, which turns on router advertisements. Enter the following into the file:

 ifdefault AdvSendAdvertisements on 

Further entries can be added to the configuration file to advertise prefixes. The following example entries advertise a global and site-local prefix for the 192.168 network:

 prefix 2:0:0:c0a8::0/64       hme0 prefix fec0:0:0:c0a8::0/64    hme0 

Reboot the system. When the system starts up, it will be configured as an IPv6 router and, as well as running the neighbor discovery protocol daemon in.ndpd , it will also be running the IPv6 routing daemon in.ripngd .

Configuring IPv6 Logical Interfaces

Logical interfaces can be created in IPv6, just as in IPv4. To configure a logical IPv6 interface hme0:3 , for example, with an IPv6 address of fe80::1111:abcd , enter the following command:

 ifconfig hme0:3 inet6 plumb fe80::1111:abcd/10 up 

The /10 at the end of the IPv6 address specifies that the address uses the first 10 bits as the format prefix, making the address a link-local unicast address.

To remove an IPv6 logical interface, the same procedure is used as with IPv4. The following command removes the hme0:3 logical interface created in the previous example:

 ifconfig hme0:3 inet6 down unplumb 
graphics/note_icon.gif

You must always specify the inet6 argument when configuring or removing an IPv6 interface. If you omit this argument, the system will assume it is an IPv4 interface and will carry out the required operation on the relevant IPv4 interface.




Solaris 9 Network Administration Exam Cram 2 (Exam Cram CX-310-044)
Solaris 9 Network Administrator Exam Cram 2 (Exam CX-310-044)
ISBN: 0789728702
EAN: 2147483647
Year: 2003
Pages: 174
Authors: John Philcox

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net