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