1
0
Fork 0
mirror of https://github.com/sileht/bird-lg.git synced 2024-11-16 04:14:43 +01:00
bird looking glass
Go to file
2022-04-05 20:24:00 +02:00
init Add example systemd unit files, courtesy of ARN 2018-05-26 11:28:53 +02:00
static Generalize requests without arguments in JS 2021-06-06 19:40:19 +02:00
templates Fix XSS when handling query 2021-05-10 23:03:14 +02:00
.gitignore Move config files to .cfg.example 2021-06-06 19:41:50 +02:00
bird.py Basic python reformatting 2020-06-15 22:34:25 +02:00
COPYING Update COPYING 2017-08-04 15:28:01 +02:00
gpl-3.0.txt Add licence and readme 2011-12-16 11:06:15 +01:00
lg.cfg.example Move config files to .cfg.example 2021-06-06 19:41:50 +02:00
lg.py Merge branch 'master' of https://github.com/sileht/bird-lg 2022-04-05 20:24:00 +02:00
lg.wsgi use current file name 2012-08-21 11:55:16 +02:00
lgproxy.cfg.example Move config files to .cfg.example 2021-06-06 19:41:50 +02:00
lgproxy.py Allow setting log history size 2021-06-06 19:29:51 +02:00
lgproxy.wsgi Change lg-proxy to lgproxy to easly import it in wsgi 2014-02-18 11:52:43 +01:00
README.mkd Update README.mkd 2021-11-28 23:25:08 +01:00
toolbox.py Use dnspython built-in cache to cache DNS queries for BGPmap 2021-05-10 23:03:37 +02:00

BIRD-LG

Overview

This is a looking glass for the Internet Routing Daemon "Bird".

Software is split in two parts:

  • lgproxy.py:

    It must be installed and started on all bird nodes. It act as a proxy to make traceroute and bird query on the node. Access restriction to this web service can be done in file "lgproxy.cfg". Two access restriction methods can be configured: based on source IP address or based on a shared secret. Both methods can be used at the same time.

  • lg.py:

    This is the frontend, a web based UI that request informations to all lgproxy.py nodes. The domain and the list of all bird nodes can be done.



                                         ***************
                                    +--> * lgproxy.py *
                                    |    ***************
                                    |  
********       *******************  |    ***************
* USER * ----> * webserver/lg.py *--+--> * lgproxy.py *
********       *******************  |    ***************
                                    |  
                                    |    ***************
                                    +--> * lgproxy.py *
                                         ***************

Installation

The web service (lg.py) depends on:

  • python-flask >= 0.8
  • python-dnspython
  • python-pydot
  • graphviz
  • whois

The proxy running on routers (lgproxy.py) depends on:

  • python-flask >= 0.8
  • traceroute
  • ping

Each service can be embedded in any webserver by following regular python-flask configuration. It is also possible to run the services directly with python for developping / testing:

python2 lg.py
python2 lgproxy.py

Systemd unit files are provided in the init/ subdirectory.

Configuration

On your routers, copy lgproxy.cfg.example to lgproxy.cfg and edit the values.

On the web host, copy lg.cfg.example to lg.cfg and edit the values.

License

Source code is under GPL 3.0, powered by Flask, jQuery and Bootstrap.

Copyright © 2012 Mehdi Abaakouk sileht@sileht.net

Happy users