Set SRC PREF for routes when injecting routes to kernel

Olda Plchot olda.plchot at gmail.com
Mon Jan 15 15:00:52 CET 2018


Hi everybody,
  I am wondering what is the state of krt_prefsrc or something similar that
would work in FreeBSD? I was experimenting with this some time ago and I
ended up having to do NAT on the inner address for the router to reach
internet through specific address as the prefix that is set on our outer
interface (BGP routing prefix) is not globally advertised. I am not a big
expert on FreeBSD, so my question is, does the kernel support similar route
attributes so that it can be added to bird? Now the documentation lists
these options as Linux specific, and especially krt_prefsrc would come in
handy also on non-linux systems.

thanks,
             Olda

On Mon, Jan 15, 2018 at 11:03 AM, Michael Rack <mail at michaelrack.de> wrote:

> Uppps, okay sorry, that is a attribute on a per route / prefix basis as i
> want to.
>
> protocol bgp ibgp4_bgp02 {
>>         description "Internal BGP to BGP02";
>>         local 10.0.0.1 as 65501;
>>         neighbor 10.0.0.2 as 65502;
>>         ipv4 {
>>                 export all;
>>                 import filter { krt_prefsrc = 78.22.46.1; };
>
>                 table ibgp4;
>>         };
>> }
>
>
> perfect, thank you.
>
> 2018-01-15 10:54 GMT+01:00 Michael Rack <mail at michaelrack.de>:
>
>> Perfect, that will do what i want. Thank you.
>>
>> But will it not be better to have that setting on an in-filter per route
>> basis?
>>
>> On MIKROTIK BGP / OSPF you do that on a per route basis, so you can do
>> some fancy things like "if routes learned from peer 1 set src to x.x.x.x,
>> if learned from peer 2 set src to y.y.y.y".
>>
>> 2018-01-15 9:36 GMT+01:00 Alexander Zubkov <green at qrator.net>:
>>
>>> Hi,
>>>
>>> You can set krt_prefsrc when exporting to kernel in Linux.
>>>
>>> On Mon, Jan 15, 2018 at 8:49 AM, Michael Rack <mail at michaelrack.de>
>>> wrote:
>>>
>>>> Hi all!
>>>>
>>>> Is it possible to set the SRC-Attribute on routes that will be inserted
>>>> to kernel?
>>>>
>>>> I have private /31 networks to connect to other routers in my network
>>>> and i don't want to see these private ip-addesses on a traceroute from a
>>>> network with public ips. Every Router have a public IP-Address on his
>>>> Loopback-Interface, so i can use that address for ICMP-Replies.
>>>>
>>>> Lets say 78.22.45.0/24 and 78.22.46.0/24 is my public network address
>>>> space.
>>>>
>>>> router#1.lo = 78.22.46.1/32
>>>> router#1.eth1 = 10.0.0.1/31
>>>>  ----- eBGP -----
>>>> router#2.eth1 = 10.0.0.2/31
>>>> router#2.eth2 = 78.22.45.1/24
>>>> router#1.lo = 78.22.46.2/32
>>>>
>>>> On traceroutes i like to reply from a specific ip-address. In case of
>>>> router#1 with 78.22.46.1 and for router#2 with 78.22.46.2
>>>>
>>>> On Unix / Linux you can accomplish that feature with
>>>> router#1# ip route add 78.22.45.0/24 via 10.0.0.2 src 78.22.46.1
>>>>
>>>> So how can i set "src" with bird on import route filtering process?
>>>>
>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://trubka.network.cz/pipermail/bird-users/attachments/20180115/3f35e04b/attachment.html>


More information about the Bird-users mailing list