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)
|