Instal·lant OpenVPN server en una Raspberry Pi

Una cosa super util en una Raspberry per poder connectar-nos des d'on sigui serà el muntar un servidor VPN, en un document anterior ja vam veure com muntar-lo, pero era con PPTP, alguna cosa no gaire segura diguem, en aquest document veurem com instal·lar OpenVPN en una Raspberry, us deixo uns apunts perquè podeu muntar una VPN segura i us podeu connectar des de qualsevol lloc!

raspberry-openvpn-00-bujarra

OpenVPN nos ofrece una combinación de seguridad a nivel empresarial, seguridad, facilidad de uso y riqueza de características. La seguridad es lograda mediante cifrado del tráfico usando mecanismos SSL/TLS, por lo que en este documento nos desplegaremos además de OpenVPN en sí, nuestra propia CA, generaremos los certificados para los usuarios y daremos sus claves para que se conecten! Si no tenim una IP pública fixa, sería ideal combinarlo con el cliente NO-IP en nuestra Raspberry!!!

 

Comenzamos con la instalación de OpenSSL:

[sourcecode]sudo apt-get install openvpn openssl
cd /etc/openvpn
sud el seu
cp -r /usr/share/doc/openvpn/examples/easy-rsa/2.0/ /etc/openvpn/easy-rsa[/sourcecode]

Editaremos con ‘vim easy-rsa/varsy corregiremos la siguiente ruta con el path correcto: ‘export EASY_RSA=”/etc/openvpn/easy-rsa”‘.

Creamos los certificado del servidor y de un cliente además de la clave, al rellenar la información del certificado con que indiquemos el ‘Common namesería suficiente, comencem:

[sourcecode]./easy-rsa/clean-all
cd easy-rsa
ln -s openssl-1.0.0.cnf openssl.cnf
cd ..
./easy-rsa/build-ca OpenVPN
./easy-rsa/build-key-server server (y a todo)
./easy-rsa/build-key client1
./easy-rsa/build-dh[/sourcecode]

Creamos nuestro archivo de configuración con ‘vim /etc/openvpn.confy con esta configuración sería suficiente:

[sourcecode]dev tun
proto udp
port 1194
ca /etc/openvpn/easy-rsa/keys/ca.crt
cert /etc/openvpn/easy-rsa/keys/server.crt
key /etc/openvpn/easy-rsa/keys/server.key
dh /etc/openvpn/easy-rsa/keys/dh1024.pem
user nobody
group nogroup
server 10.8.0.0 255.255.255.0
persist-key
persist-tun
status /var/log/openvpn-status.log
verb 3
client-to-client
push "redirect-gateway def1"
#set the dns servers
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
log-append /var/log/openvpn
comp-lzo[/sourcecode]

Ejecutamos lo siguiente para permitir el enrutado a nuestra red, en este ejemplo uso el interfaz Wifi wlan0, si usas ethernet deberías poner eth0; ojo al rango IP por si tu red no es la 192.168.1.0/24 para cambiarlo y por último la 192.168.1.197 es la dirección de mi Raspberry Pi:

[sourcecode]echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o wlan0 -j SNAT –to 192.168.1.197[/sourcecode]

Editamos ‘vim /etc/sysctl.confy descomentamos’ net.ipv4.ip_forward = 1′
Ya podremos arrancar OpenVPN con: ‘/etc/init.d/openvpn start’.

Crearemos nuestro fichero de configuración OpenVPN para los clientes, ejecutamos ‘vim conexion_vpn.ovpn y poner:

[sourcecode]dev tun
client
proto udp
remote NOMBRE_O_DIRECCIÓN_IP_(PUBLICA)_DE_LA_RASPBERRY 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client1.crt
key client1.key
comp-lzo
verb 3[/sourcecode]

Editamos ‘vim /etc/rc.localy ponemos al final antes del último exit (ojo al rango IP del ejemplo, interfaz y dirección de la Raspberry Pi:

[sourcecode]iptables -t nat -A INPUT -i wlan0 -p udp -m udpdport 1194 -j ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o wlan0 -j SNATto-source 192.168.1.197[/sourcecode]

Nos copiamos los certificados y los clientes para tenerlos cerca, nos haremos propietarios de los ficheros que entregaremos a los clientes:

[sourcecode]cp -rf /etc/openvpn/easy-rsa/keys /home/pi
chown pi:pi /home/pi/keys para poder copiarlas con SCP a nuestros PCs
sudo chmod 777 /home/pi/keys/client1.key[/sourcecode]

Copiaremos a los PCs que se quieran conectar los siguientes ficheros: ca.crt, client1.crt y client1.key

I per últim, tendremos que tener en cuenta en abrir los siguientes puertos en nuestros firewalls/routers para permitir el acceso desde Internet a nuestras redes: TCP 443, TCP 943 & UDP 1194.

Posts recomanats

Autor

nheobug@bujarra.com
Autor del blog Bujarra.com Cualquier necesidad que tengas, no dubtis a contactar amb mi, us intentareu ajudar sempre que pugui, compartir és viure ;) . Gaudir dels documents!!!

Novedades de VMware vSphere 6

30 de March de 2015