rtrclient(1)

✨ rtrclient β€” the rtr rpki client ✨

okay bestie, welcome to rtrclient, section 1 of the General Commands Manual πŸŽ€ she's a little command-line cutie that talks to RPKI/RTR cache servers, and honestly? she ate.


🌸 NAME 🌸

rtrclient β€” the rtr rpki client πŸ’…


⭐ SYNOPSIS ⭐

rtrclient [-kph] SOCKETS...

πŸ¦‹ SOCKETS πŸ¦‹

tcp [-kpb bindaddr] HOST PORT
ssh [-kpb bindaddr] HOST PORT USERNAME (PRIVATE_KEY|PASSWORD) [HOST_KEY]

like, those are your two transport flavours, pick your fighter 🫢


πŸ’– DESCRIPTION πŸ’–

rtrclient connects to an RPKI/RTR cache server and prints out prefix updates, origin AS updates, and router key updates. she can ride in on plain tcp or ssh transport to get to that RPKI/RTR cache server, and the way she counts β€” the amount is not limited and you can mix different transport types arbitrarily. no cap, go wild. πŸ”₯

For tcp you must specify the HOST and PORT. non-negotiable bestie.

For ssh you must specify the HOST, PORT, USERNAME, and either a file containing the PRIVATE_KEY or a PASSWORD. By default rtrclient will try to guess which of the two you entered (she's perceptive like that ✨). If you want to explicitly specify which one it is, peek at -w and -s. You may also specify a file containing a list of *HOST_KEY*s, in the well known SSH_KNOWN_HOSTS file format. See sshd(8) for the deets.


✨ OPTIONS ✨

  • -b bindaddr β€” set an explicit bind address πŸ’…
  • -h β€” print the help message πŸ™ˆ
  • -k β€” print info about router key updates πŸ”‘
  • -p β€” print info about prefix and origin AS updates 🌐
  • -s β€” print info about connection status updates πŸ“‘
  • -e β€” export ROAs after completing synchronisation and then exit πŸšͺ
  • -t β€” select the template for pfx export. May be a built in template (see -l) or a file path to a custom template (see TEMPLATES) πŸŽ€
  • -l β€” print available templates and exit. Prints the specified template when used together with -t πŸ‘‘
  • -o β€” output file for export πŸ“
  • -w β€” force ssh authentication information to be interpreted as a password πŸ”’
  • -s β€” force ssh authentication information to be interpreted as a private key πŸ—οΈ
not me pointing out that -s shows up twice in this list β€” once for connection status updates and once for private keys β€” but that is literally what the page says, so there it is, bestie. πŸ’€

🧚 TEMPLATES 🧚

Templates are how you export ROA information in a custom format, and they're written in the mustache(https://mustache.github.io/) templating language. it's giving artisanal, handcrafted, bespoke ✨

A template should contain a section called roas, which may contain the variables prefix, length, maxlen and origin. The content of this section is expanded for every entry in the ROA table. The special variable last is true for the last entry of the prefix table. See the json template for a usage example πŸ“


🌈 EXAMPLES 🌈

Print prefix and origin AS updates from a tcp based server:

rtrclient tcp -k rpki.example.com 323

Print prefix and router key updates from a ssh based server:

rtrclient ssh -k -p rpki.example.com 22 rtr-ssh ~/.ssh/id_rsa ~/.ssh/known_hosts

Use multiple rtr servers, and print prefix updates for some:

rtrclient tcp -p rpki.example.com 323 tcp rpki2.example.com 323 ssh -p rpki.example.com 22 rtr-ssh ~/.ssh/id_rsa

and that's the whole page, bestie 🫢 it's rtrclient from the General Commands Manual, section 1, and yeah that's literally all the footer had to say for itself. slay, go read a manual, ily πŸ’–πŸŽ€πŸ¦‹