RANCID WITH CVSWEB Track 1, PacNOG 6 Nadi, Fiji RANCID Installation ------------------- 1. Start by installing the postfix mail system + mail client # apt-get install postfix # apt-get install mutt (answer "Internet Site" at the question of which type of host you are running) 2. Add an alias for the rancid user in /etc/aliases rancid-all: pacnog rancid-admin-all: pacnog Save the file, then run: # newaliases 3. Install Rancid itself apt-get install rancid-core apt-get install rancid-util apt-get install rancid-cgi apt-get install cvsweb apt-get install cvs 4. Edit /etc/rancid/rancid.conf Find the line with the parameter LIST_OF_GROUPS, and replace it with LIST_OF_GROUPS="all" 5. Change to the rancid user # su -s /bin/bash rancid - Check that you ARE the rancid user: > id - You should see (something like) this: uid=115(rancid) gid=123(rancid) groups=123(rancid) 7. Create /var/lib/rancid/.cloginrc > vi /var/lib/rancid/.cloginrc add user 192.168.0.* cisco add password 192.168.0.* cisco cisco > chmod 600 /var/lib/rancid/.cloginrc 7. Initialize the CVS repository for rancid: > /usr/lib/rancid/bin/rancid-cvs - You should see something similar to this: No conflicts created by this import cvs checkout: Updating all Directory /var/lib/rancid/CVS/all/configs added to the repository cvs commit: Examining configs cvs add: scheduling file `router.db' for addition cvs add: use `cvs commit' to add this file permanently /var/lib/rancid/CVS/all/router.db,v <-- router.db initial revision: 1.1 8. Test login to the router > /usr/lib/rancid/bin/clogin 192.168.0.254 - You should now be logged in to the router, and see something like: RTx# - Type 'exit' to logout 9. Add the router.db > vi /var/lib/rancid/all/router.db Add: 192.168.0.254:cisco:up 10. Let's run rancid! > /usr/lib/rancid/bin/rancid-run (Should take a few seconds) 11. Check out the logs: > cd /var/lib/rancid/logs > ls -l ... View the contents of the file: > more all.* 12. Look at the configs > cd /var/lib/rancid/all/configs > more 192.168.0.254 - If all went well, you can see the config of the router. 13. Let's change an interface Description on the router > /usr/lib/rancid/bin/clogin 192.168.0.254 - At the "nm-gw#" prompt, enter the command: config terminal - You should see: Enter configuration commands, one per line. End with CNTL/Z. nm-gw(config)# - Enter: interface FastEthernet 0/1 - You should get this prompt: nm-gw(config-if)# - Enter: description testing rancid from the NOC - Then type CTRL-Z (press Control + the Z key) - You should now have this prompt: nm-gw# - To save the config to memory: write memory - The router should say: Building configuration... [OK] - Type to exit: exit 14. Let's run rancid again: > /usr/lib/rancid/bin/rancid-run Look at the config and logs > ls /var/lib/rancid/logs/ 15. Let's see the differences > cd /var/lib/rancid/all/configs > cvs log 192.168.0.254 Notice the revisions. Let's view the difference between two versions: > cvs diff -r 1.2 -r 1.3 192.168.0.254 ... your change should appear in the output... 16. Check your mail As the user "pacnog", run the "mutt" mailer to see the mails that Rancid has sent: > exit # su - pacnog > mutt If everything goes as planned, you should be able to read the mails sent by Rancid. (use q or x to quit mutt) 17. Finally, let's make rancid run automatically every 30 minutes from cron CRONTAB REMINDER ---------------- * * * * * Command to be executed - - - - - | | | | | | | | | +----- Day of week (0-6) | | | +------- Month (1 - 12) | | +--------- Day of month (1 - 31) | +----------- Hour (0 - 23) +------------- Min (0 - 59) > crontab -e - Add this line: */30 * * * * /usr/lib/rancid/bin/rancid-run ... then save and quit Installing CVSWeb ----------------- 1. Install cvsweb # apt-get install cvsweb 2. Edit the file /etc/cvsweb/cvsweb.conf: # vi /etc/cvsweb/cvsweb.conf - Change the line: 'local' => ['Local Repository', '/var/lib/cvs'], to 'rancid' => ['Rancid Repository', '/var/lib/rancid/CVS'], - Save and exit 3. Fix a link: # cd /var/www/html # ln -s /usr/share/cvsweb . 4. Open your web browser, and go to this address: http://localhost/cgi-bin/cvsweb/ - Navigate in the corresponding repository, and explore the files.