I have fully functioning IPv6 network at home for a while now. I used to do tunneling but for last year or so, I have native IPv6 to my home router. And everything works really nice. Problem arises when I am not at home and I want to do some IPv6 development and I want some proper (other than link-local) IPv6 addresses assigned. There are many ways to deal with this, but I found that virtual IPv6 router works the best for me.
For this I started with preparation of the VirtualBox machine (any virtualization environment will do) for the 64-bit Linux Red Hat. Only change to the defaults was enabling the second network interface (either Bridged or Internal). That was the network I intend to use for the IPv6 router advertisement.
After installing the CentOS 7.0 Minimal Install Image onto the newly created virtual machine, there are a few manual steps needed.
First was actually enabling DHCP so additional packets can be installed. After verifying which network interfaces are present using the
ip addr (I had
enp0s8), I edited both network startup files (
/etc/sysconfig/network-scripts/ifcfg-enp0s8) by changing the
ONBOOT setting to
yes followed by a network restart:
# service network restart
Restarting network (via systemctl): [ OK ]
With Internet working, I was ready for installing IPv6 Router Advertisement Daemon:
# yum install radvd
/etc/radvd.conf I added the following content:
This is followed by service start (and enabling it on boot):
# systemctl start radvd.service
# systemctl enable radvd.service
Now any IPv6 capable network adapter sharing the same network with second VirtualBox network interface will get our defined IPv6 prefix.
PS: Advertisement time is intentionally kept very short. I find it useful to get quick unsolicited router advertisement messages for the demonstration purposes.