Comitê Gestor da Internet no Brasil English
CGI.br Registro CERT.br
   
 

Serviço de Route-Server do IX.br

 

 

Introdução

 

Os Internet Exchanges, como os PTTs do IX.br, disponibilizam a infraestrutura para permitir a troca de tráfego IP entre seus participantes, normalmente usando uma rede compartilhada de camada 2, como a Ethernet. O Border Gateway Protocol (BGP) é usado para permitir a troca de informações sobre os endereços presentes em cada rede, nessa infraestrutura.

Historicamente, os participantes dos PTTs fechavam sessões BGP bilaterais entre si, para atualizar suas tabelas de rotas. Contudo, para PTTs com muitos participantes, essa abordagem gera um trabalho operacional enorme.

Os servidores de rotas permitem a implantação facilitada, do ponto de vista técnico, do acordo de troca de tráfego multilateral (ATM), onde cada participante concorda em trocar tráfego com os demais. Normalmente as redes conectadas a um Internet Exchange querem trocar a maior quantidade de tráfego possível entre si. Participar do ATM e fechar sessões BGP com os servidores de rotas é a maneira mais simples de se obter esse resultado.

Um servidor de rotas tem a função de um broker, um intermediário, facilitador ou concentrador. Cada participante do acordo multilateral fecha uma sessão com o servidor de rotas. Os prefixos recebidos de cada um serão repassados aos demais, com exceção do próprio participante que originou o anúncio, mas sem acrescentar o ASN do servidor de rotas, e sem modificar o atributo next_hop.

Os servidores de rotas do IX.br em São Paulo e do Rio de Janeiro possibilitam a filtragem com base em comunidades BGP predefinidas, para que assim todas as políticas e regras de peering sejam garantidas e personalizas, flexibilizando o controle para cada participante conectado.


Os servidores de rotas são transparentes

Para que a plataforma seja neutra e que não haja interferência no encaminhamento do tráfego os servidores de rotas não acrescentam seu próprio AS ao AS-Path, nem alteram o NEXT HOP. Dessa forma, cada participante recebe as rotas dos demais participantes praticamente da mesma forma que receberia se houvesse sessões BGP bilaterais estabelecidas.

Communities enviadas nos anúncios, bem como o atributo MED também são preservados e reenviados pelos servidores de rota, tais quais recebidos de cada participante.


Os servidores de rotas tornam sua vida mais fácil!

O uso dos servidores de rotas permite simplificar as configurações BGP necessárias para trocar tráfego com múltiplas outras redes. Devido a grande quantidade de sistemas autônomos conectados à plataforma do IX.br, sem o uso dos servidores de rotas, manter múltiplas sessões BGP poderia se tornar uma tarefa incessante, com potencial de onerar boa parte da sua equipe.

O servidor de rotas simplifica essa tarefa. Com apenas um conjunto de sessões BGP é possível conectar-se com todas as demais redes que também fazem parte do acordo de troca de tráfego multilateral. Quando um novo ISP conecta-se ao IX.br e ao servidor de rotas, a troca de tráfego é iniciada automaticamente (a menos que você explicitamente crie filtros para evitar isso).


Utilizando os servidores de rotas, você precisa gerenciar apenas o que for mais importante!

Você provavelmente quer trocar a maior quantidade de tráfego possível no IX.br. Contudo, estabelecer um acordo de peering bilateral pode ser demorado. Feche exclusivamente acordos bilaterais extremamente importantes, ou com redes que não façam parte do acordo multilateral. Utilizando os servidores de rotas automaticamente você recebe as rotas da vasta maioria das redes conectadas ao PTT.


Troque tráfego imediatamente ao se conectar ao IX.br

Ao conectar-se aos servidores de rotas você começa a trocar rotas imediatamente. Esse é o melhor caminho para começar a trocar tráfego em um PTT.


Alta disponibilidade

Os servidores de rotas provêm de uma plataforma extremamente estável e distribuída que conta com alta disponibilidade e resiliência. Os nossos servidores de rotas são multivendor, redundantes e distribuídos.


Gerencie sua política de peering

Os servidores de rotas implementam filtros definidos pelos participantes por meio de communities, ou manualmente, garantindo que as políticas de peering sejam preservadas.


Detalhes sobre os servidores de rotas

Atualmente há 4 servidores de rotas no IX.br em São Paulo, SP:

Hostname

ASN

IPv4

IPv6

rs1.saopaulo.sp.ix.br

26162

187.16.216.253/21

2001:12f8::253/64

rs2.saopaulo.sp.ix.br

26162

187.16.216.254/21

2001:12f8::254/64

rs3.saopaulo.sp.ix.br

26162

187.16.223.253/21

2001:12f8::223:253/64

rs4.saopaulo.sp.ix.br

26162

187.16.224.254/21

2001:12f8::223:254/64


