summaryrefslogtreecommitdiff
path: root/puppet/modules/site_openvpn/manifests/server_config.pp
blob: e0e8db4fe9a055a0c49e093b3672b22163ffb925 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
define site_openvpn::server_config($port, $protocol) {
  $openvpn_configname=$name
  notice("Creating OpenVPN $openvpn_configname:  
    Port: $port, Protocol: $protocol")

  $openvpn_server=$::fqdn
  # we don't need a ca generated
  #openvpn::server {
  #  $openvpn_configname:
  #      country      => hiera("country"),
  #      province     => hiera("province"),
  #      city         => hiera("city"),
  #      organization => hiera("organization"),
  #      email        => hiera("email");
  #}

  # configure server
  # all config options need to be "hieraized"

  openvpn::option {
    "dev $openvpn_configname":
        key    => "dev",
        value  => "tun",
        server => "$openvpn_server";
    "script-security $openvpn_configname":
        key    => "script-security",
        value  => "3",
        server => "$openvpn_server";
    "daemon $openvpn_configname":
        key    => "daemon",
        server => "$openvpn_server";
    "keepalive $openvpn_configname":
        key    => "keepalive",
        value  => "10 60",
        server => "$openvpn_server";
    "ping-timer-rem $openvpn_configname":
        key    => "ping-timer-rem",
        server => "$openvpn_server";
    "persist-tun $openvpn_configname":
        key    => "persist-tun",
        server => "$openvpn_server";
    "persist-key $openvpn_configname":
        key    => "persist-key",
        server => "$openvpn_server";
    "proto $openvpn_configname":
        key    => "proto",
        value  => "$proto",
        server => "$openvpn_server";
    "cipher $openvpn_configname":
        key    => "cipher",
        value  => "BF-CBC",
        server => "$openvpn_server";
    "local $openvpn_configname":
        key    => "local",
        value  => $ipaddress,
        server => "$openvpn_server";
    "tls-server $openvpn_configname":
        key    => "tls-server",
        server => "$openvpn_server";
    "server $openvpn_configname":
        key    => "server",
        value  => "$server",
        server => "$openvpn_server";
    "lport $openvpn_configname":
        key    => "lport",
        value  => "$port",
        server => "$openvpn_server";
    "management $openvpn_configname":
        key    => "management",
        value  => "/var/run/openvpn-$openvpn_configname.sock unix",
        server => "$openvpn_server";
    "comp-lzo $openvpn_configname":
        key    => "comp-lzo",
        server => "$openvpn_server";
    "topology $openvpn_configname":
        key    => "topology",
        value  => "subnet",
        server => "$openvpn_server";
    "client-to-client $openvpn_configname":
        key    => "client-to-client",
        server => "$openvpn_server";
  }

}