BIRD ripng default gateway route strange behavior
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 ??
Oops. Of course, the good syntax to discard default gateway in is if net ~ [ ::/0 ] and not : if net ~ [ ::/0+ ] ------------------------------------------------------ import filter { # This block filters ::/0 in if net ~ [ ::/0 ] then reject "ripng:rejected:DG"; else accept "ripng:accepted:not-DG"; }; export all; ---------------------------------------------------
Follow up : Nobody has ideas about that ? On Apr 18, 2015 7:14 PM, "olivier a" <oatech7402@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 ??
Hi Olivier, I failed to reproduce the metric 1024. Can you please send a log file from Router2? On 2015-04-29 11:02, olivier a wrote:
Follow up : Nobody has ideas about that ? On Apr 18, 2015 7:14 PM, "olivier a" <oatech7402@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 Did you try commented out the learn directive in protocol kernel? Did the metric 1024 disappear?
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 ? Probably not.
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;
Do you use filter at rip or at kernel protocol?
---------------------------------------------------------
the problem is solved, yet it puzzles me. This is really strange. Does anybody understand what is happening
??
Pavel
Network topology : ------------------ PC1-----Router1------Router2-----InternetGateway---z eth1 eth0 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] ) Syslog : -------- May 3 12:06:19 vubuntu-VirtualBox bird6: kernel1: Initializing May 3 12:06:19 vubuntu-VirtualBox bird6: direct1: Initializing May 3 12:06:19 vubuntu-VirtualBox bird6: device1: Initializing May 3 12:06:19 vubuntu-VirtualBox bird6: rip1: Initializing May 3 12:06:19 vubuntu-VirtualBox bird6: device1: Starting May 3 12:06:19 vubuntu-VirtualBox bird6: device1: Scanning interfaces May 3 12:06:19 vubuntu-VirtualBox bird6: device1: Connected to table master May 3 12:06:19 vubuntu-VirtualBox bird6: device1: State changed to feed May 3 12:06:19 vubuntu-VirtualBox bird6: kernel1: Starting May 3 12:06:19 vubuntu-VirtualBox bird6: kernel1: Connected to table master May 3 12:06:19 vubuntu-VirtualBox bird6: kernel1: State changed to feed May 3 12:06:19 vubuntu-VirtualBox bird6: direct1: Starting May 3 12:06:19 vubuntu-VirtualBox bird6: direct1: Connected to table master May 3 12:06:19 vubuntu-VirtualBox bird6: direct1: State changed to feed May 3 12:06:19 vubuntu-VirtualBox bird6: rip1: Starting May 3 12:06:19 vubuntu-VirtualBox bird6: rip1: Listening on (dummy), port 521, mode broadcast (::) May 3 12:06:19 vubuntu-VirtualBox bird6: rip1: Connected to table master May 3 12:06:19 vubuntu-VirtualBox bird6: rip1: State changed to feed May 3 12:06:19 vubuntu-VirtualBox bird6: Started May 3 12:06:19 vubuntu-VirtualBox bird6: device1: State changed to up May 3 12:06:19 vubuntu-VirtualBox bird6: kernel1 < interface lo goes up May 3 12:06:19 vubuntu-VirtualBox bird6: kernel1 < interface eth0 goes up May 3 12:06:19 vubuntu-VirtualBox bird6: kernel1 < interface eth1 goes up May 3 12:06:19 vubuntu-VirtualBox bird6: kernel1: State changed to up May 3 12:06:19 vubuntu-VirtualBox bird6: direct1 < primary address ::1/128 on interface lo added May 3 12:06:19 vubuntu-VirtualBox bird6: direct1 < primary address 2001:db8:0:1::/64 on interface eth0 added May 3 12:06:19 vubuntu-VirtualBox bird6: direct1 > added [best] 2001:db8:0:1::/64 dev eth0 May 3 12:06:19 vubuntu-VirtualBox bird6: kernel1 < rejected by protocol 2001:db8:0:1::/64 dev eth0 May 3 12:06:19 vubuntu-VirtualBox bird6: rip1 < added 2001:db8:0:1::/64 dev eth0 May 3 12:06:19 vubuntu-VirtualBox bird6: direct1 < secondary address fe80::/64 on interface eth0 added May 3 12:06:19 vubuntu-VirtualBox bird6: direct1 < primary address 2001:db8:0:5::/64 on interface eth1 added May 3 12:06:19 vubuntu-VirtualBox bird6: direct1 > added [best] 2001:db8:0:5::/64 dev eth1 May 3 12:06:19 vubuntu-VirtualBox bird6: kernel1 < rejected by protocol 2001:db8:0:5::/64 dev eth1 May 3 12:06:19 vubuntu-VirtualBox bird6: rip1 < added 2001:db8:0:5::/64 dev eth1 May 3 12:06:19 vubuntu-VirtualBox bird6: direct1 < secondary address fe80::/64 on interface eth1 added May 3 12:06:19 vubuntu-VirtualBox bird6: direct1: State changed to up May 3 12:06:19 vubuntu-VirtualBox bird6: rip1 < interface lo goes up May 3 12:06:19 vubuntu-VirtualBox bird6: rip1 < interface eth0 goes up May 3 12:06:19 vubuntu-VirtualBox bird6: rip1 < interface eth1 goes up May 3 12:06:19 vubuntu-VirtualBox bird6: rip1 < added 2001:db8:0:1::/64 dev eth0 May 3 12:06:19 vubuntu-VirtualBox bird6: rip1 < added 2001:db8:0:5::/64 dev eth1 May 3 12:06:19 vubuntu-VirtualBox bird6: rip1: State changed to up May 3 12:06:19 vubuntu-VirtualBox bird6: kernel1: Scanning routing table May 3 12:06:19 vubuntu-VirtualBox bird6: kernel1: ::/0: [alien] created May 3 12:06:19 vubuntu-VirtualBox bird6: kernel1: Pruning table master May 3 12:06:19 vubuntu-VirtualBox bird6: kernel1: Pruning inherited routes May 3 12:06:19 vubuntu-VirtualBox bird6: kernel1 > added [best] ::/0 via 2001:db8:0:1::1 on eth0 May 3 12:06:19 vubuntu-VirtualBox bird6: kernel1 < rejected by protocol ::/0 via 2001:db8:0:1::1 on eth0 May 3 12:06:19 vubuntu-VirtualBox bird6: rip1 < added ::/0 via 2001:db8:0:1::1 on eth0 May 3 12:06:19 vubuntu-VirtualBox bird6: rip1: Listening on eth1, port 521, mode multicast (ff02::9) May 3 12:06:19 vubuntu-VirtualBox bird6: rip1: Listening on eth0, port 521, mode multicast (ff02::9) May 3 12:06:21 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:21 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:22 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:22 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:22 vubuntu-VirtualBox bird6: rip1: block: fe80::[Router1] tells me: ::/0 available, metric 16... May 3 12:06:22 vubuntu-VirtualBox bird6: rip1 > added [best] ::/0 via fe80::[Router1] on eth1 May 3 12:06:22 vubuntu-VirtualBox bird6: kernel1 < added ::/0 via fe80::[Router1] on eth1 May 3 12:06:22 vubuntu-VirtualBox bird6: rip1 < forced accept by protocol ::/0 via fe80::[Router1] on eth1 May 3 12:06:22 vubuntu-VirtualBox bird6: rip1 < replaced ::/0 via fe80::[Router1] on eth1 May 3 12:06:22 vubuntu-VirtualBox bird6: rip1: block: fe80::[Router1] tells me: 2001:db8:0:1::/64 available, metric 16... May 3 12:06:22 vubuntu-VirtualBox bird6: rip1 > added 2001:db8:0:1::/64 via fe80::[Router1] on eth1 May 3 12:06:23 vubuntu-VirtualBox bird6: rip1: block: fe80::[Router1] tells me: ::/0 available, metric 16... May 3 12:06:23 vubuntu-VirtualBox bird6: rip1 > ignored ::/0 via fe80::[Router1] on eth1 May 3 12:06:23 vubuntu-VirtualBox bird6: rip1: block: fe80::[Router1] tells me: 2001:db8:0:1::/64 available, metric 16... May 3 12:06:23 vubuntu-VirtualBox bird6: rip1 > ignored 2001:db8:0:1::/64 via fe80::[Router1] on eth1 May 3 12:06:23 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:23 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:24 vubuntu-VirtualBox bird6: rip1: block: fe80::[Router1] tells me: ::/0 available, metric 16... May 3 12:06:24 vubuntu-VirtualBox bird6: rip1 > ignored ::/0 via fe80::[Router1] on eth1 May 3 12:06:24 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:24 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:25 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:25 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:25 vubuntu-VirtualBox bird6: rip1: block: fe80::[Router1] tells me: ::/0 available, metric 16... May 3 12:06:25 vubuntu-VirtualBox bird6: rip1 > ignored ::/0 via fe80::[Router1] on eth1 May 3 12:06:26 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:26 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:26 vubuntu-VirtualBox bird6: rip1: block: fe80::[Router1] tells me: ::/0 available, metric 16... May 3 12:06:26 vubuntu-VirtualBox bird6: rip1 > ignored ::/0 via fe80::[Router1] on eth1 May 3 12:06:26 vubuntu-VirtualBox bird6: rip1: block: fe80::[Router1] tells me: 2001:db8:0:1::/64 available, metric 16... May 3 12:06:26 vubuntu-VirtualBox bird6: rip1 > ignored 2001:db8:0:1::/64 via fe80::[Router1] on eth1 May 3 12:06:26 vubuntu-VirtualBox bird6: rip1: block: fe80::[Router1] tells me: 2001:db8:0:3::/64 available, metric 1... May 3 12:06:26 vubuntu-VirtualBox bird6: rip1 > added [best] 2001:db8:0:3::/64 via fe80::[Router1] on eth1 May 3 12:06:26 vubuntu-VirtualBox bird6: kernel1 < added 2001:db8:0:3::/64 via fe80::[Router1] on eth1 May 3 12:06:26 vubuntu-VirtualBox bird6: rip1 < forced accept by protocol 2001:db8:0:3::/64 via fe80::[Router1] on eth1 May 3 12:06:26 vubuntu-VirtualBox bird6: rip1 < added 2001:db8:0:3::/64 via fe80::[Router1] on eth1 May 3 12:06:26 vubuntu-VirtualBox bird6: rip1: block: fe80::[Router1] tells me: 2001:db8:0:5::/64 available, metric 1... May 3 12:06:26 vubuntu-VirtualBox bird6: rip1 > added 2001:db8:0:5::/64 via fe80::[Router1] on eth1 May 3 12:06:27 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:27 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:28 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:28 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:29 vubuntu-VirtualBox bird6: device1: Scanning interfaces May 3 12:06:29 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:29 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:30 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:30 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:31 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:31 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:32 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:32 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:33 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:33 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:34 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:34 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:35 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:35 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:36 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:36 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:37 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:37 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:38 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:38 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:39 vubuntu-VirtualBox bird6: device1: Scanning interfaces May 3 12:06:39 vubuntu-VirtualBox bird6: kernel1: Scanning routing table May 3 12:06:39 vubuntu-VirtualBox bird6: kernel1: 2001:db8:0:3::/64: seen May 3 12:06:39 vubuntu-VirtualBox bird6: kernel1: ::/0: [alien] seen May 3 12:06:39 vubuntu-VirtualBox bird6: kernel1: ::/0: seen May 3 12:06:39 vubuntu-VirtualBox bird6: kernel1: Pruning table master May 3 12:06:39 vubuntu-VirtualBox bird6: kernel1: Pruning inherited routes May 3 12:06:39 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:39 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:40 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:40 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:41 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:41 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:42 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:42 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:43 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:43 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:44 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:44 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:45 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:45 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:46 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:46 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:47 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:47 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:48 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:48 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:49 vubuntu-VirtualBox bird6: device1: Scanning interfaces May 3 12:06:49 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:49 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:50 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:50 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:51 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:51 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:52 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:52 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:53 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:53 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:54 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:54 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:55 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:55 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:56 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:56 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:57 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:57 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:57 vubuntu-VirtualBox bird6: rip1: block: fe80::[Router1] tells me: ::/0 available, metric 16... May 3 12:06:57 vubuntu-VirtualBox bird6: rip1 > ignored ::/0 via fe80::[Router1] on eth1 May 3 12:06:57 vubuntu-VirtualBox bird6: rip1: block: fe80::[Router1] tells me: 2001:db8:0:1::/64 available, metric 16... May 3 12:06:57 vubuntu-VirtualBox bird6: rip1 > ignored 2001:db8:0:1::/64 via fe80::[Router1] on eth1 May 3 12:06:57 vubuntu-VirtualBox bird6: rip1: block: fe80::[Router1] tells me: 2001:db8:0:3::/64 available, metric 1... May 3 12:06:57 vubuntu-VirtualBox bird6: rip1 > ignored 2001:db8:0:3::/64 via fe80::[Router1] on eth1 May 3 12:06:57 vubuntu-VirtualBox bird6: rip1: block: fe80::[Router1] tells me: 2001:db8:0:5::/64 available, metric 1... May 3 12:06:57 vubuntu-VirtualBox bird6: rip1 > ignored 2001:db8:0:5::/64 via fe80::[Router1] on eth1 May 3 12:06:58 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:58 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:59 vubuntu-VirtualBox bird6: device1: Scanning interfaces May 3 12:06:59 vubuntu-VirtualBox bird6: kernel1: Scanning routing table May 3 12:06:59 vubuntu-VirtualBox bird6: kernel1: 2001:db8:0:3::/64: seen May 3 12:06:59 vubuntu-VirtualBox bird6: kernel1: ::/0: [alien] seen May 3 12:06:59 vubuntu-VirtualBox bird6: kernel1: ::/0: seen May 3 12:06:59 vubuntu-VirtualBox bird6: kernel1: Pruning table master May 3 12:06:59 vubuntu-VirtualBox bird6: kernel1: Pruning inherited routes May 3 12:06:59 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:59 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:59 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:59 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:07:00 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:07:00 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:07:01 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:07:01 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 Router2 routing table : ----------------------- 2001:db8:0:1::/64 dev eth0 proto kernel metric 256 2001:db8:0:3::/64 via fe80::[Router1] dev eth1 proto bird metric 1024 2001:db8:0:5::/64 dev eth1 proto kernel metric 256 fe80::/64 dev eth0 proto kernel metric 256 fe80::/64 dev eth1 proto kernel metric 256 default via 2001:db8:0:1::1 dev eth0 proto static metric 1 default via fe80::[Router1] dev eth1 proto bird metric 1024 Router2 bird6.conf file : ------------------------- log syslog all; debug protocols all; #log stderr all; #log "tmp" all; router id 192.168.5.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; } --------------------------------------------------------------------------- On Apr 29, 2015 4:30 PM, <pavel.tvrdik@nic.cz> wrote:
Hi Olivier,
I failed to reproduce the metric 1024. Can you please send a log file from Router2?
On 2015-04-29 11:02, olivier a wrote:
Follow up : Nobody has ideas about that ? On Apr 18, 2015 7:14 PM, "olivier a" <oatech7402@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
Did you try commented out the learn directive in protocol kernel? Did the metric 1024 disappear?
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 ?
Probably not.
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;
Do you use filter at rip or at kernel protocol?
---------------------------------------------------------
the problem is solved, yet it puzzles me. This is really strange. Does anybody understand what is happening ??
Pavel
Hi On 2015-05-03 12:33, olivier a wrote:
Network topology : ------------------
PC1-----Router1------Router2-----InternetGateway---z eth1 eth0
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] )
Syslog : --------
May 3 12:06:19 vubuntu-VirtualBox bird6: kernel1: Initializing May 3 12:06:19 vubuntu-VirtualBox bird6: direct1: Initializing May 3 12:06:19 vubuntu-VirtualBox bird6: device1: Initializing May 3 12:06:19 vubuntu-VirtualBox bird6: rip1: Initializing May 3 12:06:19 vubuntu-VirtualBox bird6: device1: Starting May 3 12:06:19 vubuntu-VirtualBox bird6: device1: Scanning interfaces May 3 12:06:19 vubuntu-VirtualBox bird6: device1: Connected to table master May 3 12:06:19 vubuntu-VirtualBox bird6: device1: State changed to feed May 3 12:06:19 vubuntu-VirtualBox bird6: kernel1: Starting May 3 12:06:19 vubuntu-VirtualBox bird6: kernel1: Connected to table master May 3 12:06:19 vubuntu-VirtualBox bird6: kernel1: State changed to feed May 3 12:06:19 vubuntu-VirtualBox bird6: direct1: Starting May 3 12:06:19 vubuntu-VirtualBox bird6: direct1: Connected to table master May 3 12:06:19 vubuntu-VirtualBox bird6: direct1: State changed to feed May 3 12:06:19 vubuntu-VirtualBox bird6: rip1: Starting May 3 12:06:19 vubuntu-VirtualBox bird6: rip1: Listening on (dummy), port 521, mode broadcast (::) May 3 12:06:19 vubuntu-VirtualBox bird6: rip1: Connected to table master May 3 12:06:19 vubuntu-VirtualBox bird6: rip1: State changed to feed May 3 12:06:19 vubuntu-VirtualBox bird6: Started May 3 12:06:19 vubuntu-VirtualBox bird6: device1: State changed to up May 3 12:06:19 vubuntu-VirtualBox bird6: kernel1 < interface lo goes up May 3 12:06:19 vubuntu-VirtualBox bird6: kernel1 < interface eth0 goes up May 3 12:06:19 vubuntu-VirtualBox bird6: kernel1 < interface eth1 goes up May 3 12:06:19 vubuntu-VirtualBox bird6: kernel1: State changed to up May 3 12:06:19 vubuntu-VirtualBox bird6: direct1 < primary address ::1/128 on interface lo added May 3 12:06:19 vubuntu-VirtualBox bird6: direct1 < primary address 2001:db8:0:1::/64 on interface eth0 added May 3 12:06:19 vubuntu-VirtualBox bird6: direct1 > added [best] 2001:db8:0:1::/64 dev eth0 May 3 12:06:19 vubuntu-VirtualBox bird6: kernel1 < rejected by protocol 2001:db8:0:1::/64 dev eth0 May 3 12:06:19 vubuntu-VirtualBox bird6: rip1 < added 2001:db8:0:1::/64 dev eth0 May 3 12:06:19 vubuntu-VirtualBox bird6: direct1 < secondary address fe80::/64 on interface eth0 added May 3 12:06:19 vubuntu-VirtualBox bird6: direct1 < primary address 2001:db8:0:5::/64 on interface eth1 added May 3 12:06:19 vubuntu-VirtualBox bird6: direct1 > added [best] 2001:db8:0:5::/64 dev eth1 May 3 12:06:19 vubuntu-VirtualBox bird6: kernel1 < rejected by protocol 2001:db8:0:5::/64 dev eth1 May 3 12:06:19 vubuntu-VirtualBox bird6: rip1 < added 2001:db8:0:5::/64 dev eth1 May 3 12:06:19 vubuntu-VirtualBox bird6: direct1 < secondary address fe80::/64 on interface eth1 added May 3 12:06:19 vubuntu-VirtualBox bird6: direct1: State changed to up May 3 12:06:19 vubuntu-VirtualBox bird6: rip1 < interface lo goes up May 3 12:06:19 vubuntu-VirtualBox bird6: rip1 < interface eth0 goes up May 3 12:06:19 vubuntu-VirtualBox bird6: rip1 < interface eth1 goes up May 3 12:06:19 vubuntu-VirtualBox bird6: rip1 < added 2001:db8:0:1::/64 dev eth0 May 3 12:06:19 vubuntu-VirtualBox bird6: rip1 < added 2001:db8:0:5::/64 dev eth1 May 3 12:06:19 vubuntu-VirtualBox bird6: rip1: State changed to up May 3 12:06:19 vubuntu-VirtualBox bird6: kernel1: Scanning routing table May 3 12:06:19 vubuntu-VirtualBox bird6: kernel1: ::/0: [alien] created May 3 12:06:19 vubuntu-VirtualBox bird6: kernel1: Pruning table master May 3 12:06:19 vubuntu-VirtualBox bird6: kernel1: Pruning inherited routes May 3 12:06:19 vubuntu-VirtualBox bird6: kernel1 > added [best] ::/0 via 2001:db8:0:1::1 on eth0 May 3 12:06:19 vubuntu-VirtualBox bird6: kernel1 < rejected by protocol ::/0 via 2001:db8:0:1::1 on eth0 May 3 12:06:19 vubuntu-VirtualBox bird6: rip1 < added ::/0 via 2001:db8:0:1::1 on eth0 May 3 12:06:19 vubuntu-VirtualBox bird6: rip1: Listening on eth1, port 521, mode multicast (ff02::9) May 3 12:06:19 vubuntu-VirtualBox bird6: rip1: Listening on eth0, port 521, mode multicast (ff02::9) May 3 12:06:21 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:21 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:22 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:22 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:22 vubuntu-VirtualBox bird6: rip1: block: fe80::[Router1] tells me: ::/0 available, metric 16... May 3 12:06:22 vubuntu-VirtualBox bird6: rip1 > added [best] ::/0 via fe80::[Router1] on eth1 May 3 12:06:22 vubuntu-VirtualBox bird6: kernel1 < added ::/0 via fe80::[Router1] on eth1 May 3 12:06:22 vubuntu-VirtualBox bird6: rip1 < forced accept by protocol ::/0 via fe80::[Router1] on eth1 May 3 12:06:22 vubuntu-VirtualBox bird6: rip1 < replaced ::/0 via fe80::[Router1] on eth1 May 3 12:06:22 vubuntu-VirtualBox bird6: rip1: block: fe80::[Router1] tells me: 2001:db8:0:1::/64 available, metric 16... May 3 12:06:22 vubuntu-VirtualBox bird6: rip1 > added 2001:db8:0:1::/64 via fe80::[Router1] on eth1 May 3 12:06:23 vubuntu-VirtualBox bird6: rip1: block: fe80::[Router1] tells me: ::/0 available, metric 16... May 3 12:06:23 vubuntu-VirtualBox bird6: rip1 > ignored ::/0 via fe80::[Router1] on eth1 May 3 12:06:23 vubuntu-VirtualBox bird6: rip1: block: fe80::[Router1] tells me: 2001:db8:0:1::/64 available, metric 16... May 3 12:06:23 vubuntu-VirtualBox bird6: rip1 > ignored 2001:db8:0:1::/64 via fe80::[Router1] on eth1 May 3 12:06:23 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:23 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:24 vubuntu-VirtualBox bird6: rip1: block: fe80::[Router1] tells me: ::/0 available, metric 16... May 3 12:06:24 vubuntu-VirtualBox bird6: rip1 > ignored ::/0 via fe80::[Router1] on eth1 May 3 12:06:24 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:24 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:25 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:25 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:25 vubuntu-VirtualBox bird6: rip1: block: fe80::[Router1] tells me: ::/0 available, metric 16... May 3 12:06:25 vubuntu-VirtualBox bird6: rip1 > ignored ::/0 via fe80::[Router1] on eth1 May 3 12:06:26 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:26 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:26 vubuntu-VirtualBox bird6: rip1: block: fe80::[Router1] tells me: ::/0 available, metric 16... May 3 12:06:26 vubuntu-VirtualBox bird6: rip1 > ignored ::/0 via fe80::[Router1] on eth1 May 3 12:06:26 vubuntu-VirtualBox bird6: rip1: block: fe80::[Router1] tells me: 2001:db8:0:1::/64 available, metric 16... May 3 12:06:26 vubuntu-VirtualBox bird6: rip1 > ignored 2001:db8:0:1::/64 via fe80::[Router1] on eth1 May 3 12:06:26 vubuntu-VirtualBox bird6: rip1: block: fe80::[Router1] tells me: 2001:db8:0:3::/64 available, metric 1... May 3 12:06:26 vubuntu-VirtualBox bird6: rip1 > added [best] 2001:db8:0:3::/64 via fe80::[Router1] on eth1 May 3 12:06:26 vubuntu-VirtualBox bird6: kernel1 < added 2001:db8:0:3::/64 via fe80::[Router1] on eth1 May 3 12:06:26 vubuntu-VirtualBox bird6: rip1 < forced accept by protocol 2001:db8:0:3::/64 via fe80::[Router1] on eth1 May 3 12:06:26 vubuntu-VirtualBox bird6: rip1 < added 2001:db8:0:3::/64 via fe80::[Router1] on eth1 May 3 12:06:26 vubuntu-VirtualBox bird6: rip1: block: fe80::[Router1] tells me: 2001:db8:0:5::/64 available, metric 1... May 3 12:06:26 vubuntu-VirtualBox bird6: rip1 > added 2001:db8:0:5::/64 via fe80::[Router1] on eth1 May 3 12:06:27 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:27 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:28 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:28 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:29 vubuntu-VirtualBox bird6: device1: Scanning interfaces May 3 12:06:29 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:29 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:30 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:30 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:31 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:31 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:32 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:32 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:33 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:33 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:34 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:34 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:35 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:35 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:36 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:36 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:37 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:37 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:38 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:38 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:39 vubuntu-VirtualBox bird6: device1: Scanning interfaces May 3 12:06:39 vubuntu-VirtualBox bird6: kernel1: Scanning routing table May 3 12:06:39 vubuntu-VirtualBox bird6: kernel1: 2001:db8:0:3::/64: seen May 3 12:06:39 vubuntu-VirtualBox bird6: kernel1: ::/0: [alien] seen May 3 12:06:39 vubuntu-VirtualBox bird6: kernel1: ::/0: seen May 3 12:06:39 vubuntu-VirtualBox bird6: kernel1: Pruning table master May 3 12:06:39 vubuntu-VirtualBox bird6: kernel1: Pruning inherited routes May 3 12:06:39 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:39 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:40 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:40 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:41 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:41 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:42 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:42 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:43 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:43 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:44 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:44 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:45 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:45 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:46 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:46 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:47 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:47 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:48 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:48 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:49 vubuntu-VirtualBox bird6: device1: Scanning interfaces May 3 12:06:49 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:49 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:50 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:50 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:51 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:51 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:52 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:52 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:53 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:53 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:54 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:54 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:55 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:55 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:56 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:56 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:57 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:57 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:57 vubuntu-VirtualBox bird6: rip1: block: fe80::[Router1] tells me: ::/0 available, metric 16... May 3 12:06:57 vubuntu-VirtualBox bird6: rip1 > ignored ::/0 via fe80::[Router1] on eth1 May 3 12:06:57 vubuntu-VirtualBox bird6: rip1: block: fe80::[Router1] tells me: 2001:db8:0:1::/64 available, metric 16... May 3 12:06:57 vubuntu-VirtualBox bird6: rip1 > ignored 2001:db8:0:1::/64 via fe80::[Router1] on eth1 May 3 12:06:57 vubuntu-VirtualBox bird6: rip1: block: fe80::[Router1] tells me: 2001:db8:0:3::/64 available, metric 1... May 3 12:06:57 vubuntu-VirtualBox bird6: rip1 > ignored 2001:db8:0:3::/64 via fe80::[Router1] on eth1 May 3 12:06:57 vubuntu-VirtualBox bird6: rip1: block: fe80::[Router1] tells me: 2001:db8:0:5::/64 available, metric 1... May 3 12:06:57 vubuntu-VirtualBox bird6: rip1 > ignored 2001:db8:0:5::/64 via fe80::[Router1] on eth1 May 3 12:06:58 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:58 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:59 vubuntu-VirtualBox bird6: device1: Scanning interfaces May 3 12:06:59 vubuntu-VirtualBox bird6: kernel1: Scanning routing table May 3 12:06:59 vubuntu-VirtualBox bird6: kernel1: 2001:db8:0:3::/64: seen May 3 12:06:59 vubuntu-VirtualBox bird6: kernel1: ::/0: [alien] seen May 3 12:06:59 vubuntu-VirtualBox bird6: kernel1: ::/0: seen May 3 12:06:59 vubuntu-VirtualBox bird6: kernel1: Pruning table master May 3 12:06:59 vubuntu-VirtualBox bird6: kernel1: Pruning inherited routes May 3 12:06:59 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:59 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:59 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:59 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:07:00 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:07:00 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:07:01 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:07:01 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1
The log seems OK.
Router2 routing table : -----------------------
2001:db8:0:1::/64 dev eth0 proto kernel metric 256 2001:db8:0:3::/64 via fe80::[Router1] dev eth1 proto bird metric 1024 2001:db8:0:5::/64 dev eth1 proto kernel metric 256 fe80::/64 dev eth0 proto kernel metric 256 fe80::/64 dev eth1 proto kernel metric 256 default via 2001:db8:0:1::1 dev eth0 proto static metric 1 default via fe80::[Router1] dev eth1 proto bird metric 1024
I am guesting the routing table was invoked with command `ip -6 route` and the metrics 256 and 1024 are here probably OK, common values. Pavel
Router2 bird6.conf file : -------------------------
log syslog all; debug protocols all; #log stderr all; #log "tmp" all;
router id 192.168.5.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; }
---------------------------------------------------------------------------
On Apr 29, 2015 4:30 PM, <pavel.tvrdik@nic.cz> wrote:
Hi Olivier,
I failed to reproduce the metric 1024. Can you please send a log file from Router2?
On 2015-04-29 11:02, olivier a wrote:
Follow up : Nobody has ideas about that ? On Apr 18, 2015 7:14 PM, "olivier a" <oatech7402@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 Did you try commented out the learn directive in protocol kernel? Did the metric 1024 disappear?
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 ? Probably not.
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;
Do you use filter at rip or at kernel protocol?
---------------------------------------------------------
the problem is solved, yet it puzzles me. This is really strange. Does anybody understand what is
happening ??
Pavel
On Sat, Apr 18, 2015 at 07:14:07PM +0200, olivier a 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 ?
Hi There is a problem in RIP that routes with metric 16 are treated as usual routes (e.g. exported to other protocols as usual routes). Best workaround would be to limit such exports to other protocols by: if (defined(rip_metric) && (rip_metric = 16)) then reject; in export filters to other protocols. Kernel metric 1024 is just the default kernel metric in Linux-IPv6 where no other is specified using krt_metric route attribute. This is different than in Linux-IPv4 where the default kernel metric is 0. -- Elen sila lumenn' omentielvo Ondrej 'Santiago' Zajicek (email: santiago@crfreenet.org) OpenPGP encrypted e-mails preferred (KeyID 0x11DEADC3, wwwkeys.pgp.net) "To err is human -- to blame it on a computer is even more so."
participants (3)
-
olivier a -
Ondrej Zajicek -
pavel.tvrdik@nic.cz