# rpki-as0-bogons
SLURM file generator for bogons with AS0 as origin.
This script generates a JSON file compatible with [RFC8416](https://www.rfc-editor.org/rfc/rfc8416.txt) to be used for a local validator.
The script takes bogon files from the [Team Cymru Bogon Reference](https://www.team-cymru.com/bogon-reference.html) or builds a list of all the networks not assigned according to the official [NRO Delegated Statistics](https://www.nro.net/about/rirs/statistics/) file, and turns them into a SLURM file. All the networks are added to the SLURM file with origin: AS0 and with a default MaxPrefix of 32 for IPv4 and 128 for IPv6.
Once loaded in a validator, this file will suggest the validating software to create "fake" ROAs for these networks. If your network performs origin validation and applies "Invalid: Reject" policies, any BGP announcement of these networks coming from your peers or upstreams should be discarded.
## Installation
You can find the software on PyPi, so you can install it easily via pip.
```shell
# pip3 install rpki-as0-bogons
```
## Usage
```shell
usage: rpki-as0-bogons [-h] [-f DEST_FILE] [-P] (-N | -C)
A script to generate a SLURM file for all bogons with origin AS0
optional arguments:
-h, --help show this help message and exit
-f DEST_FILE File to be created with all the SLURM content (default is
/usr/local/etc/slurm.json)
-P Include the list of IXP LANs from PeeringDB. While some of
them already have AS0 ROAs, not all of them do. Overlapping
ROAs are fine, so it will be okay to generate them anyway
-N Use the NRO delegated stats
-C Use the Team Cymru's bogons list
Version 0.3.1
```
You have to specify if you want to use the Team Cymru lists (`-C`) or the NRO delegated stats (`-N`). For bogons only, use the Team Cymru lists, but if you want to include any network that's not assigned or allocated at the moment, it's better to use the NRO file.
## Using it with a validator
### Routinator
You should start routinator with the *-x* switch, providing the path to the file (the file is saved by the tool into */usr/local/etc/slurm.json*)
### RIPE NCC Validator 3
You can use curl to supply the file to the validator:
```shell
/usr/local/bin/curl -X POST -F "file=@slurm.json" localhost:8080/api/slurm/upload
```
### Forth
Use the *--slurm* option when running the software.
## Recommendations
Since the bogon files are updated daily, a daily run via cron is suggested for this tool.
Raw data
{
"_id": null,
"home_page": "https://github.com/stucchimax/rpki-as0-bogons",
"name": "rpki-as0-bogons",
"maintainer": "Massimiliano Stucchi",
"docs_url": null,
"requires_python": "",
"maintainer_email": "max@stucchi.ch",
"keywords": "rpki prefix routing networking",
"author": "",
"author_email": "",
"download_url": "https://files.pythonhosted.org/packages/ff/f7/48b88a615be38d85236473fad1d0c4c8b4f661adcc484592611e0e2b1c6e/rpki-as0-bogons-0.3.2.tar.gz",
"platform": null,
"description": "# rpki-as0-bogons\n\nSLURM file generator for bogons with AS0 as origin.\n\nThis script generates a JSON file compatible with [RFC8416](https://www.rfc-editor.org/rfc/rfc8416.txt) to be used for a local validator.\n\nThe script takes bogon files from the [Team Cymru Bogon Reference](https://www.team-cymru.com/bogon-reference.html) or builds a list of all the networks not assigned according to the official [NRO Delegated Statistics](https://www.nro.net/about/rirs/statistics/) file, and turns them into a SLURM file. All the networks are added to the SLURM file with origin: AS0 and with a default MaxPrefix of 32 for IPv4 and 128 for IPv6.\n\nOnce loaded in a validator, this file will suggest the validating software to create \"fake\" ROAs for these networks. If your network performs origin validation and applies \"Invalid: Reject\" policies, any BGP announcement of these networks coming from your peers or upstreams should be discarded.\n\n## Installation\n\nYou can find the software on PyPi, so you can install it easily via pip.\n\n```shell\n# pip3 install rpki-as0-bogons\n```\n\n## Usage\n\n```shell\nusage: rpki-as0-bogons [-h] [-f DEST_FILE] [-P] (-N | -C)\n\nA script to generate a SLURM file for all bogons with origin AS0\n\noptional arguments:\n -h, --help show this help message and exit\n -f DEST_FILE File to be created with all the SLURM content (default is\n /usr/local/etc/slurm.json)\n -P Include the list of IXP LANs from PeeringDB. While some of\n them already have AS0 ROAs, not all of them do. Overlapping\n ROAs are fine, so it will be okay to generate them anyway\n -N Use the NRO delegated stats\n -C Use the Team Cymru's bogons list\n\nVersion 0.3.1\n```\n\nYou have to specify if you want to use the Team Cymru lists (`-C`) or the NRO delegated stats (`-N`). For bogons only, use the Team Cymru lists, but if you want to include any network that's not assigned or allocated at the moment, it's better to use the NRO file.\n\n## Using it with a validator\n\n### Routinator\n\nYou should start routinator with the *-x* switch, providing the path to the file (the file is saved by the tool into */usr/local/etc/slurm.json*)\n\n### RIPE NCC Validator 3\n\nYou can use curl to supply the file to the validator:\n\n```shell\n/usr/local/bin/curl -X POST -F \"file=@slurm.json\" localhost:8080/api/slurm/upload\n```\n\n### Forth\n\nUse the *--slurm* option when running the software.\n\n## Recommendations\n\nSince the bogon files are updated daily, a daily run via cron is suggested for this tool.\n\n",
"bugtrack_url": null,
"license": "BSD",
"summary": "RPKI AS0 Slurm file generator for bogons",
"version": "0.3.2",
"project_urls": {
"Homepage": "https://github.com/stucchimax/rpki-as0-bogons"
},
"split_keywords": [
"rpki",
"prefix",
"routing",
"networking"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "fff748b88a615be38d85236473fad1d0c4c8b4f661adcc484592611e0e2b1c6e",
"md5": "3cd3099799627d294143e77e04ce2fc4",
"sha256": "6d2c98bc7081eb5acb737018a085393aab1dd3c99ed5b25fdf81b39fe6995d72"
},
"downloads": -1,
"filename": "rpki-as0-bogons-0.3.2.tar.gz",
"has_sig": false,
"md5_digest": "3cd3099799627d294143e77e04ce2fc4",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 5557,
"upload_time": "2023-12-06T08:27:44",
"upload_time_iso_8601": "2023-12-06T08:27:44.820026Z",
"url": "https://files.pythonhosted.org/packages/ff/f7/48b88a615be38d85236473fad1d0c4c8b4f661adcc484592611e0e2b1c6e/rpki-as0-bogons-0.3.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-12-06 08:27:44",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "stucchimax",
"github_project": "rpki-as0-bogons",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [],
"lcname": "rpki-as0-bogons"
}