Sending this port out now as there was some interest in arouteserver, I
haven't got it working yet though and won't have time to look at it much
for a few days (and then I doubt I know enough of Python to figure it out).

Contains:

sysutils/py-packaging (seems to be needed)
net/arouteserver

Initial setup is script-driven, here's an example transcript:


--snip-----------------------------------------------
:
:$ arouteserver setup
:ARouteServer setup
:
:Where do you want configuration files and templates to be stored? (default: 
~/arouteserver)
:Do you confirm you want ARouteServer files to be stored at 
/home/sthen/arouteserver? [YES/no]
:Installing configuration files into /home/sthen/arouteserver...
:
:Creating /home/sthen/arouteserver... OK
:Populating /home/sthen/arouteserver...
:- bogons.yml... OK (created)
:- clients.yml... OK (created)
:- general.distrib.yml... OK (created)
:- log.ini... OK (created)
:- rtt_getter.sh... OK (created)
:- arouteserver.yml... OK (created)
:Installing templates into /home/sthen/arouteserver/templates...
:
:Creating /home/sthen/arouteserver/templates... OK
:Populating /home/sthen/arouteserver/templates...
:Creating /home/sthen/arouteserver/templates/bird... OK
:Populating /home/sthen/arouteserver/templates/bird...
:- common.j2... OK (created)
:- header.j2... OK (created)
:- irrdb.j2... OK (created)
:- macros.j2... OK (created)
:- main.j2... OK (created)
:- rpki.j2... OK (created)
:- clients.j2... OK (created)
:Creating /home/sthen/arouteserver/templates/html... OK
:Populating /home/sthen/arouteserver/templates/html...
:- main.j2... OK (created)
:- macros.j2... OK (created)
:Creating /home/sthen/arouteserver/templates/openbgpd... OK
:Populating /home/sthen/arouteserver/templates/openbgpd...
:- filters.j2... OK (created)
:- header.j2... OK (created)
:- irrdb.j2... OK (created)
:- macros.j2... OK (created)
:- main.j2... OK (created)
:- rpki.j2... OK (created)
:- clients.j2... OK (created)
:Creating /home/sthen/arouteserver/templates/template-context... OK
:Populating /home/sthen/arouteserver/templates/template-context...
:- main.j2... OK (created)
:Creating /home/sthen/arouteserver/cache... OK
:
:Configuration complete!
:
:- edit the /home/sthen/arouteserver/arouteserver.yml file to configure 
program's options
:- edit the /home/sthen/arouteserver/log.ini file to set your logging 
preferences
:- set your route server's options and policies in 
/home/sthen/arouteserver/general.yml
:  (edit it manually or use the 'arouteserver configure' command)
:- configure route server clients in the /home/sthen/arouteserver/clients.yml 
file
:
:$ arouteserver configure
:ARouteServer 2019-10-04 23:17:55,292 INFO Checking latest version
:
:BGP daemon
:==========
:
:Depending on the BGP daemon used for the route server some features may not be
:available.
:
:Details here:
:https://arouteserver.readthedocs.io/en/latest/CONFIG.html#caveats-and-
:limitations
:
:Which BGP daemon will be used? [bird/openbgpd] openbgpd
:Which version? [6.0/6.1/6.2/6.3/6.4/6.5] 6.5
:
:Router server's ASN
:===================
:
:What's the ASN of the route server? 65006
:
:Route server's BGP router-id
:============================
:
:Please enter the route server BGP router-id: 1.1.1.1
:
:List of local networks
:======================
:
:A list of local IPv4/IPv6 networks must be provided here: routes announced by
:route server clients for these prefixes will be filtered out.
:
:Please enter a comma-separated list of local networks: 192.0.2.0/24
:
:
:
:Route server policy definition file generated successfully!
:===========================================================
:
:The content of the general configuration file will now be written to
:/home/sthen/arouteserver/general.yml
:
:Some notes:
:
: - For OpenBGPD, path-hiding mitigation techniques are not implemented.
: - Accepted prefix lengths are 8-24 for IPv6 and 12-48 for IPv6.
: - Routes with 'transit-free networks' ASNs in the middle of AS_PATH are
:rejected.
: - IRR-based filters are enabled; prefixes that are more specific of those
:registered are accepted.
: - PeeringDB is used to fetch AS-SETs for those clients that are not explicitly
:configured.
: - RPKI ROAs are used as if they were route objects to further enrich IRR data.
: - ARIN Whois database dump is fetched from NLNOG to further enrich IRR data.
: - NIC.BR Whois database dump is fetched from Registro.br to further enrich IRR
:data.
: - RPKI BGP Origin Validation is enabled. INVALID routes are rejected.
: - PeeringDB is used to fetch networks prefix count.
: - Routes tagged with the GRACEFUL_SHUTDOWN well-known community (65535:0) are
:processed accordingly to draft-ietf-grow-bgp-gshut.
:
:
--snip-----------------------------------------------



Then try to generate config e.g. with "arouteserver openbgpd", or even
just "arouteserver show_config" :


--snip-----------------------------------------------
:$ arouteserver openbgpd
:ARouteServer 2019-10-04 23:18:48,093 ERROR An unexpected error occurred: bad 
escape \u at position 1
:
:Please consider reporting this issue to the author using the URL below, 
including the following traceback and some hints on how to reproduce it: 
https://github.com/pierky/arouteserver/issues
:
:Traceback (most recent call last):
:  File "/usr/local/lib/python3.7/sre_parse.py", line 1021, in parse_template
:    this = chr(ESCAPES[this][1])
:KeyError: '\\u'
:
:During handling of the above exception, another exception occurred:
:
:Traceback (most recent call last):
:  File "/usr/local/bin/arouteserver", line 64, in <module>
:    if main():
:  File "/usr/local/bin/arouteserver", line 53, in main
:    return cmd.run()
:  File 
"/usr/local/lib/python3.7/site-packages/pierky/arouteserver/commands/tpl_rendering.py",
 line 175, in run
:    builder = builder_class(**self.cfg_builder_params)
:  File 
"/usr/local/lib/python3.7/site-packages/pierky/arouteserver/builder.py", line 
390, in __init__
:    "general")
:  File 
"/usr/local/lib/python3.7/site-packages/pierky/arouteserver/builder.py", line 
104, in _get_cfg
:    obj.load(path)
:  File 
"/usr/local/lib/python3.7/site-packages/pierky/arouteserver/config/base.py", 
line 114, in load
:    self._load_from_yaml_file(cfg_path)
:  File 
"/usr/local/lib/python3.7/site-packages/pierky/arouteserver/config/base.py", 
line 111, in _load_from_yaml_file
:    self._load_from_yaml(f.read())
:  File 
"/usr/local/lib/python3.7/site-packages/pierky/arouteserver/config/base.py", 
line 87, in _load_from_yaml
:    expanded_doc = expand_env_vars(expanded_doc)
:  File 
"/usr/local/lib/python3.7/site-packages/pierky/arouteserver/config/base.py", 
line 81, in expand_env_vars
:    res = re.sub("\$\{" + v + "\}", os.environ[v], res)
:  File "/usr/local/lib/python3.7/re.py", line 192, in sub
:    return _compile(pattern, flags).sub(repl, string, count)
:  File "/usr/local/lib/python3.7/re.py", line 309, in _subx
:    template = _compile_repl(template, pattern)
:  File "/usr/local/lib/python3.7/re.py", line 300, in _compile_repl
:    return sre_parse.parse_template(repl, pattern)
:  File "/usr/local/lib/python3.7/sre_parse.py", line 1024, in parse_template
:    raise s.error('bad escape %s' % this, len(this))
:re.error: bad escape \u at position 1
--snip-----------------------------------------------

Attachment: arouteserver,py-packaging.tgz
Description: application/tar-gz

Reply via email to