Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Dynamic routing daemon for setting up OpenVPN in clouds with disparate IP ranges as described in http://www.linuxjournal.com/article/9915

branch: master
README
This archive includes cube-routed, a dynamic routing daemon for VcubeV.
For more details, please visit http://www.cohesiveft.com/developer/

cube-routed is available under Common Public Attribution License
Version 1.0 (CPAL) - please refer to LICENSE.txt (included in this archive)
for the full text of the license. Parts of the script are available
under modified BSD license - please refer to the source code.

REQUIREMENTS
- Linux operating system
- Configured OpenVPN server, with management interface enabled
- Python 2.4 or later

INSTALLATION
- Copy cube-routed to a directory of your choice (for example,
    /usr/local/sbin)
- Adjust the first line of the script ("shebang" line) to point to
    location of Python 2.4 or later on your system

CONFIGURATION
- Create cube-routed confguration file in a directory of your choice
    (e.g., /etc) and give it a name of your choice (e.g., cube1.conf)
	with the following contents:

=== /etc/cube1.conf starts here ===
mgmt_interface = tun1
data_interface = tun0
remote_mgmt_ip = 10.200.200.5
remote_data_ip = 10.100.100.101
openvpn_mgmt_pass_file = /etc/openvpn/pass
openvpn_mgmt_port = 5656
cube_routed_port = 5657
=== /etc/cube1.conf ends here ===

- Adjust values of each parameter as follows:
  mgmt_interface - OpenVPN network interface that corresponds to
                   VcubeV management subnet (if not sure, use tun1)
  data_interface - OpenVPN network interface that corresponds to
                   VcubeV data subnet (if not sure, use tun0)
  remote_mgmt_ip - IP address of remote cube-routed instance
                   on management subnet
  remote_data_ip - IP address of remote cube-routed instance
                   on data subnet
  openvpn_mgmt_pass_file - path to OpenVPN management password file
                   based on OpenVPN configuration ("management" command)
                   (e.g.: management tunnel 5656 /etc/openvpn/pass)
  openvpn_mgmt_port - local TCP port of the management interface of _data_ (!)
                   OpenVPN server (the one which provides data_interface)
  cube_routed_port - TCP port on which cube-routed must listen
                   for requests (must be the same on both cube-routed
				   instances)

- Note that remote cube-routed instance will usually have an identical
    configuration file, except remote_mgmt_ip and remote_data_ip will
	point to this instance

START UP

- Make sure both mgmt_interface (usually tun1) and data_interface (tun0)
    are up.
- Start cube-routed as root: # /usr/local/sbin/cube-routed /etc/cube1.conf
    (root powers are required to adjust system routing tables)
- cube-routed will write info and debug messages to syslog (log files
    are usually located under /var/log)

PORTABILITY

cube-routed was tested and currently is running on Linux (specifically
Debian Etch). It should work on all Linux flavors without changes. It depends
on /bin/netstat and /sbin/route - if both of these have the same interface
and output on your system as they do in Linux, you should be able to run
cube-routed without changes.

QUESTIONS / SUPPORT

Please visit http://www.cohesiveft.com/developer/
Something went wrong with that request. Please try again.