roles/dch-openvpn-server: Deploy OpenVPN server
The *dch-openvpn-server* role installs and configures OpenVPN and stunnel to provide both native OpenVPN service as well as OpenVPN-over-TLS. The latter uses stunnel, listening on TCP port 9876, to allow better firewall traversal and TCP port sharing via reverse proxy.jenkins-master
parent
b13f28f505
commit
780c8783db
|
@ -0,0 +1,5 @@
|
||||||
|
ifconfig-push 172.30.0.210 255.255.255.240
|
||||||
|
iroute 192.168.0.0 255.255.0.0
|
||||||
|
iroute 172.16.0.0 255.255.240.0
|
||||||
|
push "route 172.30.0.0 255.255.255.192"
|
||||||
|
push "route 172.31.0.0 255.255.255.224"
|
|
@ -0,0 +1,8 @@
|
||||||
|
-----BEGIN DH PARAMETERS-----
|
||||||
|
MIIBCAKCAQEAjGAb2uSjLYi5GTPl1Xe6Gk+ybwS2L/vk8YKJTwFm8fjt5diIwT3z
|
||||||
|
vEZ8D0EB8SJXsgkbCgAftQojj2dSll4V+3bDjnWT8Tzim2YrgDlShzKavnD8j9xI
|
||||||
|
2/9cHVlQv/og6Nyrsg4kAnL2JV+JtNTWQUsfJ4A/lciH7RwoeVulZwODPIrb+82L
|
||||||
|
Q+hTo/MDGn08Nyqg++AAsfdpp9Nkb6wAEBm6YyXdD3Ai9PVTGWRaYNjjYARIXu8g
|
||||||
|
xQzH84YTgW0WCeYn+JW11n8dWI83ZrkroNC1ec+9ZRoZsKBYyNFhM6yZNRq0Kv8v
|
||||||
|
ZbE+dh9vemhK+3ptEdqXF+Yl+kmVAvJpGwIBAg==
|
||||||
|
-----END DH PARAMETERS-----
|
|
@ -0,0 +1,8 @@
|
||||||
|
- name: restart pyrocufflink openvpn server
|
||||||
|
service:
|
||||||
|
name=openvpn-server@pyrocufflink
|
||||||
|
state=restarted
|
||||||
|
- name: restart stunnel openvpn proxy
|
||||||
|
service:
|
||||||
|
name=stunnel@openvpn
|
||||||
|
state=restarted
|
|
@ -0,0 +1,74 @@
|
||||||
|
- name: ensure required packages are installed
|
||||||
|
package:
|
||||||
|
name=openvpn,stunnel
|
||||||
|
state=present
|
||||||
|
tags:
|
||||||
|
- install
|
||||||
|
|
||||||
|
- name: ensure stunnel configuration is set
|
||||||
|
template:
|
||||||
|
src=openvpn.stunnel.conf.j2
|
||||||
|
dest=/etc/stunnel/openvpn.conf
|
||||||
|
mode=0644
|
||||||
|
notify: restart stunnel openvpn proxy
|
||||||
|
|
||||||
|
- name: ensure openvpn server configuration is set
|
||||||
|
template:
|
||||||
|
src=pyrocufflink.openvpn.conf.j2
|
||||||
|
dest=/etc/openvpn/server/pyrocufflink.conf
|
||||||
|
mode=0644
|
||||||
|
notify: restart pyrocufflink openvpn server
|
||||||
|
- name: ensure openvpn client config dir exists
|
||||||
|
file:
|
||||||
|
path=/etc/openvpn/server/clients
|
||||||
|
mode=0755
|
||||||
|
state=directory
|
||||||
|
- name: ensure openvpn client config files are set
|
||||||
|
copy:
|
||||||
|
src={{ item }}
|
||||||
|
dest=/etc/openvpn/server/clients/{{ item|basename }}
|
||||||
|
mode=0640
|
||||||
|
notify: restart pyrocufflink openvpn server
|
||||||
|
with_fileglob: 'clients/*'
|
||||||
|
|
||||||
|
- name: ensure openvpn ca certificate is installed
|
||||||
|
copy:
|
||||||
|
src={{ item }}
|
||||||
|
dest=/etc/openvpn/server/ca.crt
|
||||||
|
mode=0644
|
||||||
|
with_fileglob: '{{ inventory_hostname }}_ca.crt'
|
||||||
|
- name: ensure openvpn server certificate is installed
|
||||||
|
copy:
|
||||||
|
src={{ item }}
|
||||||
|
dest=/etc/pki/tls/certs/openvpn.cer
|
||||||
|
mode=0644
|
||||||
|
with_fileglob: '{{ inventory_hostname }}.cer'
|
||||||
|
- name: ensure openvpn server private key is installed
|
||||||
|
copy:
|
||||||
|
src={{ item }}
|
||||||
|
dest=/etc/pki/tls/private/openvpn.key
|
||||||
|
mode=0600
|
||||||
|
with_fileglob: '{{ inventory_hostname }}.key'
|
||||||
|
- name: ensure openvpn diffie-hellman parameters file is installed
|
||||||
|
copy:
|
||||||
|
src={{ item }}
|
||||||
|
dest=/etc/openvpn/server/dh2048.pem
|
||||||
|
mode=0600
|
||||||
|
with_fileglob: '{{ inventory_hostname }}.dh'
|
||||||
|
|
||||||
|
- name: ensure stunnel openvpn proxy starts at boot
|
||||||
|
service:
|
||||||
|
name=stunnel@openvpn
|
||||||
|
enabled=yes
|
||||||
|
- name: ensure stunnel openvpn proxy is running
|
||||||
|
service:
|
||||||
|
name=stunnel@openvpn
|
||||||
|
state=started
|
||||||
|
- name: ensure pyrocufflink openvpn server service starts at boot
|
||||||
|
service:
|
||||||
|
name=openvpn-server@pyrocufflink
|
||||||
|
enabled=yes
|
||||||
|
- name: ensure pyrocufflink openvpn server service is running
|
||||||
|
service:
|
||||||
|
name=openvpn-server@pyrocufflink
|
||||||
|
state=started
|
|
@ -0,0 +1,5 @@
|
||||||
|
[openvpn]
|
||||||
|
accept = 0.0.0.0:9876
|
||||||
|
connect = localhost:1194
|
||||||
|
cert = /etc/pki/tls/certs/openvpn.cer
|
||||||
|
key = /etc/pki/tls/private/openvpn.key
|
|
@ -0,0 +1,20 @@
|
||||||
|
dev tun
|
||||||
|
port 1194
|
||||||
|
proto tcp-server
|
||||||
|
mode server
|
||||||
|
tls-server
|
||||||
|
|
||||||
|
ca ca.crt
|
||||||
|
cert /etc/pki/tls/certs/openvpn.cer
|
||||||
|
key /etc/pki/tls/private/openvpn.key
|
||||||
|
dh dh2048.pem
|
||||||
|
|
||||||
|
topology subnet
|
||||||
|
push "topology subnet"
|
||||||
|
ifconfig 172.30.0.208 255.255.255.240
|
||||||
|
route 192.168.0.0 255.255.0.0 172.30.0.210
|
||||||
|
route 172.16.0.0 255.255.240.0 172.30.0.210
|
||||||
|
client-to-client
|
||||||
|
client-config-dir clients
|
||||||
|
|
||||||
|
keepalive 10 120
|
Loading…
Reference in New Issue