Taller BGP Sergio PDF
Taller BGP Sergio PDF
Taller BGP Sergio PDF
SergioGlvezMorales2013
DEDNDEVIENELADIRECCINIP?
SergioGlvezMorales2013
SergioGlvezMorales2013
SergioGlvezMorales2013
SergioGlvezMorales2013
Ms acercadeASN
Histricamente2bytes
o 1al65535
Peroseconvirtien4bytes(RFC4893)
o 65536al4294967295
SergioGlvezMorales2013
ASNEspeciales
o 0y65535estnreservados
o 64496 64511,65536 65551sonpara
documentacin(RFC5398)
o 64512 65534Usoprivado
o 23456representacindeASNde4bytesenel
mundode2bytes.
SergioGlvezMorales2013
IGPcontraEGP
IGP InteriorGatewayProtocol
o IntercambioderutasdentrounASN
o Transportainformacinacercadelosprefijosinternos
o OSPF,ISIS,EIGRP,etc
EGP ExteriorGatewayProtocol
o IntercambioderutasentreASN
o ActualmenteBGPeselestndardeEGP
o Conexinconredesextrenas
SergioGlvezMorales2013
IGP InteriorGatewayProtocol
o
o
o
o
Convergenciapordebajodelsegundo
Generalmentedescubrimientoautomtico
GeneralmenteconfasusrutasIGP
Todaslasrutasvanentrerouters IGP
EGP ExteriorGatewayProtocol
o DisociadasdelaIGP
o Configuradoespecialmente
SergioGlvezMorales2013
EnrutamientoInternet
BGPseleccionalasrutasde
acuerdoaunalgoritmode
decisinylosvaloresde
algunos"atributos"ruta.
AS_PATHesunalistadeASN
cuandohayunUPDATEla
listaseactualiza.
SergioGlvezMorales2013
ASN6057
Anuncia
200.40.0.0/16
ASN8158
Recibe
200.40.0.0/16
Elprefijo200.40.0.0/16es
propagadoconBGPa
Internet
Atributos:
200.40.0.0/16AS_PATH ASN1ASN3ASN6057
SergioGlvezMorales2013
Trnsito yPeering
Trnsito
o TrficoyprefijosprocedentesdeunASNserealizanatravsde
unASNintermedioparallegarasudestinoASN
o Generalmenteseusaunacuota
Peering
o InterconexinprivadaentredosASN
o Generalmentenousacuota
SergioGlvezMorales2013
TRNSITO
PEERING
SergioGlvezMorales2013
Peering enunInternetExchangePoint(IXP)
InternetExchangePoint(IXP)
UbicacincomndeinterconexindondevariosASNintercambian
informacindeenrutamientoyeltrfico
SergioGlvezMorales2013
AprendeatravsdevariasrutasBGPinternasy
externas.Intercambioinicialdetodalatabla
Actualizacionesincrementales
o Escogeelmejorpath yloinstalaenlatablade
reenvoIP.Polticasaplicadasparainfluirenla
seleccindelmejorpath
Intercambianmensajesdemantenimientode
conexin
Muchasopcionesparalaaplicacindepolticas
Classless InterDomain Routing (CIDR)
Ampliamenteutilizadoparalaredtroncalde
Internet
SergioGlvezMorales2013
Vecinos
PortavocesBGP
o Interna(iBPG)siseencuentranenunmismoASN
o Externo(eBGP)siseencuentranendiferentesASN
SergioGlvezMorales2013
CamposdeaplicacinBGP:redde
conexinnica
Slounasalidaparaelcliente
Noesnecesariorealmente
agregarBGP
SergioGlvezMorales2013
Redes multitarjeta
Diferentessituacionesposibles
o Mltiplesenlacesaun
mismoISP
o Secundariosloparabackup
o Compartirlacargaentre
primarioysecundario
o Utilizarselectivamente
diferentesISPs
o Peering enIXP
SergioGlvezMorales2013
EstadosdeBGP
Estados BGP
EventosBGP
1.
2.
3.
4.
5.
6.
1. BGPStart
2. BGPStop
3. BGPTransport connection open
4. BGPTransport connection closed
5. BGPTransport connection openfailed
6. BGPTransport fatalerror
7. ConnectRetry timer expired
8. Hold Timer expired
9. KeepAlive timer expired
10.Receive OPENmessage
11.Receive KEEPALIVEmessage
12.Receive UPDATEmessages
13.Receive NOTIFICATIONmessage
Idle
Connect
Active
OpenSent
OpenConfirm
Established
SergioGlvezMorales2013
Configuracin Bsica
IPv4
IPv6
Configuracin Bsica(IPv4eBGP)
Router A
router bgp 65536
network 150.10.0.0mask 255.255.0.0
neighbor 131.108.10.1remoteas65537
Router A
Router B
router bgp 65537
network 131.108.0.0mask 255.255.0.0
neighbor 131.108.10.2remoteas655536
!Tengacuidado,necesidadde
filtros!
!Nolointenteenlaproduccin
todava!
SergioGlvezMorales2013
Router B
Router A
router bgp 65536
neighbor 131.108.10.1remoteas65536
Router A
Router B
router bgp 65536
network 131.108.0.0mask 255.255.0.0
neighbor 131.108.10.2remoteas655536
ip route 131.108.0.0255.255.0.0null 0
Router B
SergioGlvezMorales2013
Ms sobreiBGP
BGPaparecedentrodelmismoASN
Noesnecesarioestarconectadodirectamente
IGPseencargadeconectividadentreBGP
speakers
Losspeakers iBGP debenestarinterconectados:
o Seoriginanredesconectadas
o Pasanprefijosaprendidosdesdefueradel
ASN
o Nopasandeprefijosaprendidosdeotros
speakers iBGP
SergioGlvezMorales2013
Verificacin delfuncionamiento
Summary deBGP
Showip bgp summary
Showbgp ipv6[unicast|multicast]summary
Tabladeenrutamiento
Showip bgp <prefix>(emptyshowsall the routes)
Showbgp ipv6[unicast|multicast]<prefijo>
SergioGlvezMorales2013
Ejemplodecomandos
SergioGlvezMorales2013
MsComandosshow
Verificacindevecinos
Showip bgp neighbor<peer>
Showbgp ipv6[unicast|multicast]neighbor<peer>
Showip bgp ]neighbor<peer>advertisedroutes
Showbgp ipv6[unicast|multicast]neighbor<peer>advertisedroutes
Showip bgp neighbor<peer>routes
Showbgp ipv6[unicast|multicast]neighbor<peer>routes
Showip bgp neighbor<peer>receivedroutes
Showbgp ipv6[unicast|multicast]neighbor<peer>receivedroutes
SergioGlvezMorales2013
ATRIBUTOS
Quesunatributo?
PartedeunaactualizacindeBGP
Describelascaractersticasdelprefijo
Sepuedesertransitivoonotransitivo
Algunossonobligatorios,otrosopcionales
o Atributosobligatorios:
Well known
Well known discretionary
o Atributosopcionales:
Optional nontransitive
SergioGlvezMorales2013
Rutasdeatributos
SergioGlvezMorales2013
Listadodeatributos
Value Code Reference
0Reserved
1ORIGIN[RFC4271]
2AS_PATH[RFC4271]
3NEXT_HOP[RFC4271]
4MULTI_EXIT_DISCRFC4271]
5LOCAL_PREF[RFC4271]
6ATOMIC_AGGREGATE[RFC4271]
7AGGREGATOR[RFC4271]
8COMMUNITY[RFC1997]
9ORIGINATOR_ID[RFC4456]
10CLUSTER_LIST[RFC4456]
14MP_REACH_NLRI[RFC4760]
15MP_UNREACH_NLRI[RFC4760]
16EXTENDEDCOMMUNITIES[RFC4360]
17AS4_PATH[RFC6793]
18AS4_AGGREGATOR[RFC6793]
SergioGlvezMorales2013
ProcesodedecisindeBGP
SergioGlvezMorales2013
ASPath
SecuenciadeASNs queunarutahaatravesado
Atributotransitivoobligatorio
Seutilizapara:
o DeteccindeLoop
o Laaplicacindelapoltica
SergioGlvezMorales2013
EjemploASPath
2001:db8::/32
SergioGlvezMorales2013
Nexthop
eBGP:Direccindelvecinoexterna
iBGP:NEXT_HOPdeeBGP (peropuedeser
cambiado)
Atributonotransitivoobligatorio
SergioGlvezMorales2013
Paraevitarcarring externoenlasdireccionesIPde
nexthopseusa:nexthopself
neighbor x.x.x.x nexthopself
UtilizarbuclescomoNHeniBGP
SergioGlvezMorales2013
Origin
Elorigendelprefijo
AtributohistricoutilizadoenlatransicindeEGP
paraBGP
Atributotransitivoyobligatorio
Tresvalores:IGP,EGP,incompleto
o IGPgeneradopordeclaracinsobrelared
BGP
o EGPgeneradoporEGP
o Incompletoredistribuidodeotroprotocolo
deenrutamiento
SergioGlvezMorales2013
Aggregator
TransmiteladireccinIPdelrouter oBGPspeaker
generandolarutaagregada
Atributoopcionalytransitivo
Creadoporelusode"aggregateaddress":
router bgp 65537
aggregateaddress 10.1.0.0255.0.0.0
SergioGlvezMorales2013
LocalPreference
IndicacindelarutapreferidaparasalidadeASN
locales
Atributonotransitivoyopcional
GlobalalosASNlocales
RutasconmayorLOCAL PREFsonlosms
deseables(pordefecto=100)
SergioGlvezMorales2013
EjemploLocalPreference
SergioGlvezMorales2013
Ejemplo
router bgp 65535
bgp routerid3.3.3.3
neighbor 2001:db8::1remoteas65535
neighbor 2001:db8::1updatesource Loopback0
addressfamily ipv6
neighbor 2001:db8::1activate
neighbor 2001:db8::1nexthopself
neighbor 2001:db8::1routemap LOCAL_PREFout
exitaddressfamily
ipv6prefixlist 10seq 5permit 2001:db8::/32
!
routemap LOCAL_PREFpermit 10
matchipv6address prefixlist 10
setlocalpreference 150
!
routemap LOCAL_PREFpermit 20
SergioGlvezMorales2013
Communites
LasCommunities sedescribenenRFC1997
Atributotransitivoyopcionales
32bitsentero,representadocomodosenterosde
16bits(RFC1998)
Formatocomnes<localASN>:xx
0:0a0:65535y65535:0de65535:65535estn
reservados
SergioGlvezMorales2013
Seutilizaparadestinosdegrupo,cadadestinopuedeser
miembrodevariascomunidades
MuytilenlaaplicacindepolticasdentroyentreASN
Escomounaetiquetaaplicadaaunaactualizacin.
Lascomunidadestpicas:
o Destinosaprendidasdelosclientes
o DestinosaprendidasdeISPs ocompaeros
o DestinosenVPN
SergioGlvezMorales2013
ComunidadesWellKnow
noexport =noanunciaasuspareseBGP (65535:65281)
noadvertise =noanunciaacualquierpunto
(65535:65282)
localAS=noanunciafueradelASNlocal(usadoconlas
centrales)
https://www.iana.org/assignments/bgpwellknown
communities/bgpwellknowncommunities.xhtml
SergioGlvezMorales2013
EjemploSetcommunity
Setcommunity 65536:200
router bgp 65536
neighbor 10.1.1.1remoteas65537
neighbor 10.1.1.1sendcommunity
neighbor10.1.1.1routemapset_community out
!
routemap set_community 10permit
matchip address 1
setcommunity 65536:200
!
accesslist 1permit 10.10.0.00.0.255.255
SergioGlvezMorales2013
EjemploSetlocalpref
Setlocalpref basadoenunacommunity
router bgp 65537
neighbor 10.1.1.2remoteas65536
neighbor10.1.1.2routemapfilter_on_community in
!
routemap filter_on_community 10permit
matchcommunity 1
setlocalpreference 150
!
ip communitylist1permit65537:150
SergioGlvezMorales2013
Filtrado,polticasyescalaBGP
AplicacindePolticasconBGP
LaspolticasestnbasadaenlarutaAS,la
comunidadoelprefijo
Rechazar/aceptarrutasseleccionadas
Estableceratributosparainfluirenlaseleccinde
rutas
Utiliza
o Listadeprefijos
o Listadefiltros
o Mapasderutasydelascomunidades
SergioGlvezMorales2013
Listadeprefijos
Porprefijoparesfiltro,entranteosaliente
Permitelacoberturadelosrangosdelongitudesde
prefijo(ge,le)
SobrelabasedelosnmerosderedenNLRI(con
familiaresdireccinIPv4/formatodelamscara)
ip prefixlistlistname[seq seqvalue]permit|deny
network/len [ge gevalue][lelevalue]
SergioGlvezMorales2013
Ejemplos
Denegarrutapordefecto
ipprefixlistEGdeny0.0.0.0/0
Permitirelprefijo35.0.0.0/8
ipprefixlistEGpermit35.0.0.0/8
Denegarelprefijo172.16.0.0/12
ipprefixlistEGdeny172.16.0.0/12
En192/8permitirhasta/24
ip prefixlist EGpermit 192.0.0.0/8le24
SergioGlvezMorales2013
Ejemplo
Expresionesregulares
.Coincidiruncarcter
*Coincidircualquiernmerodelaexpresinanterior
+Coincidiralmenosunnmerodelaexpresinanterior
^Iniciodelalnea
$Findelnea
\ Escaparuncarcterdeexpresinregular
_Inicio,final,espacioenblanco
|O
()Entreparntesisparacontenerlaexpresin
[]Corchetesparacontenerseriesdenmeros
SergioGlvezMorales2013
Ejemplosexpresionesregulares
.*Igualanada
^$CorrespondenrutaslocalesaesteASN(AS_PATH
estvaco)
_65536$Originadopor65.536(AS_PATHtermina
con65.536)
^65536_Recibidaspor65.536(AS_PATHempiezacon
65.536)
_65536_65536estenalgnlugarenAS_PATH
_65536_65537_Pasandodesde65.537por65.536
SergioGlvezMorales2013
MasEjemplos
^[0 9]+$coincidirlongituddeunAS_PATH
^[09]+_[09]+$coincidirlongituddedosAS_PATH
^[0 9]_*[0 9]+$AS_PATHcoincidenteconlalongitudde
unoodos
^[09]*_[0 9]*$coincidirAS_PATHduracindeunoodos
(tambinpuedecoincidirconcero)
^[09]+_[0 9]+_[09]+$coincidirlongituddetres
AS_PATH
_(65536|65537)_coincidircualquiercosaquehapasado
porAS65536oAS65537
_65536(_.+_)65537$correspondeanadadelorigen
AS65536ypasaatravsdeAS65537
SergioGlvezMorales2013
Listadefiltros
LasrutasdefiltrobasadoenAS_PATH,entranteosaliente
router bgp 65537
network 10.7.0.0mask 255.255.0.0
neighbor10.10.1.1filterlist5out
neighbor10.10.1.1filterlist6in
!
ip aspathaccesslist5permit^65536$
ip aspathaccesslist6permit^65539$
SergioGlvezMorales2013
Mapasderutas
Unasecuenciadeinstrucciones
Tienenmerosde"lnea",cadalneaesuna
condicin/accinseparada
If matchthen doexpression andexit
else
If matchthen doexpression andexit
else etc
Rutade"continuar"seaplicaaaplicavarias
condicionesyaccionesenunahojaderuta
SergioGlvezMorales2013
Ejemplosmapasderutas
routemap sample permit 10
matchip addressprefixlistlistone
setlocalpreference 120
!
routemap sample permit 20
matchip addressprefixlistlisttwo
setlocalpreference 80
!
routemap sample permit 30
SergioGlvezMorales2013
Controldeltrficoentrante
Laprimerareglaparacontrolareltrficodeentrada
o Ustednotieneelcontrolfinaldecmoeltrfico
entraensuAS
o Suscompaerospuedentenerpolticassalientes
queanularntodossusintentosdeinfluirenel
trficodeentrada
Porlotanto,qupuedehacer?
o Fugasenrutasespecficas
o MED
o AnteponiendoASPATH
SergioGlvezMorales2013
AnteponiendoASPath
SergioGlvezMorales2013
UtiliceanteponiendosupropionmerodeASNdelo
contrarioBGPdetectarabuclesquepuedencausar
desconexiones.
router bgp 65535
neighbor2001:cafe::1remoteas65536
addressfamily ipv6
neighbor 2001:cafe::1activate
neighbor2001:cafe::1routemapSETPATHout
!
routemap SETPATHpermit 10
setaspathprepend6553565535
SergioGlvezMorales2013
Comunidadnoexport
SergioGlvezMorales2013
SergioGlvezMorales2013
Ordendeaplicacindelapoltica
Paraactualizacionesentrantes:
o Mapadelaruta
o Listadefiltros
o Listadeprefijo
Paralasactualizacionesdesalida:
o Listadeprefijo
o Listadefiltros
o Mapadelaruta
SergioGlvezMorales2013
Reflectoresderuta
BGPnopuedeanunciaruncaminodeuniBGP aotro.
iBGP notieneformadedetectarbucles(opuestamente
eBGP queutilizaASPATH)
iBGP requieresunamallacompleta,peronoescala
Losreflectoresderutasonpuntoscentralesparala
distribucinderutasentreparesiBGP
SergioGlvezMorales2013
Loopbacks
Loopback controladopromuevelaestabilidad
Silarelacinentredosvecinosfalla:
o SinLoopback ,mirandoalaIPdelainterfazprovocara
undescensodelasesinBGP
o Conloopback,mirandoaunbucle,lasesinpuede
permanecerhasta
Seutilizaparacargareltrficodeequilibrioatravsde
mltiplesenlaces
EniBGP asegresedequehayunarutaIGPparaloopbacks
SergioGlvezMorales2013
SergioGlvezMorales2013
Crecimientodelatabladeenrutamiento
SergioGlvezMorales2013
http://bgp.potaroo.net/
Desagregacin
2001:db8::/40
2001:db8:100::/40
SergioGlvezMorales2013
Agregacin
Sloanunciarelagregadodesuscompaeros
Utilicelistadeprefijosparacontrolarloquese
salgadesuredyloqueseponealamisma.
Utilicecomunidadnoexport
Tratedeevitaradesglosarlomsposible
SergioGlvezMorales2013
Ejemplo
Aplicarnoexport aestevecino
Aestoseacabadeanunciaraggragate
SergioGlvezMorales2013
Recepcinyprefijosderecepcin
Siempreapliquefiltrosdesalidaparaanunciar
solamentesusprefijosylosdesusclientes
Siempreapliquefiltrosdeentrada,nuncasesabelo
quepuedevenirdesuspares
NohacerestoproduceproblemastalescomoRoute
hijacking yRouteleaks
SergioGlvezMorales2013
FiltradoespecialdedireccionesIPv4/IPv6
Puedeaadirestasdireccionesasusfiltrosde
entradaparaevitarrecibiranunciaciones
invalidas
Ejemplosdeestosprefijosson10.0.0.0/8,
192.168.0.0/16,2001:db8::/32
CompruebeRFC6890paramsdetalles
Cisco,JuniperyotrasplantillasdeACLen:
http://www.teamcymru.org/Services/Bogons/changelog.html
SergioGlvezMorales2013
Direcciones especialesIPv6
ipv6prefixlist IPv6BOGUSdeny 2001:db8::/32le128
ipv6prefixlist IPv6BOGUSpermit 2002::/16
ipv6prefixlist IPv6BOGUSdeny 2002::/16le128
ipv6prefixlist IPv6BOGUSdeny 0000::/8le128
ipv6prefixlist IPv6BOGUSdeny fe00::/9le128
ipv6prefixlist IPv6BOGUSdeny ff00::/8le128
ipv6prefixlist IPv6BOGUSpermit0::/0le48
ipv6prefixlist IPv6BOGUsdeny 0::/0le128
SergioGlvezMorales2013
PrefijosEstables
Uselasrutasestticasparamantenersusrutas
estableseindependientesdeloscambiosenla
interfaz
Utilicebuclesparamirarconsusvecinos
o ConiBGP utilizarlosconnexthop,seevita
realizarrutasexternasenelIGP
o ConeBGP queaumentalaestabilidad
SergioGlvezMorales2013
INTERNETEXCHANGEPOINTS(IXP)
RECORDAR
TRNSITO
PEERING
SergioGlvezMorales2013
Trnsito yPeering
Trnsito
o TrficoyprefijosprocedentesdeunASNserealizanatravsde
unASNintermedioparallegarasudestinoASN
o Generalmenteseusaunacuota
Peering
o InterconexinprivadaentredosASN
o Generalmentenousacuota
SergioGlvezMorales2013
Peering enunInternetExchangePoint(IXP)
InternetExchangePoint(IXP)
UbicacincomndeinterconexindondevariosASNintercambian
informacindeenrutamientoyeltrfico
SergioGlvezMorales2013
RecomendacionesyBuenasPrcticas
Sloanunciarsusagregadosysusclientes
agregadosalIXP
Aceptesolamentelosagregadosqueelpartiene
derechoaproceder
Nuncacargueunarutapredeterminadaenun
IXP(oprivado)mirandohaciaelenrutador
Nohacerlodalugarasecuestrosderutayfugas
SergioGlvezMorales2013
Route Hijacking
Estoocurrecuandounparticipanteanunciaunarutaen
Internetconunprefijoparaelquenotieneautoridad
Malintencionadosodeerroresoperacionales
Loscasosmsconocidos:
o
o
o
o
PakistnTelecomvsYouTube(2008)
ChinaTelecom(2010)
GoogleenEuropadelEste(variosAS,2010)
CasosIberoamericanos(inicio2011)
SergioGlvezMorales2013
SergioGlvezMorales2013
Fugas
Noexisteunadefinicinestndardefugas
SucedecuandounASNse"fuga"pornoclienteso
porcuentapropiaoriginandorutasaotros
compaeros.
Losefectosesdarpasoalasredesdelosparesdel
ASN
SergioGlvezMorales2013
Topologasimple
EstruturaCapa2
RelacionesN^NBGP
SergioGlvezMorales2013
Ruta servidor
PermiteescalarlamallaBGP
Todoslosprefijosenviadosaunservidordelaruta
sesuelendistribuiratodoslosASNs queasoman
conelServidordeRuta
ConfiguracindeBGPparamirarconunservidor
derutaeselmismoqueparacualquierotropar
ordinaria
Noseolvidedelosfiltrosdeentradaysalida
SergioGlvezMorales2013
TopologaRuta servidor
SergioGlvezMorales2013
SERGIOGLVEZMORALES
SergioGlvezMorales
sgalvez2005@gmail.com
SERGIOGLVEZMORALES