Atualmente há 4 servidores de rotas no IX.br no Rio de Janeiro, RJ:

Hostname

ASN

IPv4

IPv6

rs1.riodejaneiro.rj.ix.br

26162

45.6.52.253/22

2001:12f8:0:2::52:253/64

rs2.riodejaneiro.rj.ix.br

26162

45.6.52.254/22

2001:12f8:0:2::52:254/64

rs3.riodejaneiro.rj.ix.br

26162

45.6.55.253/22

2001:12f8:0:2::55:253/64

rs4.riodejaneiro.rj.ix.br

26162

45.6.55.254/22

2001:12f8:0:2::55:254/64


É mandatório e muito importante que todos os roteadores dos participantes tenham sessões estabelecidas com todos os servidores de rotas. Os anúncios também devem ser idênticos para cada uma das sessões, ou seja, a mesma quantidade de anúncios, com os mesmos prefixos, communities e capabilities. Só assim o participante fará pleno uso da redundância e resiliência providas pelos servidores de rotas.

Os servidores de rotas do IX.br operam normalmente em modo passivo, ou seja, normalmente não iniciamos o estabelecimento de sessão BGP, estamos sempre no aguardo de uma provocação. Cada participante deve garantir que seu equipamento é capaz de conectar-se a porta TCP 179 dos servidores de rotas, e que suas regras de filtragem de entrada de pacotes (ACL de entrada) permitam o estabelecimento das sessões BGP.

Filtros nos servidores de rotas

 

Filtros de entrada e proteções

Os servidores de rotas do IX.br implementam alguns filtros de entrada, com a finalidade principal de proteger a si mesmos e aos demais participantes, em caso de anúncios indevidos:

  • são bloqueados os prefixos bogons, com base na lista de alocação de blocos da IANA;

  • são bloqueadas as rotas default;

  • são bloqueados os próprios blocos do IX.br;

  • são descartados os prefixos mais curtos que /8 e mais longos que /24 em IPv4; e

  • são descartados os prefixos mais curtos que /12 e mais longos que /48 em IPv6.

Além disso, existe um número máximo de prefixos que pode ser anunciado por sessão, por padrão esse número é de 100 prefixos. No caso desse valor ser ultrapassado, a sessão é derrubada.

Os filtros de entrada são aplicados automaticamente e os participantes não têm gerência sobre os mesmos, com exceção do número máximo de prefixos. Uma alteração no número máximo de prefixos anúnciados aceito pode ser solicitada via chamado no portal http://meu.ix.br.


Filtragem de prefixos na saída

Os servidores de rota IX.br implementam os filtros de saída:

  • com base em communities que podem ser utilizadas pelos participantes para marcar os prefixos anunciados e especificar o comportamento desejado do filtro, funcionalidade que está disponível apenas no IX.br em São Paulo, SP e no Rio de Janeiro, RJ; ou

  • com base em solicitações feitas pelo portal http://meu.ix.br, para filtros bilaterais entre dois ASs específicos, funcionalidade disponível em todas as localidades do IX.br, com exceção de São Paulo, SP e Rio de Janeiro, RJ.


Communities disponíveis no IX.br em São Paulo, SP e no Rio de Janeiro, RJ


Comunidades de Filtragem

Com as comunidades abaixo oferecemos ao participante a capacidade de determinar qual ASN que recebe os anúncios.



Para os ASN de 16bits


(Standard Communities)

Para os ASN de 32bits


(Extended Communities)
Não anunciar a rota para o ASN 65000:peer-as RT:65000:peer-as ou
RO:65000:peer-as
Anunciar exclusivamente para o ASN 65001:peer-as RT:65001:peer-as ou
RO:65001:peer-as


Comunidades para Influenciar o Tráfego

Com as comunidades abaixo oferecemos ao participante a capacidade de criar heurísticas de engenharia de tráfego.

 

Para os ASN de 16bits

(Standard Communities)

Para os ASN de 32bits

(Extended Communities)
Adicionar um prepend no AS-Path 64601:peer-as RT:64601:peer-as ou
RO:64601:peer-as
Adicionar dois prepend no AS-Path 64602:peer-as RT:64602:peer-as ou
RO:64602:peer-as
Adicionar três prepend no AS-Path 64603:peer-as RT:64603:peer-as ou
RO:64603:peer-as

 

Comunidades informativas – Marcadas pelo Route Server

O IX.br adiciona comunidades para identificar qual o ASN que foi o propagador das rotas e em qual local esta rota está sendo recebida e propagada.

 

Para os ASN de 16bits


(Standard Communities)

Para os ASN de 32bits


(Extended Communities)
Identificador de ASN 26162:peer-as RT:26162:peer-as
Identificador de Localidade 26162:65XXX RT:26162:65XXX


Todas as localizações irão utilizar o código do identificador de região de acordo com a tabela:



PTT (Localidade)

Codigo (XXX)

