It’s been a really long time since I posted here. Since my last entries, the network didn’t evolve a lot. This post is to move forward and propose IPv6 to the masses (of VM) and then I aim to learn Kubernetes.
The main goal is to install Kubernetes from fedora server spin and IPv6 only helped by calico for networking.
First step is getting /56 networks to the physical hosts. Then I’ll propagate the new subnets through BGP using the existing ipsec+gre tunnels.
In order to get my IPv6 blocks, I’m asking them on the wire with dibbler-client package.
Installing dibbler
Install the packages
Modify the config file in /etc/dibbler/client.conf for prefix discovery
Enter the DUID in the right file: /var/lib/dibbler/client-duid
Configure the system so that the daemon autostart
Modify the system to have an IP v6 address on eth0
Create ip6tables filter & startup script
Reboot and check that IPv6 is working on the node
ping6 ipv6.google.com & tcpdump -ni eth0 ip6 are your friends
Update the vm network for IPv6 usage
Use virsh to update directly the xml file or create a new one
Update the xml entry for IPv6
In order to take into account the new network, the network has to be restarted and all VMs attached to this network shall be restarted too. May be detach and reattach the network works, I didn’t tried.
Update the system configuration
Notes on routing and Prefix Delegation
On Linux, in order to have DHCPv6PD and IPv6 forwarding enabled at the same time, you have to turn on some knobs in the kernel. More precisely, you have to change the option “accept_ra” to 2. Here is my relevant file:
Strangely enougth, I had to reboot the box with the new parameters in order to apply them.
/etc/network/interface.d/gre? updates
I add some lines to gre? files so that a private IP address is defined for interconnections. I had to do that because bird & openbgpd refuse to establish an IPv6 peering with the fe80::/16 addresses.
Here is the relevant configuration on Debian:
If you want to enter several aliases for the same interface, thanks to Sander Steffann answer on servervault:
Update the Bird configuration file to adapt the routing
Update on the /etc/bird/bird6.conf file :
Restart the bird daemon and don’t forget to set the enable flag at start