Skip to content

Development sandbox for Tunfish based on Vagrant

License

Notifications You must be signed in to change notification settings

tunfish/tunfish-sandbox

Repository files navigation


https://ptrace.tunfish.org/thunfisch-160.jpg

The Tunfish System

About

Create a convenient VPN infrastructure on top of secure WireGuard tunnels.

Howto

This runbook will guide you through the process of setting up an appropriate testbed environment. It will provision a number of Vagrant machines and configure them to talk to each other in order.

After that, you will easily be able to conduct connectivity tests and continue with further experiments.

Setup

This section will guide you through setting up a development/testing sandbox on your machine.

Acquire source repository:

git clone https://github.com/tunfish/tunfish-system

Make Vagrant provision and spin up all machines configured in this environment:

vagrant up

Network layout

There are three machines "tf-crossbar", "tf-portier", "tf-gateway-1" and "tf-client-1", completely provisioned by Vagrant.

Here is a short overview as an introduction. Please read this section carefully.

Machines

Public facing hosts:

192.168.42.1        WAMP broker
192.168.42.50       Gateway server 1

DMZ hosts:

192.168.23.1        Portier server

VPN clients:

192.168.100.10      Client 1

Usage

Login to each virtual machine:

vagrant ssh tf-crossbar
vagrant ssh tf-portier
vagrant ssh tf-gateway-1
vagrant ssh tf-client-1

Development

To repeat the virtual machine provisioning, run:

vagrant up --provision

To reprovision just a single host, use:

vagrant up --provision tf-portier

The repository root will be mounted into each virtual machine at /opt/tunfish-system for convenient live editing.

Please be ware to invoke vagrant reload when making changes within the ./salt directory, if something is fishy.

Project information

About

The "Tunfish sandbox" spike is released under the GNU AGPL license. Its source code lives on GitHub.

If you'd like to contribute you're most welcome! Spend some time taking a look around, locate a bug, design issue or spelling mistake and then send us a pull request or create an issue.

Thanks in advance for your efforts, we really appreciate any help or feedback.

License

Licensed under the GNU AGPL license. See LICENSE file for details.

Acknowledgements

Tunfish would not have been possible without these awesome people:

Thank you so much for providing such great infrastructure components and resources to the community! You know who you are.

Troubleshooting

If you encounter any problems during setup, we may humbly refer you to the doc/troubleshooting.rst documentation.

Content attributions


Have fun!