vpn-deploy-playbook icon indicating copy to clipboard operation
vpn-deploy-playbook copied to clipboard

A Collection of Ansible Playbook for deploy vpn services

VPN Deploy Playbook Build Status

A collection of Ansible Playbooks to deploy VPN and proxy services.

Playbooks:

  • auth.yml : setup FreeRadius server for authentication and accounting
  • pptp.yml : setup PPTP server
  • proxy-*.yml : setup Shadowsocks
  • cow-*.yml : setup COW
  • ipsec.yml : setup IPSec IKEv1/IKEv2/L2TP over IPsec VPN server with StrongSwan and xl2tpd
  • sane-dns.yml : setup fqdns
  • chinadns.yml : setup ChinaDNS
  • openconnect.yml : setup OpenConnect VPN server for Cisco AnyConnect client
  • https-proxy.yml : setup nghttp2 & squid for https proxy (http2/spdy)
  • openvpn.yml : setup OpenVPN server
  • apnp-*.yml : setup APNP (Squid + Shadowsocks tunnel)
  • sigmavpn.yml : setup SigmaVPN

How to use

  1. [sudo] pip install ansible install Ansible in control machine
  2. ansible-galaxy install --force -r requirements.yml install / update some third party roles .
  3. cp ansible_hosts{.example,} copy ansible_hosts.example to ansible_hosts
  4. edit the file to add your servers
  5. edit files in group_vars or create and edit host_vars/SERVER_NAME.yml to fit your needs
  6. run ansible-playbook PLAYBOOK_NAME.yml to setup servers

There are also some guides (in Chinese) in the Wiki

Testing

Vagrant

Simply clone this repo and make sure you have Vagrant + Virtual Box installed and...

vagrant up ubuntu --no-provision
vagrant provision ubuntu

It may take about 10 ~ 60 minutes depends on your network. Vagrant is using Ubuntu 14.04 (ubuntu/trusty64) for it's OS. If you'd like to test on Debian Wheezy:

vagrant up debian --no-provision
vagrant provision debian

Donating

Support this project and others by ftao via gratipay.

Support via Gratipay