Tru64 UNIX version 5.1 was the first supported release for IPv6 in 2000. Compaq provided Early Adopters Kits (EAKs) for previous versions of Tru64 UNIX, but on an experimental basis. Compaq was one of the leading manufacturers to offer an IPv6 implementation in the early stages of the IPv6 design.
Currently, not all applications and packages that are available on Tru64 UNIX support IPv6, but most networking services are IPv6-enabled.
As soon as IPv6 support is enabled on Tru64, you can enable stateless autoconfiguration on a given interface by following this procedure:
Step 1. | Run the /usr/sbin/ip6_setup script. |
Step 2. | Enter yes to enable inet services. |
Step 3. | Enter no to configure the system as an IPv6 router. |
Step 4. | Specify an interface, and enter yes to start IPv6. |
The script places all the correct flags and values in the /etc/rc.config file. This file is used at the boot of Tru64 to enable IPv6 and stateless autoconfiguration on the network interfaces.
As with the Microsoft, Solaris, FreeBSD, and Linux implementations discussed earlier, the Tru64 kernel at the boot starts the stateless autoconfiguration mechanism by sending a router solicitation request on the local link. If an IPv6 router is present on the link, the router responds with a router advertisement message including all the necessary information to process the stateless autoconfiguration mechanism on the interfaces of the Tru64 node.
Figure 6-12 illustrates a Tru64 node and an IPv6 router on the same local link. The Tru64 node starts by sending a router solicitation request on the local link through its ln0 interface. Then the IPv6 router responds with a router advertisement message containing the prefix 2001:410:ffff:5::/64 on its ethernet0 interface. Therefore, the Tru64 node can configure its IPv6 address on the ln0 interface with the prefix given using stateless autoconfiguration.
Example 6-37 shows a sample of the configuration applied to the IPv6 router in Figure 6-12 to enable stateless autoconfiguration. By using the ipv6 address 2001:410:ffff:5::1/64 command on the ethernet0 interface, IPv6 is enabled on the interface, a static IPv6 address is assigned, and stateless autoconfiguration is enabled.
Router(config)#int ethernet0 Router(config-if)#ipv6 address 2001:410:ffff:5::1/64 Router(config-if)#exit |
Following the router configuration, Example 6-38 displays the ln0 interface configuration on Tru64 after the node has successfully completed the stateless autoconfiguration. The highlighted line shows that the aggregatable global unicast IPv6 address 2001:410:ffff:5:a00: 2bff:fe86:7780 is assigned to the ln0 interface. The low-order 64-bit of the link-local fe80::a00:2bff:fe86:7780 and the 2001:410:ffff:5:a00:2bff:fe86:7780 addresses is generated using the Ethernet MAC address 0a:00:2b:fe:86:77:80 of the ln0 interface converted into EUI-64 format.
tru64#ifconfig ln0 inet6 ln0 : flags=c63<UP,BROADCAST,NOTRAILERS,RUNNING,MULTICAST,SIMPLEX> inet6 fe80::a00:2bff:fe86:7780 inet6 2001:410:ffff:5:a00:2bff:fe86:7780 |
NOTE
It is possible for Tru64 to act as an IPv6 router and to send router advertisements on the local link. However, configuring Tru64 to act as an IPv6 router is beyond the scope of this book.
When no IPv6 router is available on the local link providing stateless autoconfiguration to Tru64 hosts, you can manually assign static IPv6 addresses to interfaces. The ifconfig command performs this task. Its syntax is as follows:
tru64# ifconfig interface inet6 ipv6-address
By default, the prefix length is 64 bits. The following example assigns the static IPv6 address fec0:0:0:1::1 to the interface ln0 with a prefix length of 64 bits:
tru64#ifconfig ln0 inet6 fec0:0:0:1::1
On Tru64, you can add a default IPv6 route using the route command:
tru64#route add -inet6 default gateway -I interface
This command adds a default IPv6 route that points to a next-hop gateway. When a link-local address is defined as the next hop, the interface must be specified following the -I argument. The following example adds a default IPv6 route that points to the link-local address fe80::260:3eff:fe47:1533. This default route can be reached through the ln0 interface:
tru64#route add -inet6 default fe80::260:3eff:fe47:1533 -I ln0
The ifconfig, netstat, route, ping, and traceroute commands are used on UNIX platforms to manage addresses and routes. Table 6-7 shows how these commands can be used to manage IPv6 addresses and routes on Tru64.
Command | Description | |
---|---|---|
Removing IPv6 Addresses | ||
tru64#ifconfig interface inet6 delete ipv6-address | Removes an IPv6 address on a given interface. | |
Example tru64#ifconfig ln0 inet6 delete fec0:0:0:1::1 | Removes the IPv6 address fec0:0:0:1::1 on the ln0 interface. | |
Displaying IPv6 Routes | ||
tru64#netstat -f inet6 -rn | Displays IPv6 routes of the routing table. | |
Adding IPv6 Routes | ||
tru64#route add -inet6 ipv6-prefix/prefixlength gateway -I interface | Adds a static IPv6 route for the destination network specified by the ipv6-prefix/prefixlength value. A gateway must be specified as the next-hop IPv6 address. When the gateway's IPv6 address is a link-local address, the interface must be specified following the -I keyword. | |
Example tru64#route add -inet6 add 3ffe:b00:ffff::/48 fe80::260:3eff:fe47:1533 -I ln0 | The static IPv6 route 3ffe:b00:ffff::/48 is added to the IPv6 routing table. This destination can be reached using the link-local address fe80::260: 3eff:fe47:1533 through the ln0 interface. | |
Removing IPv6 Routes | ||
tru64#route delete -inet6 ipv6-prefix/prefixlength gateway -I interface | Deletes a static IPv6 route for the destination network specified by the arguments ipv6-prefix/prefixlength, gateway, and interface. | |
Example with ifconfig tru64#route delete -inet6 3ffe:b00:ffff::/48 -I fe80::260:3eff:fe47:1533 | The static IPv6 route 3ffe:b00:ffff::/48 is removed from the IPv6 routing table. | |
ping and traceroute | ||
tru64#ping www.6bone.net | Pings the destination www.6bone.net using IPv6. | |
tru64#ping -I ln0 fe80::260:3eff:fe47:1533 | Pings the link-local address fe80::260:3eff:fe47:1533 using the network interface ln0. The -I keyword must be used to specify an interface when this is a link-local address. | |
tru64#traceroute www.6bone.net | Traces the route to the destination www.6bone.net using IPv6. |
NOTE
Additional information about the ifconfig, netstat, route, ping, and traceroute commands with IPv6 support is available in the Tru64 documentation.
Tru64 supports the configured tunnel as a transition and coexistence mechanism to deliver IPv6 packets over existing IPv4 networks. This section shows how you can establish a configured tunnel between a Tru64 node and a Cisco router. Figure 6-13 shows a basic topology in which Tru64 dual-stack node I has established a configured tunnel to Cisco dual-stack Router R9. The IPv4 address assigned to the configured tunnel interface tunnel0 on Router R9 is 206.123.31.40, and its IPv6 address is 3ffe:b00:ffff:b::1/64. On Tru64 node I, the IPv4 address 132.214.40.1 and the IPv6 address 3ffe:b00:ffff:b::2 define the configured tunnel on the interface ipt0.
Example 6-39 is based on Figure 6-13. It shows the configuration applied on Cisco Router R9 to define the configured tunnel to Tru64 node I. The IPv6 source address of the tunnel0 interface is assigned using the ipv6 address 3ffe:b00:ffff:b::1/64 command on the Cisco router. Then the tunnel source 206.123.31.40 and tunnel destination 132.214.40.1 commands define the source and destination IPv4 addresses for this configured tunnel. Finally, tunnel mode ipv6ip defines the type of tunneling as configured tunnel.
RouterR9(config)#int tunnel0 RouterR9(config-if)#ipv6 address 3ffe:b00:ffff:b::1/64 RouterR9(config-if)#tunnel source 206.123.31.40 RouterR9(config-if)#tunnel destination 132.214.40.1 RouterR9(config-if)#tunnel mode ipv6ip RouterR9(config-if)#exit |
The following section presents the counterpart of the tunnel configuration applied on the Tru64 node.
The pseudo-interfaces used as configured tunnel interfaces on Tru64 are called the ipt interfaces. Tru64 with IPv6 support is designed to handle multiple ipt interfaces simultaneously. The ipt interface used to establish a configured tunnel carrying IPv6 packets over IPv4 can be defined on Tru64 using a script or through manual configuration. Both methods are discussed here.
To enable an IPv6-over-IPv4 configured tunnel on Tru64, follow this procedure:
Step 1. | Run the /usr/sbin/ip6_setup script. |
Step 2. | Enter yes to enable inet services. |
Step 3. | Enter an IPv6 LAN interface. |
Step 4. | Enter yes to define IPv6-over-IPv4 configured tunnels. |
Step 5. | Enter the tunnel's destination IPv4 address. |
Step 6. | Enter the tunnel's source IPv4 address. |
Step 7. | Enter an IPv6 prefix to use on the tunnel interface (unless the router at the other end is advertising a prefix). |
Step 8. | Enter yes to start IPv6. |
Each tunnel interface (ipt0, ipt1, ...) has its own line in the /etc/rc.config file (IPTUNNEL_x) containing the arguments to be passed to the iptunnel command for the source and destination addresses.
Example 6-40 is based on Figure 6-13. It shows the manual configuration applied on Tru64 node I to enable a configured tunnel to Cisco Router R9. First, the iptunnel create 206.123.31.40 132.214.40.1 command creates the configured interface on Tru64. Note that the destination IPv4 address of this tunnel is the first argument provided in the command. Then the interface ipt0 is enabled on Tru64 using the ifconfig ipt0 ipv6 up command. The ifconfig ipt0 inet6 ip6prefix 3ffe:b00:ffff:b::/64 command assigns an IPv6 address to the ipt0 interface of Tru64 node I. This command appends the source IPv4 address 132.214.40.1 (converted into hexadecimal) of this tunnel interface to the prefix given as an argument. Finally, the route add -inet6 default 3ffe:b00:ffff:b::2 -I ipt0 command adds a default IPv6 route that points to the tunnel interface ipt0.
tru64#iptunnel create 206.123.31.40 132.214.40.1 tru64#ifconfig ipt0 ipv6 up tru64#ifconfig ipt0 inet6 ip6prefix 3ffe:b00:ffff:b::/64 tru64#route add -inet6 default 3ffe:b00:ffff:b::1 -I ipt0 |
As soon as this configuration is successfully applied, it can be displayed on Tru64 using the commands ifconfig ipt0 and netstat -f inet6 -rn. To validate this setup with the Cisco router, you can ping the IPv6 address 3ffe:b00:ffff:b::1 of the router from this node.
18.119.116.43