How To IPv6 on DilOS

Table of Contents

In this guide, we will focus on adding static IPv6 connectivity to a host that already has IPv4 connectivity.

Prerequisites

  • A network that is IPv6 enabled
  • A local network running a router-advertisement daemon
  • A host to verify IPv6 connectivity

Configuration

Static network configuration for IPv4 on illumos is done in /etc/hostname.adaptername. Here's an example using a vmxnet3 adapter:

# cat /etc/hostname.vmxnet3s0 
192.168.100.100 netmask 255.255.255.0 broadcast + up

Things are very similar in the IPv6 world, although the syntax is a little different. To configure, create a file called /etc/hostname6.adaptername. Here's an example using a vmxnet3 adapter - and a private IPv6 address:

# cat /etc/hostname6.vmxnet3s0 
addif fc00::100/64 up

However, this is not enough. There's a service called Neighbor Discovery Protocol (NDP). It also needs a little work to correctly handle the IPv6 Route Advertisements on the local network. This is saved in the ndpd.conf file. It's not there by default, so create one with the following contents. 

vi /etc/inet/ndpd.conf

Add the following:

ifdefault TmpAddrsEnabled false
ifdefault StatefulAddrConf true
ifdefault StatelessAddrConf false

It's good practice to do a reboot now; so you can check all services are coming up nicely, and the interface gets the correct addresses.

Verification

To test connectivity - we make use of the "ping"-command. It's a bit different than using it on e.g.: Linux, BSD,... In this case, we'll test against the local router at fc00::1

# ping -A inet6 fc00::1
fc00::1 is alive

Notice the -A switch to set the address family to IPv6. That's it, all is working fine!