I am currently in the situation that I want to add one network of homogenous linux nodes to an already existing windows network. For administrative reasons the linux nodes are not going to be added to the network itself, but have to reside behind a router.
For further administrative reasons, only IPv6 has to be routed into and out of the subnetwork of the linux nodes.
The router is an ubuntu 14.04 TLS. It has two interfaces, eth0
and eth1
. The first one is connected to the windows network (which has the prefix 2001:4ca0:2e10:beef::/64
). The second one is connected to the linux network (which has the prefix 2001:4ca0:2e10:d00f::/64
.)
Right now, I am trying to configure radvd
to enable the following:
- ping router from linux nodes,
- ping nodes from linux router,
- ping machines in the windows network from linux nodes,
- ping machines in the linux network from windows nodes.
Everything only via IPv6. I am not yet looking at name resolution.
I have added the following to /etc/radvd.conf
which enables 1. and 2.:
interface eth1
{
AdvSendAdvert on;
prefix 2001:4ca0:2e10:d00f::/64
{
AdvOnLink on;
AdvAutonomous on;
};
};
This makes the linux nodes get a d00f
IP, with which they can reach the router.
My (limited) understanding of routing is that I have to add routes to the interfaces which tell the nodes behind the respective interfaces which IPs they can reach from where. Thus, to reach beef
from d00f
I add a route to the interface behind which d00f
resides. The above configuration than becomes:
interface eth1
{
AdvSendAdvert on;
prefix 2001:4ca0:2e10:d00f::/64
{
AdvOnLink on;
AdvAutonomous on;
};
route 2001:4ca0:2e10:beef::/64
{
};
};
My hope was that after restarting radvd
, that route would show up for the nodes behind eth1
and they were able reach the rest of the network. Somehow it does not--what I am doing wrong?