[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Testbed-admins] MetaVPN - A tool to manage OpenVPN instances



Hi all,

I have been developing a tool called MetaVPN, which has now
reached a usable state. This is a tool that manages instances
of OpenVPN, configuring, starting and stopping, building
server and client configurations, etc. OpenVPN is a VPN
tool that creates a layer2 (or layer3, but MetaVPN does not support
that yet) network, which may be useful for various kinds of experiments.
Configuration of OpenVPN is a fairly heavyweight operation, both in
terms of learning and hassle - MetaVPN wraps all of that into a set of
scripts. It is not tightly integrated into Emulab (this is intentional),
so those interested in using it in other testbeds (or outside the
context of testbeds) may find it useful.

Sample usage:
./metavpn add port=4096 exp=thisexperiment expnwk=data1 type=tap
./metavpn show
	# Let's assume it was given the ID of 1
./metavpn nodeadd 1 bigpc
./metavpn nodeadd 1 smallpc
./metavpn up 1
./metv_direct_keygen 1 bigpc my.vpnserver.org



Requirements: OpenVPN 2.1 or above. Perl 5.8 or above. Various perl
modules (see the README in the distribution for specifics).

Acquiring: Right now it is hosted in Utah's "emulab-contrib" git
repository. If you have git, you can retrieve it with:

git clone git://git-public.flux.utah.edu/emulab-contrib.git
(in the repository, it is under cmu-metavpn).

Some documentation is included in the package, including examples.

If you have any comments, feature requests, etc, please send them my
way. It is in the Whitesmiths indent style, but I intend to keep
developing it outside of Emulab (perltidy can adjust it to whatever
style you like).

--
Pat Gunn
http://www.cs.cmu.edu/~pgunn/
Principal Research Programmer/Analyst, CMCL
School of Computer Science, Carnegie Mellon University