Vamos a configurar OpenVPN del modo RoadWarrior con PKI (Public Key Infraestructure)
Un claro ejemplo para explicar el modo RoadWarrior: Son 1 o mas clientes que se conectan (autenticándose) de manera remota desde una PC hacia nuestro «linux OpenVPN Server», y utilizando internet como medio de acceso para ingresar de manera segura a los recursos de la empresa, como serian, un servidor de aplicaciones, mail, recursos compartidos, etc.
Comenzamos con la instalacion:
1) Instalamos OpenVPN
# apt-get install openvpn
2) comenzamos generando los certificados:
01. # cp -a /usr/share/doc/openvpn/examples/easy-rsa /etc/openvpn/
02. # cd /etc/openvpn/easy-rsa/2.0/
03. # . ./vars
04. # ./clean-all
05. # ./build-ca
06. # ./build-key-server servidor
07. # ./build-key cliente1
08. # ./build-dh
09. # cd keys
10. # cp ca.crt ca.key servidor.crt servidor.key dh1024.pem /etc/openvpn/
Explicación paso a paso:
01: Copiamos los scripts con el comando «cp»
02: Nos posicionamos sobre el directorio de scripts
03: Inicializamos variables «. ./vars»
04: blanqueamos el directorio de claves «./clean-all»
05: generamos certificado CA «./build-ca»
Aquí nos nos preguntara un montón de datos sobre la empresa que utiliza el certificado. Sugiero llenarlo con datos reales. NOTA: Debemos prestar mucha atención en el «Common Name». Si en Common Name completamos con «TECHNICO» Lo anotamos o recordamos para no repetirlo en los proximos pasos; ya que en las 3 veces que lo generaremos, necesitamos nombres que no se repitan.
06: Creamos las credenciales para el servidor. » ./build-key-server servidor».
Completamos con los datos anteriores, sin repetir «common name» (como mencionamos anteriormente).
07: Creamos las credenciales para el cliente. » ./build-key cliente1″. Esto va a generar «cliente1.key» y «cliente1.crt»
08: Creamos los parámetros con el comando»./build-dh». *dh: Diffie Hellman (Protocolo Criptografico).
09: nos posicionamos en el directorio donde se generaron los certificados «cd keys».
10: copiamos los certificados a /etc/openvpn/
3) Continuamos con la configuración:
Instalamos el editor VI y luego entramos a editar server.conf
# apt-get install vim
# vi /etc/openvpn/server.conf
USO DEL VI Editor
a) Para editar presionan la letra «i» o la tecla <insert>. Luego para finalizar de editar <esc>
b) para guardar y salir del vi: escriben ‘ : ‘ (dos puntos); aparecera un path para escribir.
c) Escriben ‘wq’ y presionan <Enter> (w de write y q de quit). Con esto ya deberian estar nuevamente en el path de linux.
Archivo server.conf:
port 1194 proto udp dev tun persist-tun ca ca.crt cert servidor.crt key servidor.key dh dh1024.pem #Direcciones que se asignaran a los clientes, el server es .1 server 10.1.1.0 255.255.255.0 ifconfig-pool-persist ipp.txt #Routeo para que los clientes alcancen la red local del server (1.0/24) push .route 192.168.1.0 255.255.255.0. #Para que los clientes se visualicen entre ellos #Debe ir junto con la opción routeback en el shorewall client-to-client keepalive 10 120 comp-lzo user nobody group nogroup persist-key persist-tun status openvpn-status.log verb 4
4) Configuración de cliente OpenVPN en Windows XP, Vista o Seven.
a) Descargar: openvpn-2.0.9-gui-1.0.3-install.exe y luego instalarlo.
b) Copiar a la carpeta «C:\Program Files\OpenVPN\config» con WinSCP o desde un Sftp los archivos:
- /etc/openvpn/easy-rsa/2.0/keys/ca.crt
- /etc/openvpn/easy-rsa/2.0/keys/cliente1.crt
- /etc/openvpn/easy-rsa/2.0/keys/cliente1.key
c) Creamos un archivo TXT y lo guardamos como cliente1.ovpn en «C:\Program Files\OpenVPN\config». Luego le pegamos lo siguiente:
tls-client client dev tun proto udp remote 192.168.1.135 # IP o dominio del servidor OpenVPN float #debido a que la IP de arriba es dinamica resolv-retry infinite nobind persist-key persist-tun ca "C:\\Program Files\\OpenVPN\\config\\ca.crt" #revisar las comillas luego de copy/paste cert "C:\\Program Files\\OpenVPN\\config\\cliente1.crt" key "C:\\Program Files\\OpenVPN\\config\\cliente1.key" comp-lzo verb 4
5) Reiniciamos openvpn en Debian
# /etc/init.d/openvpn restart
Stopping virtual private network daemon: server. Starting virtual private network daemon: server.
6) Iniciamos OpenVpn en windows. Ver Imagen
Click con boton derecho en el iconito señalado, y luego click en Connect. Si no nos arroja ningún error significa que todo es un éxito.
______________
Nicolas Tech-Nico.com
Grande Nico, Gracias!
Gracias nico muy buen aporte !!! felicitaciones
Pingback: Configurando OpenVPN entre máquinas Linux e Windows | Blog Seja Livre
Buenisima la nota. Hacía falta un buen articulo como estos.
Si no molesta, tengo dos preguntas. En la linea
remote 192.168.1.135
No debería haber una ip real, para que la maquina clienta encuentre al server?
La otra pregunta es, se puede utilizar ddns con esta tecnología, es decir, que las computadoras windows conecten a una maquina representada por ejemplo como maquina.no.ip.com?
Gracias por su aporte 🙂
Hola Sergio: Si; donde dice 192.168.1.135 deberia ir una IP publica o en su defecto un dominio como http://www.tudominio.com o por que no un dominio de dyndns. Deberia funcionar sin ningun inconveniente. En mi caso tengo esa ip privada porque lo probe con mi maquina virtual virtual box. Saludos. Nicolas
hola que tal. soy nuevo en esto de linux… estoy intentando montar este servicio pero cuando coloco ./var me indiga lo siguiente:
bash: ./var: Permiso denegado
lo estoy intentando en debian 6 recien instalado, espero me puedas guiar al respecto, saludos…
Ricardo, el problema es que no es «./var». Es con doble punto y con s
"../vars"
tech-nico.com
hola buen tutorial
soy nuevo en esto de VPN.
sere preciso…
al momento de iniciar openvpn en windows, al quererme conectar con mi servidor, me manda el siguiente mensaje…
» Inactivity timeout (–ping-restart), restarting
SIGUSR1[soft,ping-restart] received, process restarting
Re-using pre-shared static key
LZO compression initialized »
y se repite otra vez…
no se como puedo solucionarlo..he buscado y buscado..pero no encuentro la solucion…
a que se debe este errror y como lo puedo solucionar.. 😀
gracias !!!
Hola amigos no me funciono el tutorial pero si fuera tan amable el creador de este tutorial de escribirme a mi correo juanantoniofelpha@hotmail.com para que me ayude a crear la VPN en debian 6 esperando su respuesta muy agradecido.