Belém, PA 091
Belo Horizonte, MG 031
Brasília, DF 061
Campina Grande, PB 083
Campinas, SP 019
Cuiabá, MT 065
Caxias do Sul, RS 054
Curitiba, PR 041
Florianópolis, SC 048
Fortaleza, CE 085
Foz do Iguaçu, PR 045
Goiânia, GO 062
Lajeado, RS 051
Londrina, PR 043
Manaus, AM 092
Maringá, PR 044
Natal, RN 084
Porto Alegre, RS 051
Recife, PE 081
Rio de Janeiro, RJ 021
Salvador, BA 071
São Carlos, SP 016
S. J. dos Campos, SP 012
S. J. Rio Preto, SP 017
São Paulo, SP 011
Vitória, ES 027


Quantidade Máxima de Prefixos


Os servidores de rota do IX.br em São Paulo, SP, em fevereiro de 2017, têm em sua tabela cerca de 120 mil prefixos IPv4 e 19 mil prefixos IPv6. Há previsão de crescimento, portanto é aconselhável que os participantes liberem em seus filtros pelo menos 150 mil prefixo para IPv4 e 25 mil prefixos para IPv6.

Recomendamos usar o looking glass do IX.br telnet://lg.saopaulo.sp.ix.br para obter informações mais atualizadas sobre a quantidade de prefixos anunciados, caso o parágrafo anterior não tenha sido atualizado com a frequência devida.


Exemplos de configuração


Nos exemplos a seguir considera-se que sua rede está originando os anúncios dos prefixos: 2001:db8:10::/48, 2001:db8:20::/48, 2001:db8:30::/48, 192.0.2.0/24, 198.51.100.0/24 e 203.0.113.0/24.


Cisco Router with IOS-XE

router bgp your-asn
bgp always-compare-med
no bgp enforce-first-as
bgp log-neighbor-changes
!
neighbor IX_br-IPv4 peer-group
neighbor IX_br-IPv4 remote-as 26162
neighbor IX_br-IPv4 version 4
neighbor IX_br-IPv4 transport connection-mode active
!
neighbor IX_br-IPv6 peer-group
neighbor IX_br-IPv6 remote-as 26162
neighbor IX_br-IPv6 version 4
neighbor IX_br-IPv6 transport connection-mode active
!
neighbor 187.16.216.253 peer-group IX_br-IPv4
neighbor 187.16.216.253 description rs1.saopaulo.sp.ix.br
neighbor 187.16.216.254 peer-group IX_br-IPv4
neighbor 187.16.216.254 description rs2.saopaulo.sp.ix.br
neighbor 187.16.223.253 peer-group IX_3r-IPv4
neighbor 187.16.223.253 description rs3.saopaulo.sp.ix.br
neighbor 187.16.223.254 peer-group IX_br-IPv4
neighbor 187.16.223.254 description rs4.saopaulo.sp.ix.br
!
neighbor 2001:12f8::253 peer-group IX_br-IPv6
neighbor 2001:12f8::253 description rs1.saopaulo.sp.ix.br
neighbor 2001:12f8::254 peer-group IX_br-IPv6
neighbor 2001:12f8::254 description rs2.saopaulo.sp.ix.br
neighbor 2001:12f8::223:253 peer-group IX_br-IPv6
neighbor 2001:12f8::223:253 description rs3.saopaulo.sp.ix.br
neighbor 2001:12f8::223:254 peer-group IX_br-IPv6
neighbor 2001:12f8::223:254 description rs4.saopaulo.sp.ix.br
! 
address-family ipv4
no neighbor IX_br-IPv6 activate
neighbor IX_br-IPv4 activate
neighbor IX_br-IPv4 next-hop-self
neighbor IX_br-IPv4 soft-reconfiguration inbound
neighbor IX_br-IPv4 route-map BGPv4_IX.br_OUT out
no auto-summary
no synchronization
neighbor 187.16.216.253 peer-group IX_br-IPv4
neighbor 187.16.216.254 peer-group IX_br-IPv4
neighbor 187.16.223.253 peer-group IX_br-IPv4
neighbor 187.16.223.254 peer-group IX_br-IPv4
network 192.0.2.0 mask 255.255.255.0
network 198.51.100.0 mask 255.255.255.0
network 203.0.113.0 mask 255.255.255.0
exit-address-family
!
address-family ipv6
neighbor IX_br-IPv6 activate
neighbor IX_br-IPv6 next-hop-self
neighbor IX_br-IPv6 soft-reconfiguration inbound
neighbor IX_br-IPv6 route-map BGPv6_IX.br_OUT out
neighbor 2001:12f8::253 peer-group IX_br-IPv6
neighbor 2001:12f8::254 peer-group IX_br-IPv6
neighbor 2001:12f8::223:253 peer-group IX_br-IPv6
neighbor 2001:12f8::223:254 peer-group IX_br-IPv6
network 2001:DB8:10::/48
network 2001:DB8:11::/48
network 2001:DB8:12::/48
exit-address-family
!
exit
!
ip prefix-list BGPv4_IX.br_OUT seq 10 permit 192.0.2.0/24
ip prefix-list BGPv4_IX.br_OUT seq 20 permit 198.51.100.0/24
ip prefix-list BGPv4_IX.br_OUT seq 30 permit 203.0.113.0/24
!
ipv6 prefix-list BGPv6_IX.br_OUT seq 10 permit 2001:DB8:10::/48
ipv6 prefix-list BGPv6_IX.br_OUT seq 20 permit 2001:DB8:11::/48
ipv6 prefix-list BGPv6_IX.br_OUT seq 30 permit 2001:DB8:12::/48
!
route-map BGPv4_IX.br_OUT permit 10
match ip address prefix-list BGPv4_IX.br_OUT
!
route-map BGPv6_IX.br_OUT permit 10
match ip address prefix-list BGPv6_IX.br_OUT
!

 

