Instalando OpenVPN server en una Raspberry Pi
Algo super util en una Raspberry para poder conectarnos desde donde sea será el montar un servidor VPN, en un documento anterior ya vimos cómo montarlo, pero era con PPTP, algo no muy seguro digamos, en este documento veremos cómo instalar OpenVPN en una Raspberry, os dejo unos apuntes para que podáis montar una VPN segura y os podáis conectar desde cualquier lugar!
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 tenemos una IP pública fija, 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
sudo su
cp -r /usr/share/doc/openvpn/examples/easy-rsa/2.0/ /etc/openvpn/easy-rsa[/sourcecode]
Editaremos con 'vim easy-rsa/vars’ y 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 name’ sería suficiente, has gaitezen:
[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.conf’ y 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
zerbitzaria 10.8.0.0 255.255.255.0
persist-key
persist-tun
egoera /var/log/openvpn-status.log
aditza 3
bezeroa-bezeroari
push "redirect-gateway def1"
#DNS zerbitzariak ezarri
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
log-append /var/log/openvpn
comp-lzo[/sourcecode]
Hurrengoa exekutatzen dugu gure sareara bideratzeko baimena emateko, adibide honetan Wifi interfazea erabiltzen dut wlan0, Ethernet erabiltzen baduzu eth0 jarri beharko zenuke; kontuz IP tartearekin zure sareak ez badu 192.168.1.0/24 aldatu eta azkenik 192.168.1.197 Nire Raspberry Pi-ren helbidea da:
[sourcecode]echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -edo wlan0 -j SNAT –-ra 192.168.1.197[/sourcecode]
Editatu ‘vim /etc/sysctl.conf’ eta deskomentatu’ net.ipv4.ip_forward=1′
Orain OpenVPN abiarazi ahal izango dugu: ‘/etc/init.d/openvpn start’.
Gure OpenVPN konfigurazio fitxategia sortuko dugu bezeroentzat, exekutatzen dugu ‘vim conexion_vpn.ovpn eta jarri:
[sourcecode]dev tun
bezeroa
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
aditza 3[/sourcecode]
Editamos 'vim /etc/rc.local’ y 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 udp –dport 1194 -j ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -edo wlan0 -j SNAT –to-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
Eta azkenik, hurrengo atak irekitzea kontuan izan beharko dugu gure suteen hormetan/abiatzaileetan gure sareetara Internetetik sartzea ahalbidetzeko: TCP 443, TCP 943 & UDP 1194.








































