É 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:
As informações neste documento são baseadas nas versões de software e hardware:
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.
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 desejar que o Roteador 1 receba apenas as rotas originadas do AS 4 (e nenhuma rota de Internet), você poderá aplicar uma lista de acesso de entrada no Roteador 1 da seguinte maneira:
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
Isso garante que apenas as redes originadas do AS 4 sejam permitidas no Roteador 1.
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 sublinhado (_) como a string de entrada e a 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 quiser negar todas as redes que se originaram no AS 4 e permitir que todas as outras rotas entrem no AS 3 do Roteador 3, você pode aplicar um filtro de entrada no Roteador 3, da seguinte forma:
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 ela dá a você a flexibilidade de adicionar qualquer número de ASs sem modificar esta string de comando. Para obter informações adicionais, consulte Expressão AS-Regular.