netsoc in a box

RedBrick f764672720 Mitigate HTTPoxy vulnerability in nginx 1 year ago
deployment f764672720 Mitigate HTTPoxy vulnerability in nginx 1 year ago
.gitattributes e0552f7c23 Initial commit 4 years ago
.gitignore e0b6e85c71 Ignore temporary Vagrant information. 4 years ago
.travis.yml 48d17214df Fix Travis tests 3 years ago a97dc29b2f Update readme to reflect latest LTS Ubuntu 1 year ago
Vagrantfile 4208314b57 Allocate more resources for logging VM 1 year ago d19da7e449 Missing dependencies during 1 year 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.