Help with multiple routing tables.

Grant Taylor gtaylor at tnetconsulting.net
Sun Aug 26 23:44:09 CEST 2018


First:  Thank you for your help Toke and Ondrej.

On 08/23/2018 04:42 AM, Ondrej Zajicek wrote:
> Hi

Hi,

> You can do it that way, or you can have just two tables, one for 
> main_rib+RIP and another for default_rib, connect them with pipe that 
> allows export in the direction from default to main but not in the other 
> one, and have export filter for kernel protocol attached to main_rib 
> (254) configurured to accept everything EXCEPT the default route.

So I've done some more reading and thinking.  I have come to the 
following conclusion:

  · Bird (routing) tables (i.e. ipv4 table main_rib) are independent of 
kernel (routing) tables (254).
  · The RIP protocol only connects to one (bird) table.
  · The kernel protocol (channel) connects one bird table with one 
kernel table through import and export filters.
  · The pipe protocol (channel) connect two bird tables through import 
and export filters.

I believe I had misconstrued the bird (routing) table as being an 
interface to the kernel (routing) table.  As such treated it like a 
singular entity.  Now I understand that the two are separate and 
distinct things.

All in all, I believe things are now working the way that I want them to.

Here's my bird.conf file.  I'm curious if anyone has any comments or 
ProTips.

--8<--
ipv4 table bird_main;
ipv4 table bird_default;

filter accept_default {
	if net = 0.0.0.0/0 then accept;
	reject;
}

filter reject_default {
	if net = 0.0.0.0/0 then reject;
	accept;
}

protocol device {
}

protocol direct {
	ipv4;
	interface "*";
}

protocol kernel {
	ipv4 {
		table bird_main;
		export filter reject_default;
		import all;
	};
	kernel table 254;
	learn;
}

protocol kernel {
	ipv4 {
		table bird_default;
		export none;
		import filter accept_default;
	};
	kernel table 253;
}

protocol rip {
	interface "eth0", "eth1", "eth2", "eth3" {
		version 2;
	};
	ipv4 {
		export all;
		import all;
		table bird_main;
	};
}

protocol pipe {
	table bird_main;
	peer table bird_default;
	export none;
	import filter accept_default;
}
-->8--



-- 
Grant. . . .
unix || die

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 3982 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://trubka.network.cz/pipermail/bird-users/attachments/20180826/8ae0f209/attachment.p7s>


More information about the Bird-users mailing list