iBGPlay-full INSTALLATION INSTRUCTIONS ====================================== First, be sure to have read the license conditions at http://www.ibgplay.org/getIt.html#license. An installation of iBGPlay FULL encompasses - a route collector (implemented by Quagga) - a database of routing data (implemented by MySql) - the iBGPlay server (a java application that runs on you server) - the iBGPlay client (a java application that runs on every client) PREPARING FOR INSTALLATION -------------------------- Our installation procedures have been tested on the following Linux distributions: - Ubuntu 7.10 server - Fedora 8 with Security-Enhanced Linux (SELinux) set to permissive mode. - openSuSE 10.3 - Gentoo 2.6.20-r8 However they may work on other distributions, too. The installation requires MySql to be up and running and Java 1.6 to be installed in the system. Use the following commands to get them. Ubuntu: apt-get install sun-java6-jre mysql-server mysql-client Fedora: yum install mysql mysql-server download java runtime environment 1.6 from http://java.sun.com/javase/downloads/ and install using rpm -i openSuSE: yast --install java-1_6_0-sun mysql mysql-client SuSE do not configure mysql service for starting at boot, anyway, our installation script do that. Gentoo: emerge mysql sun-jre-bin You may want to configure ntp (network time protocol) to avoid skew in the timestamps shown by iBGPlay. Send an email to ibgplay@dia.uniroma3.it to ask activation of the iBGPlay FULL for your organization. The team will provide you with a string (your ORGANIZATION_NAME) that you have to use during the installation procedure. INSTALLATION ------------ The installation scripts allow you to create an initial configuration of iBGPlay. All iBGPlay related software will run in a application account (ibgplay) that is automatically created by the installation scripts along with the corresponding group (login to this account is disabled). They will install the route collector, configure the db and install the iBGPlay server. To install iBGPlay, perform the following steps. 1. Modify the file cfg/install.conf so that it matches with your needs. In particular, you shoud specify - your ORGANIZATION_NAME, *exactly* as communicated to you by the iBGPlay team - one IP address for each BGP router (you have to start with at least one router, more can be added later) - your AS number (iBGPlay collector performs an *iBGP* session with your router) - a password that will be used for the route collector terminal and for the ibgplay database in mysql. - a public IP address of your machine. 2. Run as root ./checkdependency.sh This script checks - if the account and group "ibgplay" exist otherwise it creates them along with home directory - if mysql is installed and running (this is needed both for installation and for operation of iBGPlay) - if java jre 1.6 is installed and available in the PATH for user ibgplay - a small change to /etc/sudoers to allow user ibgplay to run lsof as root If any of the checks fails, fix it before continuing. 3. Run as root ./install.sh install This script performs the following operations. - creates the directory tree (as depicted at the end of this file) in the home of the user ibgplay - configures the database as specified by cfg/install.conf - installs some retrivieving scripts in crontab of user ibgplay for periodic insertion of the routing data and AS names into the database - configure the starting scripts to be run in runlevels 2 3 4 5 CHECKING IF THE COLLECTOR IS PROPERLY WORKING --------------------------------------------- The installation script does *not* start the services itself. To start the route collector run, as root, /etc/init.d/init_routeserver_ibgplay_.sh start You have to configure your iBGP peerings on your router(s). Example cisco configuration: neighbor remote-as neighbor route-reflector-client Announce all your prefixes to iBGPlay. iBGPlay does not announce anything, however you may want filter out all inbound amnouncements, just to be sure. To check that bgp sessions are properly working telnet localhost 30002 Enter the password specified in cfg/install.conf and give sh ip bgp summary You shoud see, in the rightmost column, the number of prefixes learned by the iBGP session. If you see "Active", "Connect" or "Idle" check you router configuration, ip connectivity, firewalls (on your server and on the network), etc. RUNNING THE IBGPLAY SERVER -------------------------- To run the iBGPlay server first be sure that you have ip connectivity with the license server hosted at license.ibgplay.org. The iBGPlay server contacts the license server regularly to check if you are entitled to run iBGPlay. No activation key is required. The iBGPlay team configure the license server to match with your ORGANIZATION_NAME. **** Your routing data are not trasferred to the license server. Only license check **** is performed. Communication with the license server is not encrypted so you can **** check out. Now you can start the iBGPlay server. As root, run /etc/init.d/iBGPlayServer_ibgplay_.sh start Your iBGPlay server do not start if our license server does not acknowledge its license request. If this is the case contact ibgplay@dia.uniroma3.it. Logs can be found in /home/ibgplay/$ORGANIZATION_NAME/server/log. Now, copy iBGPlay client from directory /home/ibgplay/$ORGANIZATION_NAME/client to your client machine and run java -Xmx500m -jar ibgp_client.jar (the client machine must have java 1.6 installed) If iBGPlay client starts, your iBGPlay server is properly working and your installation is completed. Since you collected very few data you do not see very much at the moment. You should have collected at least one day of data to see something interesting and perform even simple queries when editing the list of prefixes to monitor. Refers to the www.ibgplay.org for an overview of the system. For any request of help do not hesitate to contact ibgplay@dia.uniromaf3.it. SHUT DOWN --------- To shut down the service run, as root, /etc/init.d/init_routeserver_ibgplay_.sh stop /etc/init.d/iBGPlayServer_ibgplay_.sh stop UN-INSTALLATION --------------- Be careful, database and mrt-dumps are removed, too! To uninstall iBGPlay run as root ./install.sh remove This remove EVERYTHING (all collected data! both mrt and database), but the "ibgplay" account. If you want to save your dumps first backup /home/ibgplay/mrt-dumps/$ORGANIZATION_NAME To remove the "ibgplay" account, run, as root, userdel -rf ibgplay groupdel ibgplay IBGPLAY INSTALLATION - DIRECTORY TREE ------------------------------------- /home/ibgplay | |-- iBGPlayServer.sh |-- init_routeserver.conf |-- init_routeserver.sh |-- populateMyAsName_potaroo.sh |-- retriever_ibgp.sh |-- server | `-- ibgp_server.jar |-- tools | |-- bgpdump | `-- quagga$SYSTEMARCHITECTURE | |-- bgpd | `-- zebra `--$ORGANIZATION_NAME |-- ascii |-- bgp | |-- bgpd.conf | `-- zebra.conf |-- client | |-- ibgp_client.jar | `-- cfg |-- data | |-- RIBS | `-- UPDATES |-- config | |-- peering.cfg | `-- retriever_ibgp.conf |-- dataArchive -> $ARCHIVEPATH/$ORGANIZATION_NAME/ |-- log `-- server |-- cfg | |-- dataBase.cfg | `-- serverConnection.cfg |-- $ORGANIZATION_NAME.jar -> ../server/ibgp_server.jar `-- log /home/ibgplay/mrt-dumps/ | `--$ORGANIZATION_NAME