rConfig V4 Alpha Available for testing

After months of re-factoring, code tidying, bug fixing, multiple releases and a big promise of v4 with the most required feature of true multi-vendor support... it's finally here! I've released a v4 Alpha version for testing and community feedback. Our main train is current at 3.6.7, and we will continue to release on the 3 train for bug fixes. All new features will be built into v4 from here on out. For those that want to test and develop on V4 alpha, I have outlined that process below. I have also detailed how to use the new 'Profiles' feature in rConfig v4. I cannot stress enough that you absolutely should not use V4 Alpha on your production network.

So, lets get started

The easiest way to get started with v4 alpha is by setting up a new dev server as if you were installing the latest rConfig for the first time. Follow the instructions here,

Once rConfig 3.6.x is completely installed and working (i.e. you can login to rConfig), we now need you setup to 'pull' the v4 development code from git hub. First thing is to rename the 3.6.x directory from 'rconfig' to 'rconfig.old'

[root@localhost rconfig]# cd /home

[root@localhost home]# mv rconfig rconfig.old

Next let's get clone the development branch from rConfigs github repo

[root@localhost rconfig]# git clone -b develop

Cloning into 'rconfig'...

remote: Counting objects: 2855, done.

remote: Compressing objects: 100% (85/85), done.

remote: Total 2855 (delta 41), reused 0 (delta 0), pack-reused 2769

Receiving objects: 100% (2855/2855), 18.20 MiB | 6.04 MiB/s, done.

Resolving deltas: 100% (1792/1792), done.

[root@localhost rconfig]# ll | grep rconfig

drwxr-xr-x 13 root root 4096 Aug 29 12:01 rconfig


Now you will want to run the full rConfig installer again as there are changes to the DB schema that need to take effect for the v4 build. just go to https://YourHostname/install, and complete the installation.

Finally, as always, don't forget to set rConfig directory permissions.

[root@localhost rconfig]# chown -R apache /home/rconfig

When your rConfig v4 Alpha git clone is setup, you will want to check for updates frequently. As this is a working code base, we should expect multiple changes and fixes in the coming weeks. You can check for updates by running the following commands from inside the rconfig directory.

[root@localhost rconfig]# git pull


The new feature - Profiles

Lets take a look at the new feature that will allow us to customize the login process for multi-vendor support. For the alpha release, there are some limitations for multi-vendor support, so let's get those out of the way first.  

1. Only SSH connections are editable
2. Only show command connections are editable (i.e. sending configuration level commands is not customisable right now)
3. Telnet customizion is not available, yet!

The above limits will change as we go through the development process, but in order to get an alpha release out for feedback, I have decided to get one feature at a time working perfectly. 

The basics of the profile feature is that the main sections of code for running commands on devices are directly editable. This means for given device types you can create a whole new section of PHP code to connect to that device, take terminal paging into account, and run regexps to match and gather output from the SSH session. 

Head over to Devices and you will see a new sub menu item called Connection Profiles.

prof 1

On this page you can add, edit and delete profiles. You can also directly edit the profile code. See below

prof 2


You will need to configure new devices for their specific profiles. Please head over to the device configuration pages, and select the correct profile per below.

prof 4 

Below I am going to explain the Code for SSHv2 connections per the above profile. This profile is for a HP switch. Please do not Delete or Edit the 'TelnetDefault' or' sshDefault' profiles code. It may not be easy for all to understand how this works. But think of it as a simple, read and write process. I (being rConfig) will read the output sent back to me until I get a match (read below and think prompt), and when I get a match I will move to the next line and write, or send a command. For this not used to code, just try to avoid typos, and the live editor has a syntax checker so it will tell you when their is an issue. 

My goal here is to build a library of these profiles on

prof 3

Please use github to log issues and for bug tracking and code commits.


Don't backup your Running-Config!

Well, actually do backup your running configuration, but theres so much more data to backup from your network devices using rConfig. 'Show Running-config' is one of many show commands that you use frequently to understand the operating functionality of your network devices. See below where I have outlined a list of other commands you may use. 

show running-config
show arp
show mac-address
show cdp neighbors
show ip ospdf neighbors
show ip route
show ip bgp summary
show run | section bgp
show run | include address

