Keine Beschreibung
Du kannst nicht mehr als 25 Themen auswählen Themen müssen mit entweder einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

openvpn.yml 2.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. ---
  2. # Installs the OpenVPN virtual private network server.
  3. # ref: https://library.linode.com/networking/openvpn/debian-6-squeeze
  4. - name: Install OpenVPN and dependencies from apt
  5. apt: pkg=$item state=installed
  6. with_items:
  7. - openvpn
  8. - udev
  9. - dnsmasq
  10. - name: Copy setup scripts into place
  11. command: cp -R /usr/share/doc/openvpn/examples/easy-rsa/ /etc/openvpn
  12. - name: Put easy-rsa parameter settings in place
  13. template: src=etc_openvpn_easy-rsa_2.0_vars.j2 dest=/etc/openvpn/easy-rsa/2.0/vars
  14. ###### manually:
  15. # cd /etc/openvpn/easy-rsa/2.0/
  16. # . /etc/openvpn/easy-rsa/2.0/vars
  17. # . /etc/openvpn/easy-rsa/2.0/clean-all
  18. # . /etc/openvpn/easy-rsa/2.0/build-ca
  19. # . /etc/openvpn/easy-rsa/2.0/build-key-server server
  20. #
  21. # for each client:
  22. # . /etc/openvpn/easy-rsa/2.0/build-key $client_name
  23. #####
  24. - name: Generate Diffie-Hellman parameters
  25. command: . /etc/openvpn/easy-rsa/2.0/build-dh creates=/etc/openvpn/easy-rsa/2.0/keys/dh1024.pem
  26. - name: Copy certificates and key files into place
  27. command: cp /etc/openvpn/easy-rsa/2.0/keys/$item /etc/openvpn creates=/etc/openvpn/$item
  28. with_items:
  29. - ca.crt
  30. - ca.key
  31. - dh1024.pem
  32. - server.crt
  33. - server.key
  34. - name: Copy rc.local with firewall and dnsmasq rules into place
  35. copy: src=etc_rc.local dest=/etc/rc.local
  36. - name: Enable IPv4 traffic forwarding
  37. lineinfile: dest=/etc/sysctl.conf regexp="^net.ipv4.ip_forward" line="net.ipv4.ip_forward=1"
  38. - command: echo 1 > /proc/sys/net/ipv4/ip_forward
  39. - name: Allow OpenVPN through firewall
  40. command: $item
  41. with_items:
  42. - iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
  43. - iptables -A FORWARD -s 10.8.0.0/24 -j ACCEPT
  44. - iptables -A FORWARD -j REJECT
  45. - iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
  46. - name: Copy OpenVPN configuration file into place
  47. template: src=etc_openvpn_server.conf.j2 dest=/etc/openvpn/server.conf
  48. notify: restart openvpn
  49. - name: Copy dnsmasq configuration file into place
  50. copy: src=etc_dnsmasq.conf dest=/etc/dnsmasq.conf
  51. notify: restart dnsmasq