RCPlive
RCPlive is a free, open source router live CD based on Debian 7 and RCP100 routing suite. The software runs directly from a read-only CD or USB media, and it provides persistence by saving the configuration into a file placed on an existing disk partition.
The image can be burned on a CD or it can be transfered to an USB stick using a program such as UNetbootin. UNetbootin works on Windows, MacOS and Linux.
On Linux you can also use dd directly to transfer the image on your USB stick. Plug your stick into an empty USB slot in your computer and detect the driver handling it (/dev/sdg in my example):
# ls -l /dev/disk/by-id ... lrwxrwxrwx 1 root root 9 Nov 5 09:10 usb-PNY_USB_2.0_FD_AAB21C1100000072-0:0 -> ../../sdg ...
Use dd to transfer the image:
# dd if=RCPlive-1.0.iso of=/dev/sdg
After booting, use rcp/rcp username/password to login into CLI.
Latest version
Version 1.3 brings in several security enhancements and bug fixes. The release is based on:
- Debian 7.4 "wheezy"
- Linux kernel 3.2.54
- RCP100 1.1-test1
Security enhancements for telnet and http access:
- Running the CLI session in a chroot jail.
- Limiting TCP SYN packets to 20 per second.
- Limiting ICMP request packets to 20 per second.
- Introducing a 2 second login session delay if the login fails.
- Dictionary attack detection. Login attempts are logged, and the host trying to access the router is banned for one minute after 6 failed logins in one minute.
Bug fixes:
- Cleaning nat and mangle tables during netfilter initialization.
Download
Documentation
Configuring persistence
Boot the system on RCPlive media and press Alt-F5. This will bring up a root console where you run persist.sh. The script creates a 40MB home-rw file. The file contains an ext2 filesystem mounted at boot time in /home directory. The filesystem stores the configuration, statistics and any other modifications.
.# persist.sh RCPlive stores the configuration in a 40MB file named home-rw. This file is usually placed on an existing Linux or Windows disk partition. The following disk partitions are available: 0: none 1: sda1, HPFS/NTFS, available memory 116G 2: sda2, vfat, available memory 1.4G 3: sda5, ext4, available memory 7.5G 4: sdg1, vfat, available memory 2.0G Please choose a partition, or press 0 to exit: 3 Mounting sda5 partition Creating home-rw file 0+0 records in 0+0 records out 0 bytes (0 B) copied, 4.1326e-05 s, 0.0 kB/s Initializing ext2 filesystem mke2fs 1.42.5 (29-Jul-2012) RCPlive persistence enabled, please reboot the computer.
Reboot the computer to activate persistence:
# reboot
Basic network configuration
Use rcp/rcp as user name/password and log into the system. Change the default passwords for telnet login and HTTP configurator:
User: rcp Password: rcp>en rcp#configure rcp(config)#administrator rcp password secretpasswd rcp(config)#service http password secretpasswd
Set an IP address for eth0 interface, a default gateway address and DNS name servers:
rcp(config)#interface ethernet eth0 rcp(config-if eth0)#ip address 192.168.1.50/24 rcp(config-if eth0)#no shutdown rcp(config-if eth0)#exit rcp(config)#ip default-gateway 192.168.1.1 rcp(config)#ip name-server 8.8.8.8 rcp(config)#ip name-server 8.8.4.4
Save the configuration:
rcp(config)#copy run start