The above commands are primarily taken from Cisco IOS devices CLI, but you get the point. Imagine how much time we could save in troubleshooting issues if we capture all this data and more? What the first question you (should) ask when troubleshooting an unexpected network outage? What Changed, and when? So, often we will find that the running config itself does not change during an issue, but perhaps some prefixes were removed from the routing table due to link flaps, or a CDP neighbor went down due to a power issue on the remote device. We would like to be able to see what that prefix or neighbor was last seen by the network device we are working on. 

We can add any of the above commands and more to the 'commands' section in rConfig. 

config backup article 1

We can see above that individual commands can be linked to one or multiple categories for execution and backup of the output of that command. Lets see and example of the output.

config backup article 2

In the above output we can see a number of configuraiton files for each downloaded command for this device are downloaded for each task on every configured scheduled task date/time. This allows us to easily go back and review the contents for 'show logging' commands, 'show ip route' output and so on...

config backup article 3

When you click a filename from the devices page, you open the above popup window which displays the 'show' command output. You can download the output to a txt file for offline processing also by clicking the top right download icon. 

As you can see its more than useful to set up your categories of devices, and related commands to download important state information from all of your network devices on a frequent basis. You may even want to define a baseline, I have included a template below form which you can start building your best practice backups of Network Devices.

Edge Routers show runn Once Daily @ 0100
show start
show ip route
sh cdp neigh
show ip access-list
show ip osp neigh
show ip bgp summ
Core Routers show runn 4 times Daily @ 0300, 0900, 1500, 2100
show start
show ip route
sh cdp neigh
show ip access-list
show ip osp neigh
show ip bgp summ
show ip bgp  
Show mac-address
Campus Switches show runn Once Daily @ 0200
show start
sh cdp neigh
show ip access-list
Show mac-address
DC Switches show runn 4 times Daily @ 0400, 1000, 1600, 2200
show start
sh cdp neigh
show ip access-list
Show mac-address
show inventory
show ip route


Download template from here


rConfig - How to use the Snippets Feature

Standard configurations are an important part of Network Management. Ensuring that our baseline configuration elements such as NTP, SNMP, Banners, TACACS and Services adhere to our defined best practices, we must use tools to automate and check for compliance against these standards. In this blog post, I will breifly outline how rConfigs Snippet feature can aid in the automated delivery of standard configurations. I will write another post soon on how we can use the Compliance feature to ensure our standards are configured correctly on our network devices. 


Read more: rConfig - How to use the Snippets Feature

rConfig Search Functionality

Finding IP addresses, ACL entries or advanced BGP configurations for your network devices can take time without a fast and accurate Configuration Management tool. rConfig takes 'fast' & 'accurate' to a new level on its search feature. Of all Network Configuration management tools available (at high costs), rConfig has by far the fastest search functionality available. In my experience operating and architecting networks, I do want the information I require to do my work immediatley and without fuss. Lets take a look at how rConfig's search feature performs. 


Read more: rConfig Search Functionality

rConfig 3.5 available

I am delighted that as of today, v3.5.0 is available for download for new installations and upgrades to 3.x installations. While working towards a 4.0 release, I made the decision to release 3.5 to fix some bugs and add some enhancements to 3.1. The full list of changes are in the CHANGELOG. Major changes include a full overhaul to the Database abstraction layer (using PHP PDO) to increase rConfig security, performance and support for CentOS7/ PHP7. I have also removed the previous 'template generator' for now, as I intend to develop a brand new Config Template Generator for v4. I've tested this code already, and it is a very cool feature. I have also built new installation scripts to make the initial installation of rConfig a much easier process. See the install guide below for more information on this.

My next steps are to develop an OVA for easier installation. Add a brand new new Online Demo (with a live networks based on the GNS3 platform) so you can kick the tires on new and existing features before downloading/ upgrading rConfig and also start working on the new v4 feature set. Some of my ideas around v4 are;

  1. IPv6 support
  2. Multi-vendor support
  3. LDAP Integration
  4. Template Configurator
  5. Multi-threading (performance improvement)
  6. UI enhancements

Lots to do for v4, but for now enjoy this release, I think there is a lot of stability in it :)


Facebook LinkedIn Twitter RSS