BIRD ripng default gateway route strange behavior

olivier a oatech7402 at gmail.com
Wed Apr 29 11:02:41 CEST 2015


Follow up : Nobody has ideas about that ?
On Apr 18, 2015 7:14 PM, "olivier a" <oatech7402 at gmail.com> wrote:
>
> Hello all ^^
>
> I'm puzzled with a really weird RIPng default gateway propagation problem.
> I don't quite understand what's happening. Here is what happens ...
>
> Network topology :
>
> PC1---Router1---Router2----InternetGateway---z
>
> RIPng enabled on PC1, Router1, Router2
> Router2 has a static IPv6 DG ( Default Gateway ) to InternetGateway
> Router1 has no static IPv6 DG, and no kernel{learn} directive.
>
> Router2=Ubuntu14.04 LTS, Router1=raspbian Wheezy, bird = last version,
compiled from sources
> link-local addresses replaces with symbolic names ( ie [fe80::Router1] )
>
> Something really strange seems to happen :
>
> . Router2 gets this routing table :
>
> default via InternetGateway dev eth0  proto static  metric 1
> default via [fe80::Router1] dev eth1  proto bird  metric 1024
>
> But Router1 isn't announcing any IPv6 DefaultGateway, just ::/0 metric 16
( ie it is poisoning the route ).
> ( I checked using Wireshark ).
>
> Is there a bug that transforms a received "::/0 metric 16" into a
"default via [fe80::Router1] dev eth1  proto bird  metric 1024" route ?
>
> Here is Router2 bird6.conf file :
>
> -------------------------------------------------
> log syslog all;
> debug protocols all;
> #log stderr all;
> #log "tmp" all;
>
> router id 192.168.4.1;
> protocol kernel {
> learn;
> scan time 20;
> export all;
> import all;
> }
>
> protocol direct {
> #interface "eth0";
> }
>
> protocol device {
> scan time 10;
> }
>
> protocol rip {
> debug all;
> port 521;
> interface "*" { mode multicast; ttl security on; };
> honor neighbor;
> authentication none;
> import all;
> export all;
> }
> -------------------------------------------------------------
>
> I managed to solve the problem, by having Router2 drop incomming ::/0
announcements :
>
> ---------------------------------------------------------
> import filter {   # This block filters ::/0 in
>                 if net ~ [ ::/0 ] then
>                         reject "ripng:rejected:DG";
>                 else
>                         accept "ripng:accepted:not-DG";
>         };
>
> export all;
>
> ---------------------------------------------------------
>
> the problem is solved, yet it puzzles me.
> This is really strange. Does anybody understand what is happening ??
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://trubka.network.cz/pipermail/bird-users/attachments/20150429/386d4f62/attachment.html>


More information about the Bird-users mailing list