Skip to content

sileht/bird-lg

Repository files navigation

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 [email protected]

Happy users