Cisco Router with IOS-XR

prefix-set announce_IPv4
 192.0.2.0/24
 198.51.100.0/24
 203.0.113.0/24
end-set
!
prefix-set announce_IPv6
 2001:db8:10::/48
 2001:db8:11::/48
 2001:db8:12::/48
end-set
!
route-policy BGPv4_IX.br_OUT
 if destination in announce_IPv4 then
  pass
 else 
  drop
 endif 
end-policy
! 
route-policy BGPv6_IX.br_OUT
 if destination in announce_IPv6 then
  pass
 else 
  drop
 endif 
end-policy
! 
router bgp 11752
 bgp router-id 1.1.1.1
 address-family ipv4 unicast
  redistribute static route-policy BGPv4_IX.br_OUT
 ! 
 address-family ipv6 unicast
  redistribute static route-policy BGPv6_IX.br_OUT
 ! 
 neighbor-group IX.br-IPv4
  remote-as 26162
  enforce-first-as disable
  address-family ipv4 unicast
  route-policy BGPv4_IX.br_OUT out
  soft-reconfiguration inbound always
 ! 
 neighbor-group IX.br-IPv6
  remote-as 26162
  enforce-first-as disable
  address-family ipv6 unicast
  route-policy BGPv6_IX.br_OUT out
  soft-reconfiguration inbound always
 ! 
 neighbor 187.16.216.253
  remote-as 26162
  use neighbor-group IX.br-IPv4
  address-family ipv4 unicast
 ! 
 neighbor 187.16.216.254
  remote-as 26162
  use neighbor-group IX.br-IPv4
  address-family ipv4 unicast
 ! 
 neighbor 187.16.223.253
  remote-as 26162
  use neighbor-group IX.br-IPv4
  address-family ipv4 unicast
 ! 
 neighbor 187.16.223.254
  remote-as 26162
  use neighbor-group IX.br-IPv4
  address-family ipv4 unicast
 ! 
 neighbor 2001:12f8::253
  remote-as 26162
  use neighbor-group IX.br-IPv6
  address-family ipv6 unicast
 ! 
 neighbor 2001:12f8::254
  remote-as 26162
  use neighbor-group IX.br-IPv6
  address-family ipv6 unicast
 ! 
 neighbor 2001:12f8::223:253
  remote-as 26162
  use neighbor-group IX.br-IPv6
  address-family ipv6 unicast
 ! 
 neighbor 2001:12f8::223:254
  remote-as 26162
  use neighbor-group IX.br-IPv6
  address-family ipv6 unicast
 !
!
end

 

Juniper Router

[edit]
ISP@juniper# show protocols bgp group IX.br-SP-v4
type external;
local-address <ISP_IX.br_IPv4_Address>;
export BGPv4_IX.br_OUT;
peer-as 26162;
local-as <ISP_ASN>;
neighbor 187.16.216.253 {
     description rs1.saopaulo.sp.ix.br;
}
neighbor 187.16.216.254 {
     description rs2.saopaulo.sp.ix.br;
}
neighbor 187.16.223.253 {
     description rs3.saopaulo.sp.ix.br;
}
neighbor 187.16.223.254 {
     description rs4.saopaulo.sp.ix.br;
}

[edit]
ISP@juniper# show protocols bgp group IX.br-SP-v6
type external;
local-address <ISP_IX.br_IPv6_Address>;
export BGPv6_IX.br_OUT;
peer-as 26162;
local-as <ISP_ASN>;
neighbor 2001:12f8::253 {
     description rs1.saopaulo.sp.ix.br;
}
neighbor 2001:12f8::254 {
     description rs2.saopaulo.sp.ix.br;
}
neighbor 2001:12f8::223:253 {
     description rs3.saopaulo.sp.ix.br;
}
neighbor 2001:12f8::223:254 {
     description rs4.saopaulo.sp.ix.br;
}

