[radvd-devel-l] Multiple IPv6 Routers
Iain J. Watson
lists at ij-watson.co.uk
Fri Nov 26 03:14:46 EST 2010
Hi,
Resending this as it doesn't appear to have went properly last time.
Sorry if this is a duplicate.
I am trying to set up a network with two IPv6 routers for redundancy
but am having very little success in making this work. With an IPv4
network I would use keepalived but I believe this is not necessary
with IPv6. I may be going about this in the totally wrong way but I
cannot find any useful information in the man page or general
searching the web. I hope you can help.
Each router is given :1 or :2 on each /64 subnet behind them. The :1
router is set with a high priority and the :2 is set as low priority.
For testing I have one server in each subnet pinging to the other.
Router :1 Config
-----------------------
interface eth1
{
AdvSendAdvert on;
AdvDefaultPreference high;
MinRtrAdvInterval 10;
MaxRtrAdvInterval 30;
AdvReachableTime 1000;
prefix 2a01:3d0:0:1::/64
{
AdvOnLink on;
AdvAutonomous on;
AdvRouterAddr off;
};
route ::/0
{
AdvRoutePreference high;
};
};
interface eth2
{
AdvSendAdvert on;
AdvDefaultPreference high;
MinRtrAdvInterval 10;
MaxRtrAdvInterval 30;
AdvReachableTime 1000;
prefix 2a01:3d0:0:2::/64
{
AdvOnLink on;
AdvAutonomous on;
AdvRouterAddr off;
};
route ::/0
{
AdvRoutePreference high;
};
};
Router :2 config
----------------------
interface eth1
{
AdvSendAdvert on;
AdvDefaultPreference low;
MinRtrAdvInterval 10;
MaxRtrAdvInterval 30;
AdvReachableTime 1000;
prefix 2a01:3d0:0:1::/64
{
AdvOnLink on;
AdvAutonomous on;
AdvRouterAddr off;
};
route ::/0
{
AdvRoutePreference low;
};
};
interface eth2
{
AdvSendAdvert on;
AdvDefaultPreference low;
MinRtrAdvInterval 10;
MaxRtrAdvInterval 30;
AdvReachableTime 1000;
prefix 2a01:3d0:0:2::/64
{
AdvOnLink on;
AdvAutonomous on;
AdvRouterAddr off;
};
route ::/0
{
AdvRoutePreference low;
};
};
Using these configs, when both routers are up I can ping between the
servers fine, but the :1 router is not always the router used (as
shown by traceroute6).
box490:~# traceroute box567
traceroute to box567 (2a01:3d0:0:2:216:3eff:fe4b:b9c9), 30 hops max,
40 byte packets
1 (2a01:3d0:0:1::1) 1.707 ms 1.578 ms 1.246 ms
2 box567 (2a01:3d0:0:2:216:3eff:fe4b:b9c9) 1.625 ms 1.445 ms 1.567 ms
box490:~#
root at box567:~# traceroute6 box490
traceroute to box490 (2a01:3d0:0:1:216:3eff:fe23:574) from
2a01:3d0:0:2:216:3eff:fe4b:b9c9, 30 hops max, 24 byte packets
1 2a01:3d0:0:2::2 (2a01:3d0:0:2::2) 0.679 ms 0.569 ms 0.571 ms
2 box490 (2a01:3d0:0:1:216:3eff:fe23:574) 1.161 ms 1.135 ms 1.117 ms
root at box567:~#
Also, when I hard power-off one of the routers to simulate a failure I
can no longer ping in either direction. If I run radvdump on either of
the test servers I see nothing being received. If I then restart radvd
on the remaining router I become able to ping again.
I have been scratching my head over this for a few days now with no
success so I hope someone on this list is able to help.
Regards,
Iain Watson
--
"Just think how stupid the average person is,
and then realize that half of them are even stupider!"
--George Carlin
More information about the radvd-devel-l
mailing list