summaryrefslogtreecommitdiff
path: root/puppet/modules/openvpn/Readme.markdown
blob: 6bcf49ea6a2ff8aa00f14000d31bde57c66a5646 (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
# OpenVPN Puppet module

Puppet module to manage OpenVPN servers

## Features:

* Client-specific rules and access policies
* Generated client configurations and SSL-Certificates
* Downloadable client configurations and SSL-Certificates for easy client configuration
* Support for multiple server instances

Tested on Ubuntu Precise Pangolin, CentOS 6, RedHat 6.


## Dependencies
  - [puppet-concat](https://github.com/ripienaar/puppet-concat)


## Example

```puppet
  # add a server instance
  openvpn::server { 'winterthur':
    country      => 'CH',
    province     => 'ZH',
    city         => 'Winterthur',
    organization => 'example.org',
    email        => 'root@example.org',
    server       => '10.200.200.0 255.255.255.0'
  }

  # define clients
  openvpn::client { 'client1':
    server => 'winterthur'
  }
  openvpn::client { 'client2':
    server   => 'winterthur'
  }

  openvpn::client_specific_config { 'client1':
    server => 'winterthur',
    ifconfig => '10.200.200.50 255.255.255.0'
  }
```

Don't forget the [sysctl](https://github.com/luxflux/puppet-sysctl) directive ```net.ipv4.ip_forward```!


# Contributors

These fine folks helped to get this far with this module:
* [@jlambert121](https://github.com/jlambert121)
* [@jlk](https://github.com/jlk)
* [@elisiano](https://github.com/elisiano)