[technique] WiP : Proposition de conf BGP
Jérôme Nicolle
jerome at ceriz.fr
Sam 17 Déc 19:00:24 CET 2011
###
#
# BIRD IPv4 COnfiguration for AS197422 - Paris node (gw.tetaneutral.net)
#
###
#
# Conventions
#
# Local Prefs :
# (beware localprefs are transmited over iBGP : should be set
accordingly for internal TE)
# - Customers / members fromm 300 to 399
# - IX from 200 to 299
# - Transits from 100 to 199
#
# Communities :
# WiP
#
###
#
# History (topmost is most recent activity)
# 20111217 - jerome at ceriz.fr - major rewriting, creation of doc header
# local pref rescaling - tie break avoidance on IX's RS, should make
updates faster
#
###
router id 91.224.148.1;
define myas = 197422;
timeformat base iso long;
timeformat log iso long;
timeformat protocol iso long;
timeformat route iso long;
# incremented log (jni 20111217)
log "/var/log/bird-20111217.log" all;
debug commands 2;
# disabled debuging (jni 20111217)
#debug protocols all;
#debug protocols { states };
#debug protocols { routes };
#debug protocols { filters };
#debug protocols { interfaces };
#debug protocols { events };
#debug protocols { packets };
debug protocols off;
#debug protocols { states, events };
protocol device {
scan time 10;
primary "eth0.124" 195.250.40.154;
}
protocol static static_bgp {
import all;
route 91.224.148.0/23 reject;
}
protocol static {
route 192.168.2.0/24 via "eth0";
route 91.224.149.0/24 via 91.224.148.3;
route 91.224.148.4/31 via 91.224.148.3;
}
protocol kernel{
import all;
export all;
}
function avoid_martians()
prefix set martians;
{
# replaced pfx_lenght and 0/0 route by extended martian filters,
faster and shorter (jni 20111217)
martians = [ 169.254.0.0/16+,
172.16.0.0/12+,
192.168.0.0/16+,
10.0.0.0/8+,
224.0.0.0/4+,
240.0.0.0/4+,
0.0.0.0/32- ];
if net ~ martians then return false;
return true;
}
filter bgp_OUT {
if (net ~ [91.224.148.0/23]) then accept;
else reject;
}
filter bgp_OUT_148 {
if (net ~ [91.224.148.0/24]) then accept;
else reject;
}
filter bgp_OUT_149 {
if (net ~ [91.224.149.0/24]) then accept;
else reject;
}
filter bgp_IN_CHIWAWA {
if (net ~ [91.224.148.32/29]) then accept;
else reject;
}
###
# BGP sessions
###
# iBGP session to h3
protocol bgp TETANEUTRAL {
local as myas;
neighbor 91.224.148.3 as myas;
#preference 50; # not required : eBGP prefered over iBGP (jni
20111217)
#import where avoid_martians();
import none;
export all;
}
#
# transits
#
protocol bgp GIXE {
local as myas;
neighbor 195.250.40.153 as 31576;
import where avoid_martians();
export filter bgp_OUT;
preference 100;
}
protocol bgp LIAZO {
local as myas;
neighbor 178.20.55.178 as 50618;
import where avoid_martians();
export filter bgp_OUT;
preference 110;
}
protocol bgp ABSOLIGHT {
local as myas;
neighbor 79.143.245.101 as 29608;
preference 155;
import where avoid_martians();
export filter bgp_OUT;
}
###
#
# IX route serveurs
#
###
#
# Local Prefs settings :
#
# We prefer some IX over others due to capacity and/or price
# Primary RS are slightly prefered over secondary RS to make the BGP
# decision process faster, yet keeping redundancy
#
# FR-IX : pri 201, sec 200
# France-IX : pri 250, sec 249
# Equinix-IX : pri 280, sec 279
#
###
# fr-ix : per-trafic fee (?), deprecated over other IXs
protocol bgp FR_IX_RS1 {
local as myas;
neighbor 91.216.67.1 as 65444;
preference 200;
import where avoid_martians();
export filter bgp_OUT;
}
protocol bgp FR_IX_RS2 {
local as myas;
neighbor 91.216.67.2 as 65444;
preference 201;
import where avoid_martians();
export filter bgp_OUT;
}
# disabled for Paris' gw
#protocol bgp TOUIX {
# local as myas;
# neighbor 91.213.236.1 as 47184;
# import where avoid_martians();
# export filter bgp_OUT;
#}
# france-ix : FastE port, deprecated over Equinix
protocol bgp FRANCE_IX_RS1 {
local as myas;
neighbor 193.105.232.250 as 51706;
preference 250;
import where avoid_martians();
export filter bgp_OUT;
#password "mypass";
}
protocol bgp FRANCE_IX_RS2 {
local as myas;
neighbor 193.105.232.251 as 51706;
preference 249;
import where avoid_martians();
export filter bgp_OUT;
#password "mypass";
}
# equinix : GigE port, prefered over France-IX
protocol bgp EQUINIX_IX_COLLECTOR {
local as myas;
neighbor 195.42.144.250 as 65517;
import where avoid_martians();
export filter bgp_OUT;
}
protocol bgp EQUINIX_IX_RS1 {
local as myas;
neighbor 195.42.144.98 as 24115;
preference 279;
next hop self;
import where avoid_martians();
export filter bgp_OUT;
}
protocol bgp EQUINIX_IX_RS2 {
local as myas;
neighbor 195.42.144.99 as 24115;
preference 280;
next hop self;
import where avoid_martians();
export filter bgp_OUT;
}
#
# Individual peers out of RS
#
# note : LP should be set according to IX : shortest AS path will be
prefered anyway
#
# AFNIC 1 on France IX
protocol bgp AFNIC_1 {
local as myas;
neighbor 193.105.232.20 as 2483;
preference 249;
import where avoid_martians();
export filter bgp_OUT;
}
# AFNIC 2 on France IX
protocol bgp AFNIC_2 {
local as myas;
neighbor 193.105.232.21 as 2486;
preference 250;
import where avoid_martians();
export filter bgp_OUT;
}
# AFNIC on Equinix
protocol bgp AFNIC_EQUINIX {
local as myas;
neighbor 195.42.144.153 as 2486;
preference 280;
import where avoid_martians();
export filter bgp_OUT;
}
protocol bgp SIS_EQUINIX {
local as myas;
neighbor 195.42.144.77 as 50858;
preference 280;
import where avoid_martians();
export filter bgp_OUT;
}
# lowered IPv4 pref on HE to avoid their london core
protocol bgp HE_EQUINIX_IX {
#local as 65422;
#enable as4 off;
local as myas;
neighbor 195.42.144.104 as 6939;
preference 280;
#passive on;
import where avoid_martians();
export filter bgp_OUT;
}
protocol bgp HE_FRANCE_IX {
local as myas;
neighbor 193.105.232.10 as 6939;
preference 250;
import where avoid_martians();
export filter bgp_OUT;
}
protocol bgp E4A_EQUINIX_IX {
local as myas;
neighbor 195.42.144.69 as 34695;
preference 280;
import where avoid_martians();
export filter bgp_OUT;
}
protocol bgp E4A_FRANCE_IX {
local as myas;
neighbor 193.105.232.26 as 34695;
preference 250;
import where avoid_martians();
export filter bgp_OUT;
}
protocol bgp IKOULA_FRANCE_IX {
local as myas;
neighbor 193.105.232.76 as 21409;
preference 280;
import where avoid_martians();
export filter bgp_OUT;
}
protocol bgp CLARANET_EQUINIX_IX {
local as myas;
neighbor 195.42.144.30 as 8426;
preference 280;
import where avoid_martians();
export filter bgp_OUT;
}
##Does not support ASN32 yet
#protocol bgp CLARANET_1_FRANCE_IX {
# local as myas;
# neighbor 193.105.232.60 as 8426;
# preference 300;
# import where avoid_martians();
# export filter bgp_OUT;
#}
protocol bgp CLARANET_2_FRANCE_IX {
local as myas;
neighbor 193.105.232.61 as 8426;
preference 250;
import where avoid_martians();
export filter bgp_OUT;
}
protocol bgp PCH_1_EQUINIX_IX {
local as myas;
neighbor 195.42.144.17 as 42;
preference 280;
import where avoid_martians();
export filter bgp_OUT;
}
protocol bgp PCH_2_EQUINIX_IX {
local as myas;
neighbor 195.42.144.18 as 3856;
preference 279;
import where avoid_martians();
export filter bgp_OUT;
}
protocol bgp PCH_1_FRANCE_IX {
local as myas;
neighbor 193.105.232.92 as 42;
preference 250;
import where avoid_martians();
export filter bgp_OUT;
}
protocol bgp PCH_2_FRANCE_IX {
local as myas;
neighbor 193.105.232.91 as 3856;
preference 249;
import where avoid_martians();
export filter bgp_OUT;
}
protocol bgp ASCUS_EQUINIX_IX {
local as myas;
neighbor 195.42.144.118 as 39912;
preference 280;
import where avoid_martians();
export filter bgp_OUT;
}
protocol bgp ASCUS_FRANCE_IX {
local as myas;
neighbor 193.105.232.85 as 39912;
preference 250;
import where avoid_martians();
export filter bgp_OUT;
}
protocol bgp AQUARAY_EQUINIX_IX {
local as myas;
neighbor 195.42.144.145 as 41653;
preference 280;
import where avoid_martians();
export filter bgp_OUT;
}
protocol bgp MULTIVISP_EQUINIX_IX {
local as myas;
neighbor 195.42.144.38 as 34021;
preference 280;
import where avoid_martians();
export filter bgp_OUT;
}
protocol bgp GANDI_EQUINIX_IX {
local as myas;
neighbor 195.42.144.8 as 29169;
preference 280;
import where avoid_martians();
export filter bgp_OUT;
}
protocol bgp ALSATIS_EQUINIX_IX {
local as myas;
neighbor 195.42.144.70 as 48072;
preference 280;
import where avoid_martians();
export filter bgp_OUT;
}
protocol bgp HEXAGLOBE_EQUINIX_IX {
local as myas;
neighbor 195.42.144.110 as 31564;
preference 280;
import where avoid_martians();
export filter bgp_OUT;
}
protocol bgp INIT7_EQUINIX_IX {
local as myas;
neighbor 195.42.144.138 as 13030;
preference 280;
import where avoid_martians();
export filter bgp_OUT;
}
protocol bgp PPR_FRANCE_IX {
local as myas;
neighbor 193.105.232.64 as 15422;
preference 250;
import where avoid_martians();
export filter bgp_OUT;
}
protocol bgp PPR_EQUINIX_IX {
local as myas;
neighbor 195.42.144.107 as 15422;
preference 280;
import where avoid_martians();
export filter bgp_OUT;
}
protocol bgp ATRATO_FRANCE_IX {
local as myas;
neighbor 193.105.232.9 as 5580;
preference 250;
import where avoid_martians();
export filter bgp_OUT;
}
protocol bgp AZURIA_EQUINIX_IX {
local as myas;
neighbor 195.42.144.141 as 28877;
preference 280;
import where avoid_martians();
export filter bgp_OUT;
}
protocol bgp AS112_FRANCE_IX {
local as myas;
neighbor 193.105.232.37 as 112;
preference 250;
import where avoid_martians();
export filter bgp_OUT;
}
protocol bgp AS112_EQUINIX_IX {
local as myas;
neighbor 195.42.144.146 as 112;
preference 280;
import where avoid_martians();
export filter bgp_OUT;
}
#
# Customers / members
#
protocol bgp CHIWAWA {
local as myas;
neighbor 91.224.148.19 as 64600;
import filter bgp_IN_CHIWAWA;
export where avoid_martians();
preference 350;
}
--
Jérôme Nicolle
06 19 31 27 14
Plus d'informations sur la liste de diffusion technique