Hi everybody,
I have the following configuration on a Fedora Core 3 machine with a
2.6.8.1 kernel:
2 interfaces
- eth0 is attached to router and is autoconfigured via radvd and has
also an additional fixed IPv6 address (3ffe:0:a:d0a:e::/64, from
ifcfg-eth0)
- eth1 has only a fixed address (3ffe:0:a:d29:e::/64, from ifcfg-eth1)
I'm running the zebra daemon from Quagga 0.97 in order to send router
advertisements (prefix 3ffe:0:a:d29::/64) over eth1 into the network
behind eth1
Of course, I also want to do forwarding between the two interfaces and
so I set sysctl net.ipv6.conf.all.forwarding=1 which works without
problems.
Now, my problem is the following:
Sometimes, the forwarding works from eth1 to eth0 and sometimes (after
a reboot or a "service network restart") it does not. I found out that
when it does not work, the reason is that the default route learned by
radvd on eth0 ( "...via <linklocal-@ of router where eth0 is connected
to> dev eth0" ) is not taken into account for the forwarding. So, my
machine does not know where to route packets to other networks than
3ffe:0:a:d0a::/64.
Furthermore, I found out that if I delete the default route learned by
radvd and then add it myself manually before the interface learned it
again via radvd, the forwarding always works.
Does anybody has a clue what this could be due to??
Is this a known kernel problem or is this due to the mixed
configuration of my PC (client and router at hte same time)? The
strange thing is that the behaviour is not alwyas the same, sometimes
If anybody out there has an idea, I would appreciate any hint or
answer..!
Thanks a lot in advance!
Tobias
|