Installation information for RRCC project scripts 


PREREQUISITES
-------------

MySQL database server (http://www.mysql.com/downloads/index.html)

perl (5.6.0 or higher)

RPSL Object Library (ftp://ftp.ripe.net/ripe/dbase/software/RPSL-OL-3.1.1.tar.gz)

Mail::Mailer perl module (version 1.50 or higher, get it from http://www.cpan.org/)

IRRToolSet (ftp://ftp.ripe.net/tools/IRRToolSet, version 4.7.1 or higher) [we need 'peval' binary]


INSTALLATION
------------
After unzipping and untarring the distribution, change to directory
that contains the distribution and run configure. A typical run could
be

./configure --with-peval=/usr/local/bin/peval --prefix=/your/inst/dir

Or

./configure --with-perl=/usr/local/bin/perl \
      --with-peval=/usr/local/bin/peval \
      --with-rpslol=/location/of/RPSL/object/library/perl/API --prefix=/your/inst/dir

To learn more options to configure, run './configure --help'.

Then run:

make install

This will install the distribution to the directory you specified in
when running configure (--prefix option).

Edit and run INSTALLATION_DIR/create-rrcc-db.sh to create and initialize the
 rrcc database.

Adjust INSTALLATION_DIR/RRCC.conf according to your setup.


RUNNING THE BUILDER SCRIPTS
---------------------------
route_not_registered.pl:
 This script is used to put the routes that are existent in the BGP
 table, but not registered in the routing registry. Its commmand line
 is like this:

 route_not_registered.pl --conf <conf-file> [--cisco-dump] [--input-file <bgp-dump-file>]

 It accepts two types of BGP dumps: Zebra BGP dumps, and Cisco BGP dumps.
 Zebra BGP dump is generated with Zebra command "dump bgp routes-mrt" (thus,
 in MRT format), and Cisco BGP dumps are generated with "show ip bgp regexp .*"
 Cisco IOS command (thus it is a text file). If --cisco-dump option is given,
 route_not_registered.pl will assume the BGP dump file is a Cisco dump, otherwise,
 it will assume it is a Zebra dump. Note that, the Zebra dump must be a gzip'ped
 file. If --input-file option is not given, the script will assume that the
 BGP dump is in the file called 'bview.gz' in the working directory.
 You can obtain Zebra BGP dumps from RIPE NCC's RIS project (http://ris.ripe.net).
 See http://data.ris.ripe.net for BGP dumps.

 Currently it requires access to a mirror of RIPE Whois DB, as it needs to
 query in the SQL DB of RIPE Whois DB. 

 An example command-line can be: 

 route_not_registered.pl --conf ../RRCC.conf --input-file bview.20021218.0000.gz


route_not_announced.pl
 This script is used to put the routes that are in the Routing Registry,
 but not in the BGP tables (thus it is not announced as it is registered
 in the RR). It is called from the command line like this:

 route_not_announced.pl --conf <conf-file> --route-file <route-file> [--cisco-dump] \
         [--input-file <bgp-dump-file>]
 
 As with route_not_registered.pl, it can read Zebra and Cisco BGP dumps
 (--input-file option). The route objects must be given in a text file,
 and its name must be specified with --route-file switch.

 An example command line might be:

 route_not_announced.pl --conf ../RRCC.conf --route-file ripe.db.route \
      --input-file bview.20021220.0000.gz


as_paths_impossible.pl
 This script updates the rrcc database with non-registered AS peerings. It goes
 through all aut-num objects in the RR, examines the 'export' and 'import'
 attributes of the objects to infer the registered peerings. Then, it goes
 through all ASPATHs in the BGP dump, and detects the peerings that are not
 registered in the aut-num objects.
 It is called from the command line like this:

 as_paths_impossible.pl --conf <conf-file> --aut-num-file <aut-num-file> [--cisco-dump] \
         [--input-file <bgp-dump-file>]

 As with route_not_registered.pl, it can read Zebra and Cisco BGP dumps. It
 expects the aut-num objects in a text file, whose name must be supplied
 to the script with --aut-num-file switch.

 An example command line could be:

 as_paths_impossible.pl --conf ../RRCC.conf --aut-num-file ripe.db.aut-num \
       --input-file bview.20021219.0800.gz


RUNNING THE QUERY SCRIPTS
-------------------------
The query scripts are all CGI scripts, except QUERY/RRCC_mnt-report.pl.

To use the CGI scripts, simply copy them to the cgi directory of
your web server. Of course, the server must have access to the RRCC
database. Note that the configuration file's path is built-in into
the CGI scripts, so if you change the location of the configuration
file, then you will need to edit the CGI scripts.

QUERY/RRCC_query.pl searches for non-announced route objects and
  non-registered but announced prefixes. The input variable's name
  is 'input'.

QUERY/RRCC_fix.pl is used by QUERY/RRCC_query.pl and can suggest
  updates to whois database to fix route object inconsistencies
  and sends the suggestions in an e-mail to the user.

QUERY/RRCC_impos_as_path.pl searches for non-registered AS peerings.
  The input variable's name is 'input'.
  
QUERY/RRCC_autnum_fix.pl is called by QUERY/RRCC_impos_as_path.pl and
  suggests possible fixes in aut-num objects and sends them
  to the user in an e-mail.

QUERY/RRCC_show_routes.pl is called by QUERY/RRCC_impos_as_path.pl and
  shows the routes that contain a specific non-registered peering.

QUERY/RRCC_mnt-report.pl is not a CGI script. It prepares per maintainer
  reports. For example:

$bash> RRCC_mnt-report.pl --conf=../RRCC.conf  mnt-by TESTING-MNT
RRCC Report for the maintainer TESTING-MNT.

Routes that are in the range specified by inetnums and routes
with this maintainer in their mnt-by attributes, and 
with the origins with this maintainer in their aut-num objects'
mnt-by attributes.
 
Report generated at 20/12/2002 15:19:06.

 Routes recorded in the RIPE database but not
 advertised on the Internet.

Prefix              Origin      RIS RRC00 Timestamp Last Seen (UTC)
------------------------------------------------------------------
62.85.0.0/17        AS6996      2002-12-20 00:00:30
195.114.32.0/19     AS6996      2002-12-20 00:00:30


Total 2 non-advertised routes.

There is no non-registered route for this maintainer.

END OF REPORT.


The usage is:
RRCC_mnt-report.pl --conf=<conf-file-path> <mnt-by|mnt-lower|mnt-routes> <mntner_name>


 
$Date: 2003/01/21 14:35:03 $
