Hola !
router bgp <AS>
address-family {ipv4 | ipv6} unicast
bgp bestpath prefix-validate allow-invalid
?
From the cisco doc :
Perform this task if the BGP—Origin AS Validation feature is enabled,
and you want to allow invalid prefixes
to be used as the best path, even if valid prefixes are available. Thus,
you have control over announcing invalid
networks, but preferring them less than valid and not-found prefixes.
Also, the downstream peer can modify
path attributes based on a route map that matches invalid prefixes
Bon courage !
Le 25-05-2022 09:08, Clement Cavadore a écrit :
Hello,
Je suis confronté à un probleme étrange sur IOS XE.
Voici le contexte:
- 1 ASR1002-X
- Qui fait de la validation RPKI sur les sessions eBGP (pas iBGP)
- Qui fait du peering sur un IXP
- Qui recoit ses routes du réseau depuis des RR (notamment des
downstreams)
Par défaut, j'ai remarqué que l'état RPKI de la route était pris en
compte dans le BGP selection path, chose qui m'emmerde car si une route
recue en eBGP est valide, il la préfere à une route "unknown" recue en
IBGP, et ce même si la localpref est supérieure sur celle recue en
interne (car downstream):
Ici, en l'occurence, selon la localpref, il devrait plutot choisir la
premiere, mais par défaut, il choisit celle d'apres:
BGP routing table entry for 193.43.214.0/24, version 36202932
Paths: (8 available, best #7, table default)
Advertised to update-groups:
16 17
Refresh Epoch 1
44097
193.164.153.126 (metric 5020) from 193.164.153.2 (193.164.153.2)
Origin incomplete, metric 500, localpref 600, valid, internal
Community: 34019:44097 65512:20001
Originator: 193.17.192.143, Cluster list: 193.164.153.2
path 7F8057EB3658 RPKI State not found
rx pathid: 0, tx pathid: 0
Refresh Epoch 1
(...)
43100 200780 44097
91.206.52.207 from 91.206.52.252 (91.206.52.252)
Origin IGP, metric 400, localpref 400, valid, external, best
Community: 34019:65000 34019:65130 34019:65133 65512:20009
unknown transitive attribute: flag 0xE0 type 0x20 length 0x24
value 0000 A5EC 0000 FC00 0000 000B 0000 A5EC
0000 FC00 0000 0015 0000 A5EC 0000 FC00
0000 001F
path 7F805E0F0418 RPKI State valid
rx pathid: 0, tx pathid: 0x0
Refresh Epoch 1
(...)
Du coup, je me suis inspiré du lien suivant:
https://bgpfilterguide.nlnog.net/guides/reject_invalids/
... pour revoir ma conf, et rajouter "bgp bestpath prefix-validate
disable" dans la conf de mes address-family en BGP, en rajoutant un
statement dans mes route-map rejetant les rpki invalid, et ca semble...
juste désactiver RPKI. En effet, on ne voit plus du tout d'état RPKI,
alors que 1.1.1.0/24 est supposé être signé:
RPKI validation codes: V valid, I invalid, N Not found
Network Next Hop Metric LocPrf Weight Path
*> 1.0.0.0/24 91.206.52.192 100 400 0 13335
i
*> 1.1.1.0/24 91.206.52.192 100 400 0 13335
i
BGP routing table entry for 1.1.1.0/24, version 27436194
Paths: (6 available, best #5, table default)
Advertised to update-groups:
16 17
Refresh Epoch 1
(...)
13335, (aggregated by 13335 162.158.148.1)
91.206.52.192 from 91.206.52.192 (162.158.148.1)
Origin IGP, metric 100, localpref 400, valid, external, best
Community: 34019:65000 34019:65130 34019:65131 65512:20009
rx pathid: 0, tx pathid: 0x0
Refresh Epoch 1
Une idée de comment faire en sorte que IOS XE fasse de la validation
RPKI proprement ?
A noter: Il n'est pas concevable de faire de la validation RPKI reçues
sur les routes en IBGP, car on reçoit des RR des more specific de nos
subnets (que l'on redistribue en BGP plutot qu'en ISIS), et il serait
contre productif de faire des ROA autorisant jusqu'au /32 + /128 de nos
supernets :)
Merci par avance pour vos lumières,
--
Fabien VINCENT
_@beufanet_
---------------------------
Liste de diffusion du FRnOG
http://www.frnog.org/