2018-10-26 12:29:03 +02:00
|
|
|
.TH "routinator" "1" "October 25, 2018" "NLnet Labs" "routinator 0.1.0
|
2018-07-31 15:42:33 +02:00
|
|
|
.\"
|
2018-10-26 12:29:03 +02:00
|
|
|
.\" routinator.1 -- RPKI Relying Party software
|
2018-07-31 15:42:33 +02:00
|
|
|
.\"
|
2018-10-26 12:29:03 +02:00
|
|
|
.\" Copyright (c) 2018, NLnet Labs.
|
2018-07-31 15:42:33 +02:00
|
|
|
.\"
|
|
|
|
.\" See LICENSE for the license.
|
|
|
|
.\"
|
|
|
|
.\" Provicial manual page, need improvement so
|
|
|
|
.\" version etc is generated automagically
|
|
|
|
.\"
|
|
|
|
.SH "NAME"
|
|
|
|
.B routinator
|
2018-11-01 12:34:55 +01:00
|
|
|
\- RPKI relying party software
|
2018-07-31 15:42:33 +02:00
|
|
|
.SH "SYNOPSIS"
|
|
|
|
.B routinator
|
2018-10-26 12:29:03 +02:00
|
|
|
.RB [ \-b
|
|
|
|
.IR base-dir ]
|
|
|
|
.RB [ \-c
|
|
|
|
.IR cache-dir ]
|
|
|
|
.RB [ \-t
|
|
|
|
.IR tal-dir ]
|
|
|
|
.RB [ \-x
|
|
|
|
.IR exceptions-file ]
|
|
|
|
.RB [ \-o
|
|
|
|
.IR output-file ]
|
|
|
|
.RB [ \-f
|
|
|
|
.IR output-format ]
|
|
|
|
.RB [ \-l
|
|
|
|
.IR addr:port
|
|
|
|
[ ... ] ]
|
|
|
|
.RB [ \-d | \c
|
|
|
|
.BR \-r ]
|
|
|
|
.RB [ \-n ]
|
|
|
|
.RB [ \-N ]
|
2018-07-31 15:42:33 +02:00
|
|
|
.RB [ \-\-strict ]
|
2018-10-26 12:29:03 +02:00
|
|
|
.RB [ \-\-refresh
|
|
|
|
.IR seconds ]
|
|
|
|
.RB [ \-\-history
|
|
|
|
.IR count ]
|
2018-07-31 15:42:33 +02:00
|
|
|
.RB [ \-v | \c
|
2018-10-26 12:29:03 +02:00
|
|
|
.BR \-vv | \c
|
|
|
|
.BR \-vvv ]
|
|
|
|
.RB [ \-h ]
|
|
|
|
.RB [ \-V ]
|
2018-07-31 15:42:33 +02:00
|
|
|
.SH "DESCRIPTION"
|
|
|
|
.B Routinator
|
|
|
|
validates RPKI route origin attestations.
|
|
|
|
.P
|
2018-10-26 12:29:03 +02:00
|
|
|
It can either run in one-shot mode outputting a list of validated route
|
|
|
|
origins in various formats or in repeat mode listening to RPKI-RTR
|
|
|
|
connections.
|
|
|
|
.SH "OPTIONS"
|
|
|
|
.P
|
2018-07-31 15:42:33 +02:00
|
|
|
The available options are:
|
|
|
|
.TP
|
2018-10-26 12:29:03 +02:00
|
|
|
.BI \-b\ dir \fR,\ \fB\-\-base\-dir= dir
|
|
|
|
Specifies the base directory to keep status information in. Unless
|
|
|
|
overwritten by the
|
|
|
|
.B -c
|
|
|
|
or
|
|
|
|
.B -t
|
|
|
|
options, the RPKI cache will be kept in the sub-directory
|
|
|
|
.I repository
|
|
|
|
and the TALs will be kept in the sub-directory
|
|
|
|
.I tals\fR.
|
|
|
|
.IP
|
|
|
|
If omitted, the base directory defaults to
|
|
|
|
.I $HOME/.rpki-cache\fR.
|
2018-07-31 15:42:33 +02:00
|
|
|
.TP
|
2018-10-26 12:29:03 +02:00
|
|
|
.BI \-c\ dir \fR,\ \fB\-\-cache\-dir= dir
|
|
|
|
Specifies the directory to keep the RPKI cache in.
|
|
|
|
.TP
|
|
|
|
.BI \-t\ dir \fR,\ \fB\-\-tal\-dir= dir
|
|
|
|
Specifies the directory containing the trust anchor locators to use. See
|
|
|
|
.B TRUST ANCHOR LOCATORS
|
|
|
|
for more information on what should be present in this directory.
|
|
|
|
.TP
|
|
|
|
.BI \-x\ file \fR,\ \fB\-\-exceptions= file
|
|
|
|
If present, provides the path to a local exceptions file. This is a JSON
|
|
|
|
file described in RFC 8416.
|
|
|
|
.TP
|
|
|
|
.BR \-d\fR,\ \fB\-\-daemon
|
|
|
|
Directs Routinator to run in daemon mode. After starting, it will detach from
|
|
|
|
the terminal, will start listening on the RTR socket and run repeat
|
|
|
|
validation.
|
|
|
|
.IP
|
|
|
|
This option implies the
|
|
|
|
.B -r
|
|
|
|
option.
|
|
|
|
.TP
|
|
|
|
.BR \-r\fR,\ \fB\-\-repeat
|
|
|
|
Directs Routinator to run in repeat mode. In this mode, validation will
|
|
|
|
be performed repeatedly and Routinator will act as an RTR server.
|
|
|
|
.TP
|
|
|
|
.BI \-o\ file \fR,\ \fB\-\-output= file
|
|
|
|
This option specifies the file to output validated route origins to. If the
|
|
|
|
option is missing or given as
|
|
|
|
.BR -
|
|
|
|
standard output is used.
|
|
|
|
.TP
|
|
|
|
.BI \-f\ format \fR,\ \fB\-\-outform= format
|
|
|
|
Specifies the format to use for outputting validated route origins.
|
|
|
|
.IP
|
|
|
|
If the format value
|
|
|
|
.BR csv
|
|
|
|
is used, output will be a file with comma-separated rows. The fields will
|
|
|
|
be the AS number, the prefix, and the maximum prefix length.
|
|
|
|
.IP
|
|
|
|
The format value of
|
|
|
|
.BR json
|
|
|
|
will produce a JSON file consisting of a single object with the only element
|
|
|
|
labeled
|
|
|
|
.IR roas
|
|
|
|
which is a list of objects consisting of the three elements
|
|
|
|
.IR asn\fR,
|
|
|
|
.IR prefix\fR,
|
|
|
|
and
|
|
|
|
.IR maxLength\fR.
|
|
|
|
.IP
|
|
|
|
The format value of
|
|
|
|
.BR rpsl
|
|
|
|
will produce an RPSL file where each object has the elements
|
|
|
|
.IR route\fR,
|
|
|
|
.IR origin\fR,
|
|
|
|
.IR descr\fR,
|
|
|
|
.IR mnt-by\fR,
|
|
|
|
.IR created\fR,
|
|
|
|
.IR last-modified\fR,
|
|
|
|
and
|
|
|
|
.IR source\fR,
|
|
|
|
not all of which have meaningful values.
|
|
|
|
.IP
|
|
|
|
Finally, an format value of
|
|
|
|
.BR none
|
|
|
|
will suppress output of validated origins altogether.
|
|
|
|
.TP
|
|
|
|
.BI \-l\ addr:port \fR,\ \fB\-\-listen= addr:port
|
|
|
|
Each occurrence of this option specifies an address and port to listen
|
|
|
|
on for incoming RTR connections. IPv6 addresses need be enclosed in
|
|
|
|
square brackets.
|
|
|
|
.IP
|
|
|
|
If this option is not present at all, the default of
|
|
|
|
.IR 127.0.0.1:3323
|
|
|
|
will be used.
|
2018-07-31 15:42:33 +02:00
|
|
|
.TP
|
|
|
|
.BR \-n , " \-\-noupdate
|
2018-10-26 12:29:03 +02:00
|
|
|
If this option is given, the local copy of the RPKI repository will not be
|
|
|
|
updated.
|
|
|
|
.IP
|
|
|
|
The option is ignored in repeat and daemon mode.
|
2018-07-31 15:42:33 +02:00
|
|
|
.TP
|
2018-10-26 12:29:03 +02:00
|
|
|
.BR \-N , " \-\-noprocess
|
|
|
|
If this option is present, the RPKI repository will not be validated and no
|
|
|
|
output be produced.
|
|
|
|
.IP
|
|
|
|
The option is ignored in repeat and daemon mode.
|
2018-07-31 15:42:33 +02:00
|
|
|
.TP
|
2018-10-26 12:29:03 +02:00
|
|
|
.BR \-\-strict
|
|
|
|
If this option is present, the repository will be validated in strict mode
|
|
|
|
following the requirements laid out by the standard documents very closely.
|
|
|
|
This will lead to a rather large amount of invalid route origins and should
|
|
|
|
therefore not be used in practice.
|
|
|
|
.TP
|
|
|
|
.BI \-\-refresh= seconds
|
|
|
|
Specifies how long to wait between validation runs in repeat mode. The time
|
|
|
|
is to be specified in seconds. It starts after validation has been finished.
|
|
|
|
.IP
|
|
|
|
The default time is 3600 seconds.
|
|
|
|
.TP
|
|
|
|
.BI \-\-history= count
|
|
|
|
Specifies the number of incremental updates Routinator should keep for RTR
|
|
|
|
clients.
|
|
|
|
.IP
|
|
|
|
If a client that has previously received a data set connects to the RTR
|
|
|
|
server, it can provide the server with the serial number it has last seen
|
|
|
|
and request only to be given the changes since then. Routinator can keep a
|
|
|
|
number of older versions around to provide clients with these changes.
|
|
|
|
.IP
|
|
|
|
The default number of incremental updates kept is 10.
|
2018-07-31 15:42:33 +02:00
|
|
|
.TP
|
|
|
|
.BR \-v , " \-\-verbose
|
|
|
|
Print more information.
|
|
|
|
If given multiple times, more information is
|
|
|
|
printed.
|
2018-10-26 12:29:03 +02:00
|
|
|
.IP
|
|
|
|
When running in daemon mode, Routinator will print information to syslog
|
|
|
|
using the daemon facility. In all other cases, it prints this information
|
|
|
|
to stderr.
|
2018-07-31 15:42:33 +02:00
|
|
|
.TP
|
2018-10-26 12:29:03 +02:00
|
|
|
.BR \-h , " \-\-help"
|
|
|
|
Print some help information.
|
|
|
|
.TP
|
|
|
|
.B \-\-strict
|
|
|
|
Parse RPKI data in strict mode.
|
|
|
|
.TP
|
|
|
|
.BR \-V , " \-\-version
|
|
|
|
Print version information.
|
|
|
|
|
|
|
|
.SH TRUST ANCHOR LOCATORS
|
|
|
|
RPKI uses trust anchor locators, or TALs, to identify the location and
|
|
|
|
public keys of the trusted root CA certificates. Routinator keeps these
|
|
|
|
TALs in files in the TAL directory which can be set by the
|
|
|
|
.B \-t
|
|
|
|
option. If the
|
|
|
|
.B \-b
|
|
|
|
option is used instead, the TAL directory will be in the sub-directory
|
|
|
|
.I tals
|
|
|
|
under the directory specified in this option. The default location, if
|
|
|
|
no options are used at all is
|
|
|
|
.I $HOME/.rpki-cache/tals\fR.
|
2018-07-31 15:42:33 +02:00
|
|
|
.P
|
2018-10-26 12:29:03 +02:00
|
|
|
If the specified or default directory does not exist, Routinator will try
|
|
|
|
to create it and populate it with the TALs of the five Regional Internet
|
|
|
|
Registries (RIRs). Unfortunately, the terms and conditions of the
|
|
|
|
North American registry ARIN do not allow us to include their TAL with the
|
|
|
|
Routinator. We instead include a crippled version that will cause
|
|
|
|
Routinator to refuse to work and print instructions on how to get the
|
|
|
|
TAL instead.
|
2018-11-22 11:24:43 +01:00
|
|
|
.P
|
|
|
|
If the directory does exist, Routinator will use all files with an extension
|
|
|
|
of
|
|
|
|
.I .tal
|
|
|
|
in this directory. This means that you can add and remove trust anchors by
|
|
|
|
adding and removing files in this directory. If you add files, make sure they
|
|
|
|
are in RFC 7730 format.
|
2018-10-26 12:29:03 +02:00
|
|
|
|
2018-11-28 16:49:03 +01:00
|
|
|
.SH LOGGING
|
|
|
|
|
|
|
|
Routinator uses four log levels to determine the severity of a message. The
|
|
|
|
most severe level,
|
|
|
|
.I error\fR,
|
|
|
|
is used for situation where Routinator would produce no or invalid output.
|
|
|
|
The level
|
|
|
|
.I warn
|
|
|
|
marks events that result in incomplete output. This happens for instance when
|
|
|
|
Routinator cannot reach certain publication points or when TALs are invalid.
|
|
|
|
.P
|
|
|
|
Messages that let you follow along to see what Routinator is currently doing
|
|
|
|
are output with log level
|
|
|
|
.I info\fR. Additional messages that are likely to be only useful for
|
|
|
|
developers have the level
|
|
|
|
.I debug\fR.
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-07-31 15:42:33 +02:00
|
|
|
.SH AUTHOR
|
|
|
|
.P
|
2018-10-26 12:29:03 +02:00
|
|
|
Jaap Akkerhuis wrote the original version of this manual page,
|
|
|
|
Martin Hoffmann extended it for later versions.
|
2018-07-31 15:42:33 +02:00
|
|
|
.SH "EXIT CODE"
|
2018-10-26 12:29:03 +02:00
|
|
|
The Routinator program exits with status code 1 on error,
|
2018-07-31 15:42:33 +02:00
|
|
|
.SH "SEE ALSO"
|
|
|
|
.P
|
|
|
|
Reference manual (to be written).
|
|
|
|
.SH BUGS
|
|
|
|
Sure
|