Introduzione
Questo documento descrive come utilizzare le espressioni regolari con Border Gateway Protocol (BGP).
Prerequisiti
Requisiti
Cisco raccomanda la conoscenza di questo argomento:
Componenti usati
Il riferimento delle informazioni contenute in questo documento è il software Cisco IOS® versione 12.0.
Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.
Convenzioni
Per ulteriori informazioni sulle convenzioni usate, consultare il documento Cisco sulle convenzioni nei suggerimenti tecnici.
Premesse
È possibile utilizzare le espressioni regolari nel ip as-path access-list comando con Border Gateway Protocol (BGP). Per informazioni più generali sulle espressioni regolari, vedere la documentazione di Cisco sulle espressioni regolari. Per ulteriori informazioni sulla configurazione BGP di base, vedere i casi di studio di BGP e configurare una rete BGP di base.
Scenari di rete
Questo è il diagramma di rete a cui si fa riferimento nel presente documento.
Consenti solo alle reti con origine AS 4 di accedere al router 1
Se si desidera che il router 1 riceva solo le route originate da AS 4 (e non le route Internet), è possibile applicare un elenco degli accessi in entrata nel router 1:
ip as-path access-list 1 permit ^4$
router bgp 1
neighbor 10.4.4.4 remote-as 4
neighbor 10.4.4.4 route-map foo in
route-map foo permit 10
match as-path 1
In questo modo, solo le reti originate dall'AS 4 sono consentite nel router 1.
Consenti solo alle reti che hanno superato AS 4 di accedere a AS 3
Se si desidera che solo le reti che hanno attraversato l'AS 4 entrino in AS 3 dal router 3, è possibile applicare un filtro in entrata sul router 3:
ip as-path access-list 1 permit _4_
router bgp 3
neighbor 10.2.2.2 remote-as 1
neighbor 10.2.2.2 route-map foo in
route-map foo permit 10
match as-path 1
È possibile usare un carattere di sottolineatura (_) come stringa di input e come stringa di output nel comando ip as-path access-list.
Nota: in questo esempio, l'ancoraggio (ad esempio, non c'è ^) non viene utilizzato, quindi non importa quali sistemi autonomi arrivano prima e dopo AS 4.
Impedisci a tutte le reti originate in AS 4 di accedere a AS 3 e di consentire a tutte le altre reti
Se si desidera negare tutte le reti che hanno avuto origine in AS 4 e consentire a tutte le altre route di accedere a AS 3 dal router 3, è possibile applicare un filtro in entrata nel router 3:
ip as-path access-list 1 deny _4$
ip as-path access-list 1 permit .*
router bgp 3
neighbor 10.2.2.2 remote-as 1
neighbor 10.2.2.2 route-map foo in
route-map foo permit 10
match as-path 1
Consenti solo alle reti originate da AS 4 e agli AS direttamente collegati a AS 4 di accedere al router 1
Se si desidera che AS 1 ottenga le reti originate da AS 4 e tutte le AS collegate direttamente da AS 4, applicare il filtro in ingresso successivo sul router 1.
ip as-path access-list 1 permit ^4_[0-9]*$
router bgp 1
neighbor 10.4.4.4 remote-as 4
neighbor 10.4.4.4 route-map foo in
route-map foo permit 10
match as-path 1
Nel ip as-path access-list comando, il carattere accento circonflesso (^) avvia la stringa di input e designa AS" Il carattere di sottolineatura (_) indica che la stringa che segue AS 4" è una stringa null. [0-9]* specifica che qualsiasi AS connesso con un numero AS valido può passare il filtro. Il vantaggio offerto dalla sintassi [0-9]* consiste nella possibilità di aggiungere un numero qualsiasi di AS senza modificare la stringa di comando. Per ulteriori informazioni, vedere Espressione regolare AS.
Informazioni correlate