Skip to content
This repository has been archived by the owner on Feb 13, 2021. It is now read-only.


Folders and files

Last commit message
Last commit date

Latest commit



59 Commits

Repository files navigation

ProXy as a Service (PXaaS) virtual Network Function (vNF)

Vagrant configuration file for PXaaS vNF provisioning in the framework of the T-NOVA project.

A Debian Jessie box is built, which contains Squid, SquidGuard and a dashboard.

The PXaaS vNF enables the provider to deploy a proxy/filtering/web access service on demand onto a cloud infrastructure.

Squid typically uses only a single processor, even on a multi-processor machine. To get increased web-caching performance, it is better to scale the web cache out across multiple vNFs.

Host machine requirements

Provision the VM

Step 1. Clone the proxy-build repository, and cd into the folder:

    git clone && cd proxy-build

Step 2. Provision the VM:

    vagrant up --provider libvirt

Once provisioning is done, the VM should be up and running with Squid, SquidGuard, preconfigured blacklists and dashboard.

Step 3. Change the vagrant user's password so users can log in:

    vagrant ssh
    sudo passwd vagrant

Step 4. On your dev machine, access the dashboard at http://pxaas. To test the Squid proxy do:

    curl -x pxaas:8000

To test that site blocking is enabled do:

    curl -x pxaas:8000

Reload the VM configuration

The VM is configured to pull new commits into the dashboard directory on reload. Execute:

    vagrant reload

Local VM development

To work on the local VM, first provision it and then use a sandbox environment to test, commit or rollback additional configuration.

Step 1. Install the sahara and fog plugins

    vagrant plugin install sahara
    vagrant plugin install fog

Step 2. Enter sandbox mode

    vagrant sandbox on

Step 3. Save the changes permanently

    vagrant sandbox commit

OR Step 3. Rollback the changes

    vagrant sandbox rollback

Step 4. Exit sandbox mode

    vagrant sandbox off