bird looking glass
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
Go to file
Joey Julian König 5e26f3c67a Update README.mkd
- Added lg.as49697.net
- Updated lg.meerfarbig.net to meerblick.io
- Deleted the not longer existent netshelter LG
2 years ago
init Add example systemd unit files, courtesy of ARN 5 years ago
static Generalize requests without arguments in JS 2 years ago
templates Fix XSS when handling query 2 years ago
.gitignore Move config files to .cfg.example 2 years ago
COPYING Update COPYING 6 years ago
README.mkd Update README.mkd 2 years ago
bird.py Basic python reformatting 3 years ago
gpl-3.0.txt Add licence and readme 12 years ago
lg.cfg.example Move config files to .cfg.example 2 years ago
lg.py Allow setting log history size 2 years ago
lg.wsgi use current file name 11 years ago
lgproxy.cfg.example Move config files to .cfg.example 2 years ago
lgproxy.py Allow setting log history size 2 years ago
lgproxy.wsgi Change lg-proxy to lgproxy to easly import it in wsgi 10 years ago
toolbox.py Use dnspython built-in cache to cache DNS queries for BGPmap 2 years 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