É possível utilizar expressões regulares no comando ip as-path access-list com o protocolo de gateway de bordos (BGP). Este documento descreve os cenários de uso de expressões regulares. Para obter mais informações gerais sobre expressões regulares, consulte a Documentação da Cisco sobre Expressões Regulares.
Os leitores deste documento devem estar cientes da seguinte informação:
Configuração de BGP básica. Para mais informação, veja os Casos Práticos do BGP e BGP configurar.
As informações neste documento são baseadas nas versões de software e hardware:
Versão do software Cisco IOS 12.0
As informações neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. Todos os dispositivos utilizados neste documento foram iniciados com uma configuração (padrão) inicial. Se a sua rede estiver ativa, certifique-se de que entende o impacto potencial de qualquer comando.
Para obter mais informações sobre convenções de documento, consulte as Convenções de dicas técnicas Cisco.
O diagrama de rede a seguir serve de referência nesses três cenários.
Se você gostaria para que o roteador1 receba - somente as rotas originadas do AS4 (e das nenhumas rotas de Internet), você pode aplicar uma lista de acessos de entrada no roteador1 como segue:
ip as-path access-list 1 permit ^4$ router bgp 1 neighbor 4.4.4.4 remote-as 4 neighbor 4.4.4.4 route-map foo in route-map foo permit 10 match as-path 1
Isto assegura-se de que somente as redes originadas do AS4 estejam permitidas no roteador1.
Se quiser que somente as redes seja transferidas pelo AS 4 para entrar no AS 3 a partir do Roteador 3, aplique um filtro de entrada no Roteador 3.
ip as-path access-list 1 permit _4_ router bgp 3 neighbor 2.2.2.2 remote-as 1 neighbor 2.2.2.2 route-map foo in route-map foo permit 10 match as-path 1
Você pode usar um relevo (_) como o string de entrada e string de saída no comando ip as-path access-list. Observe que, neste exemplo, a ancoragem (por exemplo, não existe ^) não é utilizada, por isso não importa que sistemas autônomos vêm antes e depois do AS 4.
Se você quer negar todas as redes que originaram no AS4 e para permitir todas rotas restantes incorporar o AS3 do roteador3, você pode aplicar um filtro de entrada no roteador3, como segue:
ip as-path access-list 1 deny _4$ ip as-path access-list 1 permit .* router bgp 3 neighbor 2.2.2.2 remote-as 1 neighbor 2.2.2.2 route-map foo in route-map foo permit 10 match as-path 1
Caso deseje que AS 1 obtenha redes originadas de AS 4 e de todos os ASs conectados diretamente de AS 4, aplique o seguinte filtro de entrada no Roteador 1.
ip as-path access-list 1 permit ^4_[0-9]*$ router bgp 1 neighbor 4.4.4.4 remote-as 4 neighbor 4.4.4.4 route-map foo in route-map foo permit 10 match as-path 1
No comando ip as-path access-list, o caractere (^) inicia a string de entrada e designa o AS. O sublinhado (_) significa que há uma corda nula na string que segue "AS 4". [0-9]* especifica que todo AS conectado com um número de AS válido pode passar pelo filtro. A vantagem de usar a sintaxe [0-9]* é que lhe dá a flexibilidade adicionar todo o número de AS sem alterar este comando string. Para a informação adicional, veja a expressão Como-regular.