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:

Security enhancements for telnet and http access:

Bug fixes:



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
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
rcp(config-if eth0)#no shutdown
rcp(config-if eth0)#exit
rcp(config)#ip default-gateway
rcp(config)#ip name-server
rcp(config)#ip name-server

Save the configuration:

rcp(config)#copy run start