netsoc in a box
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
RedBrick f764672720 Mitigate HTTPoxy vulnerability in nginx 5 years ago
deployment Mitigate HTTPoxy vulnerability in nginx 5 years ago
.gitattributes Initial commit 8 years ago
.gitignore Ignore temporary Vagrant information. 8 years ago
.travis.yml Fix Travis tests 7 years ago Update readme to reflect latest LTS Ubuntu 5 years ago
Vagrantfile Allocate more resources for logging VM 5 years ago Missing dependencies during 5 years ago

Netsoc Build Status


While you’re waiting, read the free novel we sent you. It’s a Spanish story about a guy named ‘Manual’. - Dilbert

This document details the process for running an entire networking society’s infrastructure in a virtualised fashion.

The assumed distribution for running the virtual machines is Ubuntu LTS. The setup has been shown to run on both Windows and Linux distributions.


Download and install the latest version of:


Download the repository by running git clone


From the VM host, navigate to the repository and issue the command vagrant up. This will launch a number of VMs and begin to configure them.

Log into the management server using vagrant ssh mgmt.


Networking is divided into two seperate networks, a private and a public network.

The private network is a host-only network with an addressing of This allows machines to communicate which each other privately.

The public network is a host-only network with an addressing of This is assumed to be the Internet facing side of the infrastructure even though it is not publicly addressable.

Configuration Management

Currently netsoc is using Ansible. However depending on the use-cases and its effectiveness this may be subject to change.

Ansible is installed onto the mgmt server from where the VMs can be configured. To log into the management server run vagrant ssh mgmt.


Ansible is installed in /opt/ansible using virtualenv and pip. The Ubuntu version is not used as it is out of date and is lacking several security related patches. netsoc installs Ansible scripts in /usr/local/sbin/ so that they are accessible to the system without needing to use virtualenv manually.


/etc/ansible/hosts contains the hosts that Ansible will manage.


ansible --list-hosts all will display all the hosts.

To Test if the host is reachable with Ansible use ansible all -m ping --ask-pass.