[edit]
ISP@juniper# show policy-options policy-statement BGPv4_IX.br_OUT
term 1 {
    from {
        rib inet.0;
        prefix-list announce_IPv4;
    }
    then accept;
}
term 2 {
    then reject;
}
[edit]
ISP@juniper# show policy-options policy-statement BGPv6_IX.br_OUT
term 1 {
    from {
        rib inet6.0;
        prefix-list announce_IPv6;
    }
    then accept;
    
}
term 2 {
    then reject;
}

[edit]
ISP@juniper# show policy-options prefix-list announce_IPv4
192.0.2.0/24;
198.51.100.0/24;
203.0.113.0/24;

[edit]
ISP@juniper# show policy-options prefix-list announce_IPv6
2001:db8:10::/48;
2001:db8:11::/48;
2001:db8:12::/48;

 

Mikrotik Router/Router OS

/routing bgp instance
set default as=<YOUR ASN> router-id=<IP_FOR_ROUTER_ID>
/ip settings
set max-arp-entries=65535
/ipv6 settings
set max-neighbor-entries=8192
/routing bgp network
add network=192.0.2.0/24 synchronize=no
add network=198.51.100.0/24 synchronize=no
add network=203.0.113.0/24 synchronize=no
add network=2001:db8:10::/48 synchronize=no
add network=2001:db8:11::/48 synchronize=no
add network=2001:db8:12::/48 synchronize=no
/routing bgp peer
add disabled=no hold-time=3s in-filter=IPv4-Filter-IN keepalive-time=1s name=rs3.saopaulo.sp.ix.br \
 out-filter=Anuncios_IPv4 remote-address=187.16.223.253 remote-as=26162
add disabled=no hold-time=3s in-filter=IPv4-Filter-IN keepalive-time=1s name=rs4.saopaulo.sp.ix.br \
 out-filter=Anuncios_IPv4 remote-address=187.16.223.254 remote-as=26162
add disabled=no hold-time=3s in-filter=IPv4-Filter-IN keepalive-time=1s name=rs1.saopaulo.sp.ix.br \
 out-filter=Anuncios_IPv4 remote-address=187.16.216.253 remote-as=26162
add disabled=no hold-time=3s in-filter=IPv4-Filter-IN keepalive-time=1s name=rs2.saopaulo.sp.ix.br \
 out-filter=Anuncios_IPv4 remote-address=187.16.216.254 remote-as=26162
add address-families=ipv6 disabled=yes hold-time=3s in-filter=IPv6-Filter-IN keepalive-time=1s \ 
 name=rs1.saopaulo.sp.ix.br out-filter=Anuncios_IPv6 remote-address=2001:12f8::253 \
 remote-as=26162
add address-families=ipv6 disabled=yes hold-time=3s in-filter=IPv6-Filter-IN keepalive-time=1s \ 
 name=rs2.saopaulo.sp.ix.br out-filter=Anuncios_IPv6 remote-address=2001:12f8::254 \ 
 remote-as=26162
add address-families=ipv6 disabled=yes hold-time=3s in-filter=IPv6-Filter-IN keepalive-time=1s \
 name=rs4.saopaulo.sp.ix.br out-filter=Anuncios_IPv6 remote-address=2001:12f8::223:254 \
 remote-as=26162
add address-families=ipv6 disabled=yes hold-time=3s in-filter=IPv6-Filter-IN keepalive-time=1s \
 name=rs3.saopaulo.sp.ix.br out-filter=Anuncios_IPv6 remote-address=2001:12f8::223:253 \
 remote-as=26162
