VPN Deploy Playbook
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
[sudo] pip install ansible
install Ansible in control machineansible-galaxy install --force -r requirements.yml
install / update some third party roles .cp ansible_hosts{.example,}
copyansible_hosts.example
toansible_hosts
- edit the file to add your servers
- edit files in
group_vars
or create and edithost_vars/SERVER_NAME.yml
to fit your needs - 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.