I configured a simple router that should provide IPv6 connectivity to machines that are on LAN behind it. The router has 2 network interfaces (eth0, eth1), machines have 1 (eth0).
On router's eth0 is access only to local network, on eth1 is access to internet. I configured all kernel parameters, that works ok.
IP of router is fd00::1
, I installed dhcpd on router and configured range fd00::100 - fd00::fffe
.
When I start up some machine on this network it gets assigned IP from dhcpd, for example fd00::fffa
, but is unable to access internet for obvious reasons - it is missing the route.
When I add route by hand sudo route -6 add 2000::/3 gw fd00::1
the machine starts having access to internet until I reboot it.
I can add this route by hand into init script of every machine, but I would rather have it autoconfigure so that when I start up a machine on this network it gets access to IPv6 internet with no need for anything else.
Based on some suggestions I installed also radvd on router and inserted this option:
route 2000::/3 {};
It's most likely wrong, but I couldn't find any documentation or examples. It doesn't work. Using radvd instead of dhcpd for assigning IPv6 addresses doesn't work at all, if I disable dhcpd machines autoconfigure some random IPv6 addresses and don't even see each other, neither they can ping router.
How do I setup my LAN to autoconfigure IPv6 for all machines on it?
Note: I don't need neither I want each machine to have public IPv6, NAT is just fine.