/routing filter
add action=discard chain=Anuncios_IPv4 prefix=!192.0.2.0/24 
add action=discard chain=Anuncios_IPv4 prefix=!198.51.100.0/24
add action=discard chain=Anuncios_IPv4 prefix=!203.0.113.0/24
add action=discard chain=Anuncios_IPv6 prefix=!2001:db8:10::/48 
add action=discard chain=Anuncios_IPv6 prefix=!2001:db8:11::/48 
add action=discard chain=Anuncios_IPv6 prefix=!2001:db8:12::/48 
add action=discard chain=IPv4-Filter-IN prefix=0.0.0.0/0
add action=discard chain=IPv4-Filter-IN prefix=0.0.0.0/8 prefix-length=8-32
add action=discard chain=IPv4-Filter-IN prefix=10.0.0.0/8 prefix-length=8-32
add action=discard chain=IPv4-Filter-IN prefix=100.64.0.0/10 prefix-length=10-32
add action=discard chain=IPv4-Filter-IN prefix=127.0.0.0/8 prefix-length=8-32
add action=discard chain=IPv4-Filter-IN prefix=169.254.0.0/16 prefix-length=16-32
add action=discard chain=IPv4-Filter-IN prefix=172.16.0.0/12 prefix-length=12-32
add action=discard chain=IPv4-Filter-IN prefix=192.0.0.0/24 prefix-length=24-32
add action=discard chain=IPv4-Filter-IN prefix=192.0.2.0/24 prefix-length=24-32
add action=discard chain=IPv4-Filter-IN prefix=192.88.99.0/24 prefix-length=24-32
add action=discard chain=IPv4-Filter-IN prefix=192.168.0.0/16 prefix-length=16-32
add action=discard chain=IPv4-Filter-IN prefix=198.18.0.0/15 prefix-length=15-32
add action=discard chain=IPv4-Filter-IN prefix=198.51.100.0/24 prefix-length=24-32
add action=discard chain=IPv4-Filter-IN prefix=203.0.113.0/24 prefix-length=24-32
add action=discard chain=IPv4-Filter-IN prefix=224.0.0.0/4 prefix-length=4-32
add action=discard chain=IPv4-Filter-IN prefix=240.0.0.0/4 prefix-length=4-32
add action=discard chain=IPv4-Filter-IN prefix=187.16.192.0/19 prefix-length=19-32
add action=discard chain=IPv4-Filter-IN prefix=200.192.108.0/22 prefix-length=22-32
add action=discard chain=IPv4-Filter-IN prefix=200.219.138.0/23 prefix-length=23-32
add action=discard chain=IPv4-Filter-IN prefix=200.219.140.0/23 prefix-length=23-32
add action=discard chain=IPv4-Filter-IN prefix=200.219.143.0/24 prefix-length=24-32
add action=discard chain=IPv4-Filter-IN prefix=200.219.144.0/22 prefix-length=22-32
add action=discard chain=IPv4-Filter-IN prefix=200.194.147.0/24 prefix-length=24-32
add action=discard chain=IPv6-Filter-IN prefix=2801:80:2f::/48 prefix-length=48-128
add action=discard chain=IPv6-Filter-IN prefix=2001:12f8::/48 prefix-length=48-128
add action=discard chain=IPv6-Filter-IN prefix=2001:db8::/32 prefix-length=32-128
add action=accept chain=IPv6-Filter-IN prefix=2001:200::/23 prefix-length=23-128
add action=accept chain=IPv6-Filter-IN prefix=2001:400::/22 prefix-length=22-128
add action=accept chain=IPv6-Filter-IN prefix=2001:800::/22 prefix-length=22-128
add action=accept chain=IPv6-Filter-IN prefix=2001:c00::/22 prefix-length=22-128
add action=accept chain=IPv6-Filter-IN prefix=2001:1200::/23 prefix-length=23-128
add action=accept chain=IPv6-Filter-IN prefix=2001:1400::/22 prefix-length=22-128
add action=accept chain=IPv6-Filter-IN prefix=2001:1800::/22 prefix-length=22-128
add action=accept chain=IPv6-Filter-IN prefix=2001:1c00::/22 prefix-length=22-128
add action=accept chain=IPv6-Filter-IN prefix=2001:2000::/20 prefix-length=20-128
add action=accept chain=IPv6-Filter-IN prefix=2001:3000::/21 prefix-length=21-128
add action=accept chain=IPv6-Filter-IN prefix=2001:3800::/22 prefix-length=22-128
add action=accept chain=IPv6-Filter-IN prefix=2001:4000::/21 prefix-length=21-128
add action=accept chain=IPv6-Filter-IN prefix=2001:4800::/22 prefix-length=22-128
add action=accept chain=IPv6-Filter-IN prefix=2001:4c00::/23 prefix-length=23-128
add action=accept chain=IPv6-Filter-IN prefix=2001:5000::/20 prefix-length=20-128
add action=accept chain=IPv6-Filter-IN prefix=2001:8000::/18 prefix-length=18-128
add action=accept chain=IPv6-Filter-IN prefix=2003::/18 prefix-length=18-128
add action=accept chain=IPv6-Filter-IN prefix=2400::/12 prefix-length=12-128
add action=accept chain=IPv6-Filter-IN prefix=2600::/12 prefix-length=12-128
add action=accept chain=IPv6-Filter-IN prefix=2610::/23 prefix-length=23-128
add action=accept chain=IPv6-Filter-IN prefix=2620::/23 prefix-length=23-128
add action=accept chain=IPv6-Filter-IN prefix=2800::/12 prefix-length=12-128
add action=accept chain=IPv6-Filter-IN prefix=2a00::/12 prefix-length=12-128
add action=accept chain=IPv6-Filter-IN prefix=2c00::/12 prefix-length=12-128

 

Exemplos de configuração de filtro bidirecional


Nos exemplos a seguir consideramos os ASs: 64496 (16 bits) e 65536 (32 bits) para apresentar um filtro bidirecional. Note que preservamos os dados do exemplo anterior.


Cisco Router with IOS-XE

