Puppet module to manage OpenVPN servers
- 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.
# add a server instance
openvpn::server { 'winterthur':
country => 'CH',
province => 'ZH',
city => 'Winterthur',
organization => 'example.org',
email => '[email protected]',
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 directive net.ipv4.ip_forward
!
These fine folks helped to get this far with this module: