bird looking glass
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
Baptiste Jonglez 7f1c701e19 README: Improve installation / configuration doc 4 months ago
init Add example systemd unit files, courtesy of ARN 3 years ago
static Generalize requests without arguments in JS 4 months ago
templates Fix XSS when handling query 4 months ago
.gitignore Move config files to .cfg.example 4 months ago
COPYING Update COPYING 4 years ago
README.mkd README: Improve installation / configuration doc 4 months ago
bird.py Basic python reformatting 1 year ago
gpl-3.0.txt Add licence and readme 10 years ago
lg.cfg.example Move config files to .cfg.example 4 months ago
lg.py Allow setting log history size 4 months ago
lg.wsgi use current file name 9 years ago
lgproxy.cfg.example Move config files to .cfg.example 4 months ago
lgproxy.py Allow setting log history size 4 months ago
lgproxy.wsgi Change lg-proxy to lgproxy to easly import it in wsgi 8 years ago
toolbox.py Use dnspython built-in cache to cache DNS queries for BGPmap 4 months ago

README.mkd

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