What do you have $my_ip4_net and $my_ip6_net set to? I assume the IPv4 and IPv6 
blocks that the IX is using? 




----- 
Mike Hammett 
Intelligent Computing Solutions 
http://www.ics-il.com 



----- Original Message -----

From: "Hrvoje Popovski" <hrv...@srce.hr> 
To: misc@openbsd.org 
Sent: Wednesday, April 15, 2015 4:34:19 AM 
Subject: Re: OpenBGPd Route Server 

On 15.4.2015. 5:23, Mike Hammett wrote: 
> With the decline of OpenBGPd's popularity among IXPs, it's difficult to track 
> down examples of how IXPs are configuring their servers. I saw a couple 
> presentations in the 2010 - 2011 timeframe with new things that were coming 
> for 32 bit communities among other things. 
> 
> I have a route server config that is functional, but I'm sure I'm missing out 
> on things. Anything out there on current best practices for this situation? 
> What I have I pieced together from an AMS-IX presentation and a forum\mailing 
> list thread. Well, and the sample config. 
> 
> 

Hi, 

I hope that this configuration will be good enough as a starting point.... 

AS $my_as 
router-id $my_ip4 
listen on $my_ip4 
listen on $my_ip6 
holdtime 180 
holdtime min 3 
fib-update no 
log updates 
nexthop qualify via bgp 
transparent-as yes 
socket "/var/www/run/bgpd.rsock" restricted 

group rsip4 { 
local-address $my_ip4 
announce IPv6 none 
announce IPv4 unicast 
set nexthop no-modify 
enforce neighbor-as yes 
announce all 

#first_peer - IP4 
neighbor $first_peer_ip4 { 
remote-as $first_peer_as 
tcp md5sig password somepassword41 
max-prefix 1024 restart 5 #optional 
passive 
} 

#second_peer - IP4 
neighbor $second_peer_ip4 { 
remote-as $second_peer_as 
tcp md5sig password somepassword42 
max-prefix 1024 restart 5 #optional 
passive 
} 
.... 
} 
group rsip6 { 
local-address &my_ip6 
announce IPv6 unicast 
announce IPv4 none 
set nexthop no-modify 
enforce neighbor-as yes 
announce all 

#first_peer - IP6 
neighbor $first_peer_ip6 { 
remote-as $first_peer_as 
tcp md5sig password somepassword61 
max-prefix 1024 restart 5 #optional 
passive 
} 


#second_peer - IP6 
neighbor $second_peer_ip6 { 
remote-as $second_peer_as 
tcp md5sig password somepassword62 
max-prefix 1024 restart 5 #optional 
passive 
} 
... 
} 

deny from any inet prefixlen 8 >< 24 
deny from any inet6 prefixlen 16 >< 48 

deny from any prefix 0.0.0.0/0 
deny from any prefix 0.0.0.0/8 prefixlen >= 8 # 'this' network 
[RFC1122] 
deny from any prefix 10.0.0.0/8 prefixlen >= 8 # private space 
[RFC1918] 
deny from any prefix 100.64.0.0/10 prefixlen >= 10 # CGN Shared 
[RFC6598] 
deny from any prefix 127.0.0.0/8 prefixlen >= 8 # localhost 
[RFC1122] 
deny from any prefix 169.254.0.0/16 prefixlen >= 16 # link local 
[RFC3927] 
deny from any prefix 172.16.0.0/12 prefixlen >= 12 # private space 
[RFC1918] 
deny from any prefix 192.0.2.0/24 prefixlen >= 24 # TEST-NET-1 
[RFC5737] 
deny from any prefix 192.168.0.0/16 prefixlen >= 16 # private space 
[RFC1918] 
deny from any prefix 198.18.0.0/15 prefixlen >= 15 # benchmarking 
[RFC2544] 
deny from any prefix 198.51.100.0/24 prefixlen >= 24 # TEST-NET-2 
[RFC5737] 
deny from any prefix 203.0.113.0/24 prefixlen >= 24 # TEST-NET-3 
[RFC5737] 
deny from any prefix 224.0.0.0/4 prefixlen >= 4 # multicast 
deny from any prefix 240.0.0.0/4 prefixlen >= 4 # reserved 

deny from any prefix ::/0 
deny from any prefix ::/8 prefixlen >= 8 
deny from any prefix 0100::/64 prefixlen >= 64 # Discard-Only 
[RFC6666] 
deny from any prefix 2001:2::/48 prefixlen >= 48 # BMWG [RFC5180] 
deny from any prefix 2001:10::/28 prefixlen >= 28 # ORCHID [RFC4843] 
deny from any prefix 2001:db8::/32 prefixlen >= 32 # docu range 
[RFC3849] 
deny from any prefix 3ffe::/16 prefixlen >= 16 # old 6bone 
deny from any prefix fc00::/7 prefixlen >= 7 # unique local 
unicast 
deny from any prefix fe80::/10 prefixlen >= 10 # link local unicast 
deny from any prefix fec0::/10 prefixlen >= 10 # old site local 
unicast 
deny from any prefix ff00::/8 prefixlen >= 8 # multicast 

# match any with community 
match from any set community $my_as:65000 

# community politics 
deny to { group rsip4, group rsip6 } community $my_as:65000 
deny to { group rsip4, group rsip6 } community 0:$my_as 
allow to { group rsip4, group rsip6} community $my_as:$my_as 
deny to { group rsip4, group rsip6 } community 0:neighbor-as 
allow to { group rsip4, group rsip6 } community $my_as:neighbor-as 

match to group rsip4 prefix &my_ip4_net set prepend-self 1 
match to group rsip6 prefix &my_ip6_net set prepend-self 1 

Reply via email to