Per a tenir un servidor VPN a la raspberry pi amb OpenVPN cal seguir els següents passos, tot com a root:
1.- Instal·lar el paquet openvpn
apt-get install openvpn
2.- Copiar els fitxers base de easy-rsa al directori de l'openvpn
cp -r /usr/share/easy-rsa /etc/openvpn
3.- Editar el fitxer vars del directori /etc/openvpn/easy-rsa per a afegir les entrades que corresponguin, en el meu cas:
4.- Carreguem el fitxer que acabem de generar amb source
source vars
5.- Generar claus CA
./build-ca
6.- Generar claus servidor i Diffie-Hellman
./build-key-server gondor.xarxa
Demanrà els mateixos paràmetres que el pas anterior
./build-dh
El build-dh triga uns 5 minuts en acabar
7.- Generar claus usuari
build-key marc
Ara tindrem, dins del directori /etc/openvpn/easy-rsa/keys els fitxers que hem anat generant:
ca.crt: Certificat públic de la CA. S'haurà de fer servir tant al servidor com als clients que vulguem connectar.
gondor.xarxa.crt i gondor.xarxa.key: Certificat públic i clau privada del servidor. Només es fan servir al servidor
dh2048.pem: Els paràmetres de xifrat Diffie-Hellman del servidor
usuari.crt i usuari.key: Certificat i clau privada del usuari, es faran servir als dispositius client.
8.- Configuració servidor openvpn
Copiem el fitxer d'exemple al directori de configuració del openvpn i el descomprimim per a editar-lo
cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/ cd /etc/openvpn gunzip server.conf.gz
Editem el fitxer server.conf, tocant les entrades de claus:
També posem la directiva push per a permetre l'accés a la subxarxa local
Reiniciem el servei openvpn per a que agafi els canvis