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.
- KVM/VirtualBox
- Vagrant
- vagrant-vbguest plugin if provisioned with VirtualBox or vagrant-libvirt plugin if provisioned with libvirt
- vagrant-hosts plugin for managing local DNS resolution
Step 1. Clone the proxy-build repository, and cd into the folder:
git clone https://github.com/T-NOVA/proxy-build && 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 http://google.com
To test that site blocking is enabled do:
curl -x pxaas:8000 http://facebook.com
The VM is configured to pull new commits into the dashboard directory on reload. Execute:
vagrant reload
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