Installatie OpenVPN

By | 23 januari 2013
openvpn

openvpn

Algemeen

Een VPN ofwel een virtueel prive netwerk, maakt het mogelijk om netwerkverkeer versleuteld door een "tunnel" over internet te versturen. Hierdoor kan bijvoorbeeld veilig ge-internet wordt of een bedrijfsnetwerk worden benaderd als gebruik gemaakt wordt van een (publieke) wifi.

Er zijn een aantal stappen nodig om dit te installeren:

  1. installatie en configuratie OpenVPN server
  2. netwerk / firewall aanpassingen
  3. configuratie OpenVPN client

Hoe deze drie stappen kunnen worden uitgevoerd staat hieronder.

OpenVPN server

installatie

Op de website van OpenVPN kan de broncode / source worden download maar voor de meeste distributies is een kant en klaar package.

De installatie van de OpenVPN server is eenvoudig onder de meeste Linux distributies, voor Red Hat, Fedora en dergelijke volstaat:

yum install openvpn easy-rsa

configuratie

Ga naar /usr/share/openvpn/easy-rsa/2.0. Hier staan een aantal scripts om de CA, server en client certifcaten aan te maken. Begin met

. ./vars

en geef

./clean-all

om eventuele eerdere certifcaten te verwijderen en te beginnen met een shone lei.

aanmaken CA

Om het CA certicaat aan te maken geef:

./build-ca

Opmerking: Geef antwoord op de gestelde vragen en vul bij Common Name de volledige naam (FQDN) van de server in!

aanmaken server certificaat

Om het server certificaat te maken, geef:

./build-key-server server

aanmaken client certificaat

Om een client certificaat aan te maken geef:

./build-key client1

Opmerking: De naam van het certificaat, in dit voorbeeld client1 kan natuurlijk vrij worden gekozen. Kies een passende naam, bijv. de naam van een locatie waar de client gebruikt wordt. Aan te bevelen is om voor elke client een certificaat aan te maken. Dit hoeft niet maar is wel veiliger en overzichtelijker. Als meerder clients van hetzelfde certificaat gebruik maken moet dit in de configuratie van de server worden aangegeven door:

duplicate-cn

configuratiebestanden

Ga naar /etc/openvpn en in de standaard installatie staan daar geen bestanden. Maak een directory keys aan en copyeer de inhoud van /usr/share/openvpn/easy-rsa/2.0/keys in deze zojuist aangemaakt keys directory:

cp /usr/share/openvpn/easy-rsa/2.0/keys/* /etc/openvpn/keys/

Copyeer de voorbeeld configuratiebestanden voor de server en client:

cp /usr/share/doc/openvpn-2.2.1/sample-config-files/client.conf /etc/openvpn
cp /usr/share/doc/openvpn-2.2.1/sample-config-files/server.conf /etc/openvpn

Installatie client

Volgt nog…

Netwerk configuratie

Om verkeer van de tunnel naar bijv. het interne netwerk of internet te regelen en om toegang te krijgen tot de OpenVPN server zijn een aantal aanpassingen nodig in de netwerkconfiguratie.

Het opzetten van de firewall om toegang tot de OpenVPN server indien deze op de standaard port 1194/udp luistert en de gebruikte netwerkinferface eth0 is:

iptables -A INPUT -p udp -m state --state NEW -m udp --dport 1194 -j ACCEPT

Het toelaten van verkeer tussen de tunnel en eth0 en NAT instellen:

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
iptables -I FORWARD -i tun0 -o eth0 -s 10.8.0.0/24 -m conntrack --ctstate NEW -j ACCEPT
iptables -I FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT