as-path access-list ed espressioni regolari

Moderators: Federico.Lagni, TheIrish

as-path access-list ed espressioni regolari

Postby scolpi » Sun 30 Mar , 2014 2:12 pm

So che la domanda richiede conoscenze ccie o comunque di qualcuno che mastica bgp a 360gradi comunque ci provo.

Sul testo TCP/IP Vol2 a pagina 818 viene riportato il seguente esempi:

Code: Select all
ip as-path access-list 28 permit ^(850)*$


e si dice che questa acl permette tutti gli AS_PATH che contengono l'AS 850 zero o + volte.

A me questo non sembra, o meglio che l' AS_PATH vuoto o con solo 850 vengano selezionati mi va bene,ma ad esempio AS_PATH 850 850 no, perchè (850)* presume la ripetizione della stringa 850 zero o + volte,cioè 850,850850,850850850 ecc.

Per discriminare la ripetizione multipla io avrei usato:

Code: Select all
ip as-path access-list 28 permit ^(850_?)*$
CCNA Security,CCDP, CCNP R&S
scolpi
Network Emperor
 
Posts: 337
Joined: Sat 30 Oct , 2010 5:33 pm

Re: as-path access-list ed espressioni regolari

Postby paolomat75 » Sun 30 Mar , 2014 9:24 pm

scolpi wrote:So che la domanda richiede conoscenze ccie o comunque di qualcuno che mastica bgp a 360gradi comunque ci provo.

Sul testo TCP/IP Vol2 a pagina 818 viene riportato il seguente esempi:

Code: Select all
ip as-path access-list 28 permit ^(850)*$


e si dice che questa acl permette tutti gli AS_PATH che contengono l'AS 850 zero o + volte.

A me questo non sembra, o meglio che l' AS_PATH vuoto o con solo 850 vengano selezionati mi va bene,ma ad esempio AS_PATH 850 850 no, perchè (850)* presume la ripetizione della stringa 850 zero o + volte,cioè 850,850850,850850850 ecc.

Per discriminare la ripetizione multipla io avrei usato:

Code: Select all
ip as-path access-list 28 permit ^(850_?)*$

Ciao scolpi,
secondo me è giusto, visto 850850 sarebbe maggiore del valore possibile 65535. L'unica possibilità è una NLRI con AS-PATH di soli 850, o vuoto.

Paolo
CCNA R&S and CCNP Route Pass - Studing....
Non cade foglia che l'inconscio non voglia (S.B.)
paolomat75
Messianic Network master
 
Posts: 2882
Joined: Fri 29 Jan , 2010 10:25 am
Location: Prov di GE

Re: as-path access-list ed espressioni regolari

Postby scolpi » Mon 31 Mar , 2014 1:24 pm

Secondo me un AS_PATH=850 850 non viene rilevato, perchè lo spazio tra i due AS l' espressione regolare ^(850)*$ non la "copre", precisamente è lo spazio tra i due che non rileva, questo perchè è il solo simbolo "_" che in una espressone regolare rileva lo spazio o un carattere di inizio o di fine riga e lì non c'è..... Dovrò studiare un po' :lol:
CCNA Security,CCDP, CCNP R&S
scolpi
Network Emperor
 
Posts: 337
Joined: Sat 30 Oct , 2010 5:33 pm

Re: as-path access-list ed espressioni regolari

Postby paolomat75 » Mon 31 Mar , 2014 2:50 pm

scolpi wrote:Secondo me un AS_PATH=850 850 non viene rilevato, perchè lo spazio tra i due AS l' espressione regolare ^(850)*$ non la "copre", precisamente è lo spazio tra i due che non rileva, questo perchè è il solo simbolo "_" che in una espressone regolare rileva lo spazio o un carattere di inizio o di fine riga e lì non c'è..... Dovrò studiare un po' :lol:

Dovresti avere ragione. Purtroppo non ho tempo per fare una prova.
Fammi sapere

Paolo
CCNA R&S and CCNP Route Pass - Studing....
Non cade foglia che l'inconscio non voglia (S.B.)
paolomat75
Messianic Network master
 
Posts: 2882
Joined: Fri 29 Jan , 2010 10:25 am
Location: Prov di GE

Re: as-path access-list ed espressioni regolari

Postby scolpi » Mon 31 Mar , 2014 8:10 pm

Ho fatto un test con gns3 e le mie perplessità erano fondate. Ho usato tre router in cascata:

R1 (AS 1) <--> R2 (AS 2) <--> R3 (AS 3)


su R1 ho inserito in bgp 3 rotte:

Code: Select all
interface Loopback1
 ip address 1.1.1.1 255.255.255.255
!
interface Loopback2
 ip address 2.2.2.2 255.255.255.255
!
interface Loopback3
 ip address 3.3.3.3 255.255.255.255

router bgp 1
 no synchronization
 bgp log-neighbor-changes
 network 1.1.1.1 mask 255.255.255.255
 network 2.2.2.2 mask 255.255.255.255
 network 3.3.3.3 mask 255.255.255.255
 neighbor 10.0.0.2 remote-as 2
 neighbor 10.0.0.2 route-map ADD-AS out
 no auto-summary
!


tramite la route-map ho aggiunto un po' di AS:

Code: Select all
ip access-list extended L1
 permit ip host 1.1.1.1 host 255.255.255.255
ip access-list extended L2
 permit ip host 2.2.2.2 host 255.255.255.255
ip access-list extended L3
 permit ip host 3.3.3.3 host 255.255.255.255
!
!
route-map ADD-AS permit 10
 match ip address L1
 match as-path 1
 set as-path prepend 1 1 1 1
!         
route-map ADD-AS permit 20
 match ip address L2
 set as-path prepend 1
!
route-map ADD-AS permit 30
 set as-path prepend [b]55[/b]


In modo che i prefissi annunciati a R2 fossero:

Code: Select all
R2#sh ip bgp regexp _1_
BGP table version is 11, local router ID is 172.16.0.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale, m multipath, b backup-path, x best-external
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*> 1.1.1.1/32       10.0.0.1                 0             0 1 1 1 1 1 i
*> 2.2.2.2/32       10.0.0.1                 0             0 1 1 i
*> 3.3.3.3/32       10.0.0.1                 0             0 1 [b]55[/b] i


Da ciò che avevo detto, io mi sarei aspettato che usando su R2 il filtro seguente:

Code: Select all
ip as-path access-list 1 permit ^1*$

route-map TEST deny 10
 match as-path 1
!
route-map TEST permit 20



R2 filtrasse tutti prefissi con AS nullo (generati da lui) e quelli con un 1 solo

Per avere AS nulli ho inserito nel bgp di R2 la rete 4.4.4.4/32:

Code: Select all
interface Loopback4
 ip address 4.4.4.4 255.255.255.255

router bgp 2
 no synchronization
 bgp log-neighbor-changes
 network 4.4.4.4 mask 255.255.255.255
 neighbor 10.0.0.1 remote-as 1
 neighbor 172.16.0.2 remote-as 3
 neighbor 172.16.0.2 route-map TEST out
 no auto-summary
!
!
ip as-path access-list 1 permit ^1*$
!

route-map TEST deny 10
 match as-path 1
!
route-map TEST permit 20
!


Ora la tabella bgp in R2 è:

Code: Select all
R2#sh ip bgp           
BGP table version is 11, local router ID is 172.16.0.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale, m multipath, b backup-path, x best-external
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*> 1.1.1.1/32       10.0.0.1                 0             0 1 1 1 1 1 i
*> 2.2.2.2/32       10.0.0.1                 0             0 1 1 i
*> 3.3.3.3/32       10.0.0.1                 0             0 1 [b]55[/b] i
*> 4.4.4.4/32       0.0.0.0                  0         32768 i


e in R3 ritrovo:

Code: Select all
R3#sh ip bgp
BGP table version is 13, local router ID is 172.16.0.2
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale, m multipath, b backup-path, x best-external
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*> 1.1.1.1/32       172.16.0.1                             0 2 1 1 1 1 1 i
*> 2.2.2.2/32       172.16.0.1                             0 2 1 1 i
*> 3.3.3.3/32       172.16.0.1                             0 2 1 55 i


che sono esattamente le sole rotte che imi aspettavo.

Se invece su R2 uso come ACL la seguente:

Code: Select all
ip as-path access-list 2 permit ^(1_)*$


Questa mi elimina tutti i prefissi che in R2 o hanno AS_PATH nullo o è una ripetizione di 1:

Code: Select all
R3#sh ip bgp
BGP table version is 15, local router ID is 172.16.0.2
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale, m multipath, b backup-path, x best-external
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*> 3.3.3.3/32       172.16.0.1                             0 2 1 55 i
CCNA Security,CCDP, CCNP R&S
scolpi
Network Emperor
 
Posts: 337
Joined: Sat 30 Oct , 2010 5:33 pm

Re: as-path access-list ed espressioni regolari

Postby paolomat75 » Mon 31 Mar , 2014 10:23 pm

Ottimo, in effetti alla fine pensavo anch'io che avevi ragione (sono riandato a vedere quella parte nel libro CCIE).

Bravo!
Paolo
CCNA R&S and CCNP Route Pass - Studing....
Non cade foglia che l'inconscio non voglia (S.B.)
paolomat75
Messianic Network master
 
Posts: 2882
Joined: Fri 29 Jan , 2010 10:25 am
Location: Prov di GE


Return to FAQ & tutorials

Who is online

Users browsing this forum: No registered users and 1 guest