summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniil Baturin <daniil@sentrium.io>2019-11-30 20:36:50 +0700
committerGitHub <noreply@github.com>2019-11-30 20:36:50 +0700
commit008d9d8a881c670d9675a5c60f14a61e3f0ff3bb (patch)
tree811319a011ac0578171497540ea3476d20299346
parentce5c2f4c868131f6a936f9aa8f3def1c464302e4 (diff)
parentcb96885b2add6496f0de2cb1a3510f3ecbee43ad (diff)
downloadvyos-documentation-008d9d8a881c670d9675a5c60f14a61e3f0ff3bb.tar.gz
vyos-documentation-008d9d8a881c670d9675a5c60f14a61e3f0ff3bb.zip
Merge pull request #156 from sever-sever/add-bgp-rpki
bgp: add section RPKI
-rw-r--r--docs/routing/bgp.rst38
1 files changed, 38 insertions, 0 deletions
diff --git a/docs/routing/bgp.rst b/docs/routing/bgp.rst
index 4fac4889..1bb33aee 100644
--- a/docs/routing/bgp.rst
+++ b/docs/routing/bgp.rst
@@ -147,3 +147,41 @@ Route filter can be applied using a route-map:
We could expand on this and also deny link local and multicast in the rule 20
action deny.
+
+RPKI
+^^^^
+
+:abbr:`RPKI (Resource Public Key Infrastructure)` is a framework :abbr:`PKI (Public Key Infastucrure)`
+designed to secure the Internet routing insfratructure.
+It associate a BGP route announcement with the correct originating :abbr:`ASN (Autonomus System Number)` and check it validation.
+RPKI described in :rfc:`6480`. This is a separate server. You can find more details at RIPE-NNC_.
+
+Imported prefixes during the validation may have values: valid, invalid and notfound.
+
+* The valid state means that prefix and ASN that originated it match the :abbr:`ROA (Route Origination Authorizations)` base.
+* Invalid means that prefix/prefix length and ASN that originated it doesn't match with ROA.
+* Notfound means that prefix not found in ROA.
+
+We can build route-maps for import, based on these states.
+Simple RPKI configuration, where 'routinator' - RPKI cache server with ip '10.11.11.1'.
+
+.. code-block:: none
+
+ set protocols rpki cache routinator address '10.11.11.1'
+ set protocols rpki cache routinator port '3323'
+
+Example route-map for import. We can set local-preference logic based on states.
+Also we may not import prefixes with the state 'invalid'.
+
+.. code-block:: none
+
+ set policy route-map ROUTES-IN rule 10 action 'permit'
+ set policy route-map ROUTES-IN rule 10 match rpki 'valid'
+ set policy route-map ROUTES-IN rule 10 set local-preference '300'
+ set policy route-map ROUTES-IN rule 20 action 'permit'
+ set policy route-map ROUTES-IN rule 20 match rpki 'notfound'
+ set policy route-map ROUTES-IN rule 20 set local-preference '125'
+ set policy route-map ROUTES-IN rule 30 action 'deny'
+ set policy route-map ROUTES-IN rule 30 match rpki 'invalid'
+
+.. _RIPE-NNC: https://github.com/RIPE-NCC/rpki-validator-3/wiki