New to routing: radv Network not found?

Alessandro Vesely vesely at tana.it
Tue Apr 25 12:37:30 CEST 2023


Hi,

In an attempt to limit it to only two interfaces, I added this:
protocol device {
	interface "eth2r", "ppp0";
}

Nevertheless, "birdc show interface" displays _all_ interfaces.

But it still says Network not found.  So I also added a kernel stanza:

protocol kernel {
	learn;
	persist;
	ipv6 {export all;};
}

Now it shows routes!  I have:
588-north:bird# birdc show route
BIRD 2.0.7 ready.
Table master6:
::/0                 unicast [kernel1 12:10:08.587] (10)
	dev ppp0
2a02:29e1:300:e922::/64 unicast [kernel1 12:10:08.587] (10)
	dev eth2r

Thank you!

However, I thought that with static having

	route 2a02:29e1:300:e900::/56 unreachable;

After learning the local interface addresses, bird would gather that (only) the 
addresses not configured are unreachable.  It says:

589-north:bird# birdc show route for 2a02:29e1:300:e918::5
BIRD 2.0.7 ready.
Table master6:
::/0                 unicast [kernel1 12:10:08.587] (10)
	dev ppp0

That IP should be unreachable.  How do I tell it that?

Best
Ale


On Mon 24/Apr/2023 20:23:32 +0200 Maria Matejka via Bird-users wrote:
> Hello!
> 
> It looks like you are missing "protocol device {}" which you need for BIRD to actually know about the interfaces and assigned addresses.
> 
> Maria
> 
> On 24 April 2023 21:01:31 EEST, Alessandro Vesely <vesely at tana.it> wrote:
>>Hi all,
>>
>>I installed bird2 (Debian stock) and configured radv, following the documented example.
>>
>>When bird it started, it said:
>>Apr 24 12:36:55 31 north bird: static1: Channel ipv6 connected to table radv_routes
>>Apr 24 12:36:55 31 north bird: static1: Initializing
>>Apr 24 12:36:55 31 north bird: radv1: Channel ipv6 connected to table radv_routes
>>Apr 24 12:36:55 31 north bird: radv1: Initializing
>>Apr 24 12:36:55 31 north bird: static1: Starting
>>Apr 24 12:36:55 31 north bird: static1: State changed to up
>>Apr 24 12:36:55 31 north bird: radv1: Starting
>>Apr 24 12:36:55 31 north bird: radv1: State changed to up
>>Apr 24 12:36:55 30 north bird: Started
>>Apr 24 12:36:55 31 north bird: radv1 < interface eth2r created
>>Apr 24 12:36:55 31 north bird: radv1 < interface ppp0 created
>>
>>
>>No more logging.  After some hours I get this:
>>541-north:bird# birdc show route for 2a02:29e1:300:e922::2
>>BIRD 2.0.7 ready.
>>Network not found
>>
>>What does it mean?  I configured static routes in the kernel.  Perhaps I should only configure them in bird.
>>542-north:bird# ip route get 2a02:29e1:300:e922::2
>>2a02:29e1:300:e922::2 from :: dev eth2r proto kernel src 2a02:29e1:300:e922::1 metric 256 pref medium
>>
>>My ISP assigned to me 2a02:29e1:300:e900/56.  I have a few addresses assigned locally, and 2a02:29e1:300:e922::1 to the lan interface (eth2r), reserving that /64 for lan hosts.  A neighboring PC has 2a02:29e1:300:e922::2/64.
>>
>>External routing doesn't work, but this is another question (also asked on stackexchange: https://unix.stackexchange.com/questions/742826/ipv6-over-pppoe)
>>
>>There must be something wrong in the config, which I don't know how to fix.  I paste it below.  What did I get wrong?
>>
>>TIA
>>Ale
>>
>>
>>-----8<-----
>># This is a basic configuration file, which contains boilerplate options and
>># some basic examples. It allows the BIRD daemon to start but will not cause
>># anything else to happen.
>>#
>># Please refer to the BIRD User's Guide documentation, which is also available
>># online at http://bird.network.cz/ in HTML format, for more information on
>># configuring BIRD and adding routing protocols.
>>
>># Configure logging
>>log syslog all;
>>
>># Set router ID. It is a unique identification of your router, usually one of
>># IPv4 addresses of the router. It is recommended to configure it explicitly.
>>router id 185.8.198.188;
>>
>># Turn on global debugging of all protocols (all messages or just selected classes)
>>debug protocols all;
>>debug protocols { interfaces, states };
>>
>>ipv6 table radv_routes;             # Manually configured routes go here
>>
>>protocol static {
>>	ipv6 { table radv_routes; };
>>
>>	route 2a02:29e1:300:e922::/64 via "eth2r";
>>	route 2a02:29e1:300:e900::/56 unreachable;
>>	route ::0/0 via "ppp0";
>>}
>>
>>protocol radv {
>>	propagate routes yes;           # Propagate the routes from the radv_routes table
>>	ipv6 { table radv_routes; export all; };
>>
>>	interface "ppp0" {
>>		prefix ::/0 {
>>			autonomous off;         # So do not autoconfigure any IP
>>		};
>>	};
>>
>>	interface "eth2r";              # No need for any other options
>>}
>>----->8-----
> 


More information about the Bird-users mailing list