ip as-path access-list 32 permit .*
ip community-list expanded as64496 permit 26162:64496
ip extcommunity-list expanded as65536 permit 26162:65536
!
route-map BGPv4_IX.br_IN deny 10
 match community as64496
 match extcommunity as65536
!
route-map BGPv4_IX.br_IN permit 20
 match as-path 32
!
route-map BGPv6_IX.br_IN deny 10
 match community as64496
 match extcommunity as65536
!
route-map BGPv6_IX.br_IN permit 20
 match as-path 32
!
route-map BGPv4_IX.br_OUT permit 10
 match ip address prefix-list BGPv4_IX.br_OUT
 set community 65000:64496 additive
 set extcommunity rt 65000:65536 
!
route-map BGPv6_IX.br_OUT permit 10
 match ip address prefix-list BGPv6_IX.br_OUT
 set community 65000:64496 additive
 set extcommunity rt 65000:65536 
!

 

Cisco Router with IOS-XR

route-policy BGPv4_IX.br_IN
 if community matches-any (26162:64496) then
  drop
 elseif extcommunity rt matches-any (26162:65536) then
  drop
 else
  pass
 endif
end-policy
! 
route-policy BGPv6_IX.br_IN
 if community matches-any (26162:64496) then
  drop
 elseif extcommunity rt matches-any (26162:65536) then
  drop
 else
  pass
 endif
end-policy
! 
route-policy BGPv4_IX.br_OUT
 if destination in announce_IPv4 then
  set community (65000:64496) additive
  set extcommunity rt (65000:65536) additive
 else 
  drop
 endif 
end-policy
! 
route-policy BGPv6_IX.br_OUT
 if destination in announce_IPv6 then
  set community (65000:64496) additive
  set extcommunity rt (65000:65536) additive
 else 
  drop
 endif 
end-policy
!

 

Juniper Router

[edit]
ISP@juniper# show policy-options | match community | match members
community as64496 members 65000:64496;
community as65536 members target:65000:65536;
community as64496_ixbr members 26162:64496;
community as65536_ixbr members target:26162:65536;

[edit]
ISP@juniper# show policy-options policy-statement BGPv4_IX.br_IN
term 1 {
    from community [ as64496_ixbr as65536_ixbr ];
    then reject;
}
term 2 {
    then accept;
}

[edit]
ISP@juniper# show policy-options policy-statement BGPv6_IX.br_IN
term 1 {
    from community [ as64496_ixbr as65536_ixbr ];
    then reject;
}
term 2 {
    then accept;
}

[edit]
ISP@juniper# show policy-options policy-statement BGPv4_IX.br_OUT
term 1 {
    from {
        rib inet.0;
        prefix-list announce_IPv4;
    }
    then {
    community add as64496;
    community add as65536;
    accept;
    }
}
term 2 {
    then reject;
}
[edit]
ISP@juniper# show policy-options policy-statement BGPv6_IX.br_OUT
term 1 {
    from {
        rib inet6.0;
        prefix-list announce_IPv6;
    }
    then {
    community add as64496;
    community add as65536;
    accept;
    }
}
term 2 {
    then reject;
}

 

Mikrotik Router/Router OS

/routing filter
add action=discard chain=Anuncios_IPv4 append-bgp-communities=65000:64496 \ 
 append-route-targets=65000:65536 prefix=!192.0.2.0/24 
add action=discard chain=Anuncios_IPv4 append-bgp-communities=65000:64496 \ 
 append-route-targets=65000:65536 prefix=!198.51.100.0/24
add action=discard chain=Anuncios_IPv4 append-bgp-communities=65000:64496 \ 
 append-route-targets=65000:65536 prefix=!203.0.113.0/24
add action=discard chain=Anuncios_IPv6 append-bgp-communities=65000:64496 \ 
 append-route-targets=65000:65536 prefix=!2001:db8:10::/48 
add action=discard chain=Anuncios_IPv6 append-bgp-communities=65000:64496 \ 
 append-route-targets=65000:65536 prefix=!2001:db8:11::/48 
add action=discard chain=Anuncios_IPv6 append-bgp-communities=65000:64496 \ 
 append-route-targets=65000:65536 prefix=!2001:db8:12::/48 
add action=discard chain=IPv4-Filter-IN protocol=bgp bgp-communities=26162:64496 \ 
 route-targets=26162:65536
add action=discard chain=IPv4-Filter-IN prefix=0.0.0.0/0
add action=discard chain=IPv4-Filter-IN prefix=0.0.0.0/8 prefix-length=8-32
add action=discard chain=IPv4-Filter-IN prefix=10.0.0.0/8 prefix-length=8-32
add action=discard chain=IPv4-Filter-IN prefix=100.64.0.0/10 prefix-length=10-32
add action=discard chain=IPv4-Filter-IN prefix=127.0.0.0/8 prefix-length=8-32
add action=discard chain=IPv4-Filter-IN prefix=169.254.0.0/16 prefix-length=16-32
add action=discard chain=IPv4-Filter-IN prefix=172.16.0.0/12 prefix-length=12-32
add action=discard chain=IPv4-Filter-IN prefix=192.0.0.0/24 prefix-length=24-32
add action=discard chain=IPv4-Filter-IN prefix=192.0.2.0/24 prefix-length=24-32
add action=discard chain=IPv4-Filter-IN prefix=192.88.99.0/24 prefix-length=24-32
add action=discard chain=IPv4-Filter-IN prefix=192.168.0.0/16 prefix-length=16-32
add action=discard chain=IPv4-Filter-IN prefix=198.18.0.0/15 prefix-length=15-32
add action=discard chain=IPv4-Filter-IN prefix=198.51.100.0/24 prefix-length=24-32
add action=discard chain=IPv4-Filter-IN prefix=203.0.113.0/24 prefix-length=24-32
add action=discard chain=IPv4-Filter-IN prefix=224.0.0.0/4 prefix-length=4-32
add action=discard chain=IPv4-Filter-IN prefix=240.0.0.0/4 prefix-length=4-32
add action=discard chain=IPv4-Filter-IN prefix=187.16.192.0/19 prefix-length=19-32
add action=discard chain=IPv4-Filter-IN prefix=200.192.108.0/22 prefix-length=22-32
add action=discard chain=IPv4-Filter-IN prefix=200.219.138.0/23 prefix-length=23-32
add action=discard chain=IPv4-Filter-IN prefix=200.219.140.0/23 prefix-length=23-32
add action=discard chain=IPv4-Filter-IN prefix=200.219.143.0/24 prefix-length=24-32
add action=discard chain=IPv4-Filter-IN prefix=200.219.144.0/22 prefix-length=22-32
add action=discard chain=IPv4-Filter-IN prefix=200.194.147.0/24 prefix-length=24-32
add action=discard chain=IPv6-Filter-IN prefix=2801:80:2f::/48 prefix-length=48-128
add action=discard chain=IPv6-Filter-IN prefix=2001:12f8::/48 prefix-length=48-128
add action=discard chain=IPv6-Filter-IN prefix=2001:db8::/32 prefix-length=32-128
add action=discard chain=IPv6-Filter-IN protocol=bgp bgp-communities=26162:64496 \ 
 route-targets=26162:65536
add action=accept chain=IPv6-Filter-IN prefix=2001:200::/23 prefix-length=23-128
add action=accept chain=IPv6-Filter-IN prefix=2001:400::/22 prefix-length=22-128
add action=accept chain=IPv6-Filter-IN prefix=2001:800::/22 prefix-length=22-128
add action=accept chain=IPv6-Filter-IN prefix=2001:c00::/22 prefix-length=22-128
add action=accept chain=IPv6-Filter-IN prefix=2001:1200::/23 prefix-length=23-128
add action=accept chain=IPv6-Filter-IN prefix=2001:1400::/22 prefix-length=22-128
add action=accept chain=IPv6-Filter-IN prefix=2001:1800::/22 prefix-length=22-128
add action=accept chain=IPv6-Filter-IN prefix=2001:1c00::/22 prefix-length=22-128
add action=accept chain=IPv6-Filter-IN prefix=2001:2000::/20 prefix-length=20-128
add action=accept chain=IPv6-Filter-IN prefix=2001:3000::/21 prefix-length=21-128
add action=accept chain=IPv6-Filter-IN prefix=2001:3800::/22 prefix-length=22-128
add action=accept chain=IPv6-Filter-IN prefix=2001:4000::/21 prefix-length=21-128
add action=accept chain=IPv6-Filter-IN prefix=2001:4800::/22 prefix-length=22-128
add action=accept chain=IPv6-Filter-IN prefix=2001:4c00::/23 prefix-length=23-128
add action=accept chain=IPv6-Filter-IN prefix=2001:5000::/20 prefix-length=20-128
add action=accept chain=IPv6-Filter-IN prefix=2001:8000::/18 prefix-length=18-128
add action=accept chain=IPv6-Filter-IN prefix=2003::/18 prefix-length=18-128
add action=accept chain=IPv6-Filter-IN prefix=2400::/12 prefix-length=12-128
add action=accept chain=IPv6-Filter-IN prefix=2600::/12 prefix-length=12-128
add action=accept chain=IPv6-Filter-IN prefix=2610::/23 prefix-length=23-128
add action=accept chain=IPv6-Filter-IN prefix=2620::/23 prefix-length=23-128
add action=accept chain=IPv6-Filter-IN prefix=2800::/12 prefix-length=12-128
add action=accept chain=IPv6-Filter-IN prefix=2a00::/12 prefix-length=12-128
add action=accept chain=IPv6-Filter-IN prefix=2c00::/12 prefix-length=12-128