@@ -34,6 +34,10 @@ in :rfc:`8210`.
34
34
tools). It also has some `help and operational guidance `_ including
35
35
"What can I do about my route having an Invalid state?"
36
36
37
+ ***************
38
+ Getting started
39
+ ***************
40
+
37
41
First you will need to deploy an RPKI validator for your routers to use. The
38
42
RIPE NCC helpfully provide `some instructions `_ to get you started with
39
43
several different options. Once your server is running you can start
@@ -71,14 +75,95 @@ Imported prefixes during the validation may have values:
71
75
reading about Krill _ if this is a rabbit hole you need or especially want
72
76
to dive down.
73
77
78
+ Features of the Current Implementation
79
+ ======================================
80
+
81
+ In a nutshell, the current implementation provides the following features:
82
+
83
+ * The BGP router can connect to one or more RPKI cache servers to receive
84
+ validated prefix to origin AS mappings. Advanced failover can be implemented
85
+ by server sockets with different preference values.
86
+
87
+ * If no connection to an RPKI cache server can be established after a
88
+ pre-defined timeout, the router will process routes without prefix origin
89
+ validation. It still will try to establish a connection to an RPKI cache
90
+ server in the background.
91
+
92
+ * By default, enabling RPKI does not change best path selection. In particular,
93
+ invalid prefixes will still be considered during best path selection. However,
94
+ the router can be configured to ignore all invalid prefixes.
95
+
96
+ * Route maps can be configured to match a specific RPKI validation state. This
97
+ allows the creation of local policies, which handle BGP routes based on the
98
+ outcome of the Prefix Origin Validation.
99
+
100
+ * Updates from the RPKI cache servers are directly applied and path selection is
101
+ updated accordingly. (Soft reconfiguration must be enabled for this to work).
102
+
103
+ *************
104
+ Configuration
105
+ *************
106
+
107
+ .. cfgcmd :: protocols rpki polling-period <1-86400>
108
+
109
+ Define the time interval to update the local cache
110
+
111
+ The default value is 300 seconds.
112
+
113
+ .. cfgcmd :: protocols rpki cache <address> port <port>
114
+
115
+ Defined the IPv4, IPv6 or FQDN and port number of the caching RPKI caching
116
+ instance which is used.
117
+
118
+ This is a mandatory setting.
119
+
120
+ .. cfgcmd :: protocols rpki cache <address> preference <preference>
121
+
122
+ Multiple RPKI caching instances can be supplied and they need a preference in
123
+ which their result sets are used.
124
+
125
+ This is a mandatory setting.
126
+
127
+ SSH
128
+ ===
129
+
130
+ Connections to the RPKI caching server can not only be established by HTTP/TLS
131
+ but you can also rely on a secure SSH session to the server. To enable SSH you
132
+ first need to create yoursels an SSH client keypair using ``generate ssh
133
+ client-key /config/auth/id_rsa_rpki ``. Once your key is created you can setup
134
+ the connection.
135
+
136
+ .. cfgcmd :: protocols rpki cache <address> ssh username <user>
137
+
138
+ SSH username to establish an SSH connection to the cache server.
139
+
140
+ .. cfgcmd :: protocols rpki cache <address> ssh known-hosts-file <filepath>
141
+
142
+ Local path that includes the known hosts file.
143
+
144
+ .. cfgcmd :: protocols rpki cache <address> ssh private-key-file <filepath>
145
+
146
+ Local path that includes the private key file of the router.
147
+
148
+ .. cfgcmd :: protocols rpki cache <address> ssh public-key-file <filepath
149
+
150
+ Local path that includes the public key file of the router.
151
+
152
+ .. note :: When using SSH, known-hosts-file, private-key-file and public-key-file
153
+ are mandatory options.
154
+
155
+ *******
156
+ Example
157
+ *******
158
+
74
159
We can build route-maps for import based on these states. Here is a simple
75
160
RPKI configuration, where `routinator ` is the RPKI-validating "cache"
76
161
server with ip `192.0.2.1 `:
77
162
78
163
.. code-block :: none
79
164
80
- set protocols rpki cache routinator address ' 192.0.2.1'
81
- set protocols rpki cache routinator port '3323 '
165
+ set protocols rpki cache 192.0.2.1 port '3323 '
166
+ set protocols rpki cache 192.0.2.1 preference '1 '
82
167
83
168
Here is an example route-map to apply to routes learned at import. In this
84
169
filter we reject prefixes with the state `invalid `, and set a higher
0 commit comments