Instala Tu Propio Servidor VPN con OpenVPN en Ubuntu 10.04 Server
ATENCIÓN
Luego de un tiempo sin postear les traigo esta guía de como crear su propia VPN en Ubuntu Server,ya sea para conectarse a la pc de casa o para usar internet de forma segura en redes wifi inseguras.
OpenVPN es un Software que hace de cliente y servidor según como lo configuremos, aclaro que hay 2 versiones de este:
* OpenVPN Community Software: Es la versión que utilizaremos y es 100% Open Source
* OpenVPN Access Server: Es la versión de pago, puede usar gratis solo hasta 2 usuarios, los usuarios adicionales son muy económicos, además tiene extras como panel de administración web, es súper fácil de configurar y mas.
Introducción
OpenVPN, es un producto de software creado por James Yonan en el año 2001 y que ha estado siendo mejorado desde entonces.
Ninguna otra solución ofrece una mezcla semejante de seguridad a nivel empresarial, seguridad, facilidad de uso y riqueza de características.
Es una solución multiplataforma que ha simplificado mucho la configuración de VPN’s dejando atrás los tiempos de otras soluciones difíciles de configurar como IPsec y haciéndola más accesible para gente inexperta en este tipo de tecnología.
Supongamos que necesitamos comunicar diferentes sucursales de una organización. A continuación veremos algunas soluciones que se han ofrecido como respuesta a este tipo de necesidades.
En el pasado las comunicaciones se realizaban por correo, teléfono o fax. Hoy en día hay factores que hacen necesaria la implementación de soluciones más sofisticadas de conectividad entre las oficinas de las organizaciones a lo largo del mundo.
Dichos factores son:
* La aceleración de los procesos de negocios y su consecuente aumento en la necesidad de intercambio flexible y rápido de información.
* Muchas organizaciones tienen varias sucursales en diferentes ubicaciones así como también tele trabajadores remotos desde sus casas, quienes necesitan intercambiar información sin ninguna demora, como si estuvieran físicamente juntos.
* La necesidad de las redes de computación de cumplir altos estándares de seguridad que aseguren la autenticidad, integridad y disponibilidad.
Fuente: Wikipedia
El Servidor:
Esta guía es para Ubuntu 10.04 Server, imagino que funciona en otras versiones y distros, tenemos un ubuntu server ya instalado y funcionando.
Instalamos OpenVPN y también OpenSSL, ya que la seguridad se basa en ssl.
sudo apt-get -y install openvpn sudo apt-get -y install openssl
Configuramos el Demonio de OpenVPN para que No Auto Inicie con el Sistema
Comentamos todo agregando # al comienzo de cada linea.
sudo nano /etc/default/openvpn
tambien eliminar el script de inicio, para evitar que no inicie si configurar
sudo update-rc.d -f /etc/init.d/openvpn remove
Ahora Creamos el Archivo openvpn.conf en /etc/openvpn/
sudo nano /etc/openvpn/server.conf
y colocamos esta configuración
dev tun proto tcp port 1194 ca /etc/openvpn/keys/ca.crt cert /etc/openvpn/keys/servidor.crt key /etc/openvpn/keys/servidor.key dh /etc/openvpn/keys/dh2048.pem user nobody group nogroup server 10.6.0.0 255.255.255.0 ifconfig-pool-persist /etc/openvpn/clients.txt status /etc/openvpn/status.txt persist-key persist-tun push "redirect-gateway def1" push "route 192.168.0.0 255.255.255.0" keepalive 10 120 verb 3 comp-lzo max-clients 3
como verán se puede personalizar, este es un ejemplo que fue probado
si no quieren usar la vpn para internet seguro, osea no navegar usan internet desde la vpn, quitar la linea «redirect-gateway».
Otros datos que pueden modificar:
* ca, cert, key y dh = son la entidad, el certificados, la llave y la Diffie Hellman del servidor, mas adelante los crearemos.
* server 10.6.0.0 255.255.255.0 = es el rango de ip que usara la vpn, usen otro pero, no usar el mismo que la red real.
* ifconfig-pool-persist ipp.txt = guarda a quien se le asigno cada ip en la vpn
* proto y port = protocolo y puerto, se puede usar tcp y utp, en utp no me dio buenos resultados, el puerto es pueden cambiarlo.
* duplicate-cn = permite que se use el mismo certificado y llave en varios clientes al mismo tiempo, recomiendo no activarlo.
* up /etc/openvpn/openvpn.up = es un script que carga openvpn al iniciar, se usa para el ROUTING y FORWARDING, mas adelante lo creamos.
* client-to-client = es para evitar que los usuario de la vpn se vean entre si, según el caso es útil.
* comp-lzo = compresión, comprime todo el trafico de la vpn.
* verb 3 = aumenta o disminuye los detalles de error en el server.
* max-clients 30 = cantidad máxima de usuarios conectados simultáneamente al servidor, se puede aumentar o disminuir.
* push route = permite ver o estar en la red detras del vpn server, ojo no activar client-to-client.
* push «redirect = oblica al cliente a usar la vpn como gateway.
ahora creamos el script para que configure e inicie el servidor de vpn.
sudo nano /etc/init.d/vpnserver
y pegamos este codigo, cambiar el rango de ip según la configuración de paso anterior
#!/bin/sh # vpnserver_start() { echo "VPN Server [OK]" echo 1 > /proc/sys/net/ipv4/ip_forward /etc/init.d/networking restart > /dev/null /sbin/iptables -t nat -A POSTROUTING -s 10.6.0.0/24 -o eth0 -j MASQUERADE /usr/sbin/openvpn --config /etc/openvpn/server.conf 2>> /etc/openvpn/error.txt 1>> /etc/openvpn/normal.txt & } vpnserver_stop() { echo "VPN Server [NO]" /usr/bin/killall "openvpn" iptables -F iptables -X /etc/init.d/networking restart > /dev/null } vpnserver_restart() { vpnserver_stop sleep 1 vpnserver_start } # case "$1" in 'start') vpnserver_start ;; 'stop') vpnserver_stop ;; 'restart') vpnserver_restart ;; *) vpnserver_start ;; esac
ahora le asignamos permisos de ejecutable
sudo chmod +x /etc/init.d/vpnserver
tambien y que configurar para que auto inicie con el sistema
sudo update-rc.d vpnserver defaults
bueno ya configuramos OpenVPN, ahora tenemos que activar el modulo TUN en el kernel, con estas lineas, lo cargamos y listo
sudo modprobe tun sudo echo "tun" >> /etc/modules
como verán no fue tan difícil la configuración, pero ahora viene lo mas lento:
* Crear Diffie Hellman de 2048bits
* Crear la Entidad emisora de certificados.
* Crear los Certificados y llaves del servidor.
* Crear los certificados y llaves de cada usuario.
Copiamos los ejemplo de easy-rsa para crear la entidad, los certificados, llaves y encriptación, que usar OpenVPN,
sudo cp -R /usr/share/doc/openvpn/examples/easy-rsa/ /etc/openvpn/
ahora hay que entrar en la carpeta donde están las utilidades que copiamos y crear la carpeta keys
sudo cp -R /usr/share/doc/openvpn/examples/easy-rsa/ /etc/openvpn/ cd /etc/openvpn/easy-rsa/2.0 sudo mkdir keys
solo nos queda editar el archivo vars que esta en /etc/openvpn/easy-rsa/2.0
sudo nano /etc/openvpn/easy-rsa/2.0/vars
y modificamos estos valores
export KEY_DIR="$EASY_RSA/keys"
por
export KEY_DIR="/etc/openvpn/easy-rsa/2.0/keys"
es para genere si o si en /etc/openvpn/easy-rsa/2.0/keys
seguimos, también modificamos los parámetros para Diffie Hellman de 2048bits
export KEY_SIZE=1024
por
export KEY_SIZE=2048
solo nos faltan los datos para la entidad emisora
export KEY_COUNTRY="US" export KEY_PROVINCE="CA" export KEY_CITY="SanFrancisco" export KEY_ORG="Fort-Funston" export KEY_EMAIL="me@myhost.mydomain"
modifica cada valor por los de tu país, provincia, ciudad, empresa y correo
un ejemplo
export KEY_COUNTRY="AR" export KEY_PROVINCE="SF" export KEY_CITY="Armstrong" export KEY_ORG="LAGA-Systems" export KEY_EMAIL="info@lagasystems.com.ar"
Como ven AR = Argentina, SF = Santa Fe (mi provincia) y los demas se entienden.
bueno ahora estamos preparados para comenzar, seguir estos pasos al pie de la letra, porque un error y se arruina todo.
ejecutamos
source ./vars
y nos pide que limpiemos por si hay entidades, certificados y llaves, lo hacemos con gusto
./clean-all
ahora generamos la seguridad Diffie Hellman de 2048bits
./build-dh
ahora generamos la entidad emisora de certificados les pedirá los mismos datos que en el archivos vars recomiendo completar cada uno, aunque ya están, no importa
./build-ca
ya estamos para poder generar lo certificados y llaves primero el servidor, cambiar server por el nombre que gusten,les pedirá los mismos datos que en el archivos vars recomiendo completar cada uno, aunque ya están, no importa.
./build-key-server servidor
ya tenemos los certificados y llaves de servidor ahora el cliente, cambiar cliente por el nombre que gusten,
les pedirá los mismos datos que en el archivos vars recomiendo completar cada uno, aunque ya están, no importa.
./build-key cliente
este paso se debe repetir para cada cliente o usuario que quiere conectar a la vpn ya tenemos todo para funcionar, no, falta copiar los archivos que generamos al lugar que configuramos en openvpn.conf
ya que copiar la carpeta keys a /etc/openvpn/
sudo cp -R /etc/openvpn/easy-rsa/2.0/keys /etc/openvpn/
ahora comprobamos que este todo en su lugar, entramos en la carpeta /etc/openvpn/keys
cd /etc/openvpn/keys
y con un ls miramos si están los archivos
ahora generamos un archivo mas, este lo genera openvpn
sudo openvpn --genkey --secret ta.key
Solo falta copiar los archivos ca.crt, cliente.crt, cliente.key, si creaste mas clientes copia los crt y key de cada un pendrive u otro medio no usar email para enviarlos, es como darle la llave de tu casa a un desconocido.
Listo ya esta todo en el servidor, ahora lo iniciamos para probar que todo esta correcto
sudo /etc/init.d/vpnserver start
Si no hay errores ya tenemos nuestra vpn funcionando, solo falta el cliente.
El Cliente:
Esta guía es para Ubuntu 10.04 Desktop, imagino que funciona en otras versiones y distros, tenemos un ubuntu ya instalado y funcionando.
Instalamos OpenVPN y también OpenSSL, ya que la seguridad se basa en ssl
y como usaremos el Network Manager de Ubuntu hay que instalar el plugins para OpenVPN
sudo apt-get -y install openvpn sudo apt-get -y install openssl sudo aptitude -y install network-manager-openvpn
Ahora ya estamos en condiciones de configurar nuestro cliente un ejemplo de configuración:
Con un editor de texto, gedit puede ser, pegan este código
client dev tun proto tcp remote IP-DEL-SERVIDOR PUERTO resolv-retry infinite nobind #user nobody #group nobody persist-key persist-tun ca ca.crt cert cliente.crt key cliente.key comp-lzo tun-mtu 1500 keepalive 10 120 verb 4
Modifican los datos, IP-DEL-SERVIDOR este es el ip publico o de internet del servidor y PUERTO por el que asignaron en el servidor, los archivos ca.crt, cliente.crt y cliente.key son los que generamos y copiamos antes en un pendrive o en lo que sea.
Si Tiene IP Publico Dinámico, les recomiendo usar algún servicio de DDNS (DyDNS, NO-IP, CDMon), y no se olvide de abrir y redirigir el puerto 1194 o el que eligieron para el servidor.
Guardan el el código con el nombre que quieran pero con extensión .conf y en la misma carpeta de los archivos ca.crt, cliente.crt y cliente.key
Ahora abre el Network Manager de Ubuntu y en la pestaña VPN hay un botón Importar, buscan el archivo .conf que guardamos antes y ya esta todo.
espero que les ayude, ya que para hacer funcionar openvpn me recorrí todas la guías y manuales que encontré.
Gracias por sus Comentarios, Si hay algún ERROR es producto de su imaginación, jajajaj
Muy buena guía! Siempre quise instalar una VPN pero nunca me salía. Gracias!
gracias, te cuento que tambien tenia ese problema con la vpn’s, pero por trabajo me puse investigar.
por si alguno le intersa hay otro metodo para montar una vpn, super sencillo con ssh.
Me interesa ese metodo!!!
podrias pasar el dato XD
Hi,
If you are looking for a VPN, you can find a VPN Providers List on this website
http://www.start-vpn.com/
woww, voy aprobar todos estos paso es justo lo q handaba buscando, bueno espero q me salga todo esto y pues aver si peudes comentar tambien elproces por ssh q esaria tambien genial y si tienes mas documentacion acerca de opsvpn para seguirle moviendo a esto, te comento despues q es lo q ocurio y gracias por tu aporte
hola, perfecto, tengo unas modificaciones que hacer, ya actualise el post, hay cambios y mejoras.
lo intente pero no me jenera las llaves o no se si hace falta algún paso en el post
me interesa mucho este tema le ruego me conteste pronto uso ubuntu 10.04 (soy nuevo en esto)
hola, seguiste bien los pasos, porque si te saltas alguno o lo hacer mal no se generan los certificados y las llaves, fijate si editaste bien el archivo vars y cuando generes respeta los valores, no uses carateres extraños y/o asentos o eñes, esto le pasaba a un amigo en otro foro. cualquier cosa me avisas
hola, ya pudiste hacer algo o seguis sin poder generar los sertificados y llaves, avisame asi te ayudo.
En esta linea
./build-key-server servidor
donde dice que se cambie el nombre del server por el que quiera por ejemplo:
./build-key-server pepito
(al menos a mi) me produce un error que se refleja en el archivo normal.txt donde dice que no se encontro llave servidor y tampoco me levanta el tun.
vuelvo y creo la llave
./build-key-server servidor
con ese nombre y anda joya.
Lo he probado en dos servidores diferentes
Al alguien mas le paso?
hola, si cambias el nombre al general el certificado tenes que cambialor en el archivos de configuración, porque els ervidor no va a encontrar el archivo si no le espesificas como se llama.
AAhh, listo, muchas gracias, apenas pueda lo pruebo.
Hola para configurar el cliente en windows como o donde copio los certificados?
Solucionado;)
Descargué el cliente incorrecto. De la web openvpn.net el cliente OpenVPN Community Software Windows Client, ya explica como hacerlo en la instalación en un README.
Gracias por el tutorial.
Saludos
Hola, recien estoy empezando con esto del linux y tengo que montar una VPN para una red de area local, y he seguido tu tutorial y he llegado hasta la parte de la instalacion en el server y el cliente……pero despues de eso, no se como hacer las pruebas para ver si hay la conexion, si es que lo he implementado bien.
Hola Gracias por la información
Tengo un servidor con un openvpn funcionando, el servidor es linux-fedora, tengo también una instalación en Windows 7 funcionando, es decir tengo comunicación de linux-fedora a Windows 7.
Mi problema ahorita es que quiero instalar openvpn como cliente en ubuntu 10.04 lucid y no he podido, he seguido la información que proporcionas usando el manejador gráfico Network-connections, pero no parece responder, ¿Tienes alguna idea?
Gracias de antemano
Jaime
Hola,
Tengo un problema al intentar conectarme desde el cliente Linux. No se logra conectar, dándome este error en el syslog:
Feb 3 21:50:06 jesus NetworkManager[1298]: Starting VPN service ‘org.freedesktop.NetworkManager.openvpn’…
Feb 3 21:50:06 jesus NetworkManager[1298]: VPN service ‘org.freedesktop.NetworkManager.openvpn’ started (org.freedesktop.NetworkManager.openvpn), PID 2931
Feb 3 21:50:06 jesus NetworkManager[1298]: VPN service ‘org.freedesktop.NetworkManager.openvpn’ exited with error: 1
Feb 3 21:50:06 jesus NetworkManager[1298]: Policy set ‘Auto eth0’ (eth0) as default for IPv4 routing and DNS.
Feb 3 21:50:11 jesus NetworkManager[1298]: VPN service ‘org.freedesktop.NetworkManager.openvpn’ did not start in time, cancelling connections
Feb 3 21:50:33 jesus kernel: [ 119.324287] lo: Disabled Privacy Extensions
He intentado esto pero tampoco funciona:
http://sergiodeluz.wordpress.com/2010/06/21/openvpn-fallo-porque-no-habia-secretos-vpn-validos-solucion/
Alguna idea de donde poder mirar?
Hola! he seguido tus instrucciones al pie de la letra hasta ejecutar «source ./vars», como lo indicas me pide hacer el «./clean-all», pero al hacerlo me dice que no puede hacer el rm por permiso denegado ni el mkdir porque ya existe el archivo; sigo adelante y en el «./build-dh» y despues de muchas lineas de . y +, termina con: /etc/openvpn/easy-rsa/2.0/keys/dh2048. pem:Permission denied.
Y lo mismo para «./build-ca», writing new private key to ‘ca.key’, ca.key: Permission denied.
Supuse que tendría que hacerlo con privilegios de super usuario, pero en todos los casos me dice que me cerciore que he ejecutado «source ./vars»… estoy atorado.
Muchas por tu tiempo!
Me responderé a mi mismo, hasta ahora pude continuar haciendo un «chmod 777» a la carpeta 2.0 y parece que ahora si voy a seguir adelante…
Cómo puedo conocer la IP del servidor para asignarla al cliente VPN? Muchas gracias Luciano por tu ayuda y tu post! 100101001
GRACIAS, GRACIAS, GRACIAS, por fin un tuto que haces «simplemente esto» y FUNCIONA.
Bien, hasta ahi vamos.. ahora tengo el siguiente problema, que seguramente es por que son gilipollas .. 😉
explico: He seguido la GUIA perfectamente, he descargado un cliente para MAC de openvpn, y leyendo tu configuracion del cliente, he configurado el mio y ME CONECTÉ.
te cuento la infraesrtuctura primero.
servidor: ubuntu 10.4
eth0= 192.168.1.40
(el fichero de configuracion de OPENVPN lo he dejado EXACTAMENTE igual que tu sugieres, lo que NO ENTIENDO, es…
A mi equipo (mac cliente) se le asigno la ip 10.6.0.5 y si hago un ping a 10.6.0.1 LLEGO sin problemas.
Lo que NO entiendo, es que yo necesito un VPN para acceder a mi LAN de la oficina, y la LAN de la oficina mia es 192.168.1.x (al igual que en mi casa, que también tengo 192.168.1.x)
Oficina:
Servidor OPENVPN: 192.168.1.40
Servidor desarrollo web: 192.168.1.107
mi pregunta es… que tendría que cambiar para que desde mi casa, me pueda conectar al servidor OPENVPN para que me de una ip de la subred adecuada para poder entrar a mi servvidor de desarrollo web.. ???
me da, quizá que en el server.cfg de open vpn tengo que reemplazar 10.6.x.x por algo adecuado a 192.168.1.x y cambiar la subred de mi casa, para que SEA OTRA EJEMPLO: 10.0.X.X para que no se peguen entre las 192.168.x.x de mi casa y de la oficina?
JEJEJEJEJEJ perdona, pero he intentado exponer mi duda de la forma mas entendible posible, pero quiazá por que no sepa bien como preguntarlo, o que, pero lo he releído y madre mia, ni yo me entiendo, pero bueno, a ver que opinas, si me entiendes un poquito y me ayudas. 😉
Saludos,
Bien, hasta ahi vamos.. ahora tengo el siguiente problema, que seguramente es por que son gilipollas .. 😉
QUISE PONER QUE SOY, SOY YO GILIPOLLAS 😉 jejejeej NO MAL INTERPRETAR PORFAVOR.
Hola.. solucionaste tu impase? a mi em pasa lo mismo y no se como solucionarlo… me colaboras porfis¿¿ Gracias
Hola, estimados,
Para decirle que navegando un poquito llegue a responderme a mi mismo y ya resolví mi problema, es mas, en está GENIAL guía ya estaban respondiendome ! 🙂
Lo dicho por todos, la mejor guía de openvpn que he leído, con la que me animé y con la que estoy funcionando perfectamente,
GRACIAS Y FELICIDADES.
PD: Algún día se podría ampliar con la interfaz web de conexion y configuración! 🙂
Que tal alguien que pueda orientarme ya que si tengo muchas dudas como dice gabrielcz SOY UN GILIPOLLAS
Hola Luciano, muchas gracias por el tutorial, Excelente!, parce si le parece bien lo complementa agregando estas lineas:
1. Reiniciar OpenVPN en ambos equipos, cliente y servidor, para ejecutar los cambios
pendientes.
2. Ejecutar ifconfig y route -n en la terminal para comprobar si existe una nueva interfaz,
tun0, en el cliente y en el servidor.
3. Comprobar la conexión haciendo ping a las IP de las interfaces tun0, (cliente y
servidor). Digitas en la terminal: ping 10.8.0.1, si recibes una respuesta como:
PING 10.8.0.1 (10.8.0.1) 56(84) bytes of data.
Entonces felicitaciones, el cliente está conectado al servidor a través de OpenVPN y ya
puede navegar en forma segura.
Saludos a todos desde Colombia.
Hola, en la última parte del tutorial donde se indica que debes crear y editar un archivo con extensión .conf y completar la IP-DEL-SERVIDOR PUERTO, coloque: 192.168.0.0: 1194
y el archivo lo salve con el nombre: llaveConfiguracionCliente1.conf
Uso una conexión ADSL para el servicio de internet y la IP que maneja es dinámica.
Tengo entendido que para conectar un cliente a la VPN se usa el siguiente comando:
root@usuario ~#openvpn nombrellave.conf, en mi caso sería:
root@usuario ~# openvpn llaveConfiguracionCliente1.conf
Después de ejecutar este comando se muestra el siguiente mensaje:
«Options error: remote: bad protocol associated with host 192.168.0.0: 1194
Use –help for more information.»
Puedes por favor orientarme de forma clara como corregir este fallo, gracias.
en la conf del cliente tienes que poner el ip del servidor. Si tu Servidor tiene ip dinamico tendrias que hacerte una cuenta en dyndns o no-ip para trasformar la ip del servidor en un «miservidor.dnsalias.net» cuestion de configurar el cliente con esta ultima direccion.
Saludos
hola ya te respondio ulises, si tenes ip dinamico tenes que usar algun ddns (DynDNS, NoIP, el que quieras), te comento que hace un mes le cree un servidor vpn para un amigo pero en winbugs y como usaba adsl usamos noip, quedo perfecto, los pasos son los mismo, solo recurden abrir y redirigir el puerto 1194 o el que elijan en el router donde este conectado el servidor, ademas tengan en cuenta que con un adsl mucho no se puede hacer, porque al ser adsl es asincronico osea que tiene mas bajada que subida y un servidor usa ambos pero mas el de subida.
Luciano gracias por este tutorial la verdad uno de los mas claros que he leido. pude conectar cliente1 con servidor y cliente2 con servidor pero cliente1 y cliente2 no se ven. tienes alguna idea? Nuevamente gracias
hola, si este metodo es asi no hay contacto entre clientes, pero se puede modificar para que si se puedan interactuar, por seguridad es mejor que no ya que es una red como cualquier otra y si un individuo o un software intervienen pueden generar grandes daños. gracias
Gracias caballeros por las respuestas, saludo.
hola mira soy novato en las vpn , como hago para cambiar de direcciones en el adactador tun0
y de como crear una ip publica en la vpn gracias
hola, la interface «tun» se crea tanto en el servidor como en el cliente, el servidor siempre va a tener la misma ip en tun porque la asigna openvpn, el cliente se puede aser que tengas siempre la misma si en la config del server y del cliente pones «persist-tun» eso asegura que los ips en cada cliente.
la ip publica la tenes siempre, pero si es dinamica podes usar algun ddns, tipo no-ip, dydns o cdmon, esos servicios te dan un subdominio que apunta a tu ip y con un soft o desde una web le actualizas el ip y listo, claro que esto va solo en el server, y tenes que abrir el puerto en el router.
Luciano: muy bueno el tutorial. Una pregunta, por favor, ¿puedes confirmarme que una VPN puede ser montada también desde un router y no instalando este programa en mi servidor ubuntu?. Si es así, que ventajas tiene hacerlo con OpenVPN respecto a que me compre un router con OS (claro esta, mi pregunta va más allá del precio). Me refiero a ventajas de seguridad y otros funcionamientos. Te cuento que quiero instalar una VPN para acceder y levantar multiples escritorios simultaneamente para manejar las aplicaiones locales de mi servidor Ubuntu. Puedes explicarme como hago esto de los escritorios remotos y que relación tiene con la VPN? . Gracias
hola, la verdad yo harme vpn con cliente en routers pero son von ipsec cisco, esto es otra cosa, creo que en alguno de los firmware tipo tomate, openwrt y otros tiene el openvn integrado, yo no lo usaria porque es mas seguro que cada equipo tenga el cliente y asi no le das pn a toda la red y ademas tenes un ip de vpn por cada equipo.
Hola Luciano excelente tu Tutorial, la verdad que me sirvio muchisimo y me funciono todo hasta que llegue a la parte de importar el archivo .conf en el caso del servidor el archivo «server.conf» que creamos, el problema es que cuando elijo el archivo luego de hacer click en «importar» pongo en aceptar y me lanza un cartel que me dice lo siguiente:
«No se puede importar la conexión VPN»
No se pudo leer el archivo «server.conf» o no contiene información de conexión VPN que se pueda reconocer
Error: unknown error.
Bueno la cosa es que ya intente con una solución que era buscando el archivo ejemplo en «/usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz > server.conf» este es el archivo ejemplo que brinda openvpn que es el que tiene el formato correcto, modifique el archivo con la configuración que se muestra en el tutorial pero cuando voy a cargar me da el mismo error, luego probé lo que dice el link que dejo «Jesus Gascon Gomez »
es decir la solucion que muestra esta pagina «http://sergiodeluz.wordpress.com/2010/06/21/openvpn-fallo-porque-no-habia-secretos-vpn-validos-solucion/»
pero me sigue pasando lo mismo no se que puede ser! si sabes o alguien me puede dar una mano con esto le estaría infinitamente agradecido ya que necesito establecer una vpn por cuestiones de trabajo muy importantes, desde ya muchas gracias
Hola, esto es para quienes no pueden importar la config en el cliente, si usan ubuntu recuerden instalar el soportee de openvpn en network-manager, de lo contrario no funcionara, esta detallado en el post. Gracias
gracias la vpn mefuncione al 100%
seria bueno ver la configuracion para un cliente windos
Hola Luciano, me aparece lo siguiente en consola cuando voy a activar el «tun»:
chelo@chelodromo:~$ sudo modprobe tun
chelo@chelodromo:~$
chelo@chelodromo:~$ sudo echo «tun» >> /etc/modules
bash: /etc/modules: Permiso denegado
hasta acá llego con el tutorial hasta resolver esto no quiero seguir con los pasos siguientes
a que crees que se deba?
mi SO es Ubuntu 10.04.2 (LTS) desktop
desde ya gracias
hola, por lo que veo no te toma el sudo, puede que no tengas permisos para usar sudo, proba de entrar como root (sudo su) y hace los pasos de la guia.
Si, es algo que todos ya tendrian que saber pero no esta demas,
Hola, he seguio los pasos de la guia y se conecta bien, pero no tengo acceso a los equipos locales de la red, osea no hago ping a 192.168.1.1 y no se donde ubicarlo para que tome ese segmento. Otra pregunta? si tengo varias VLAn en la ren como configuro a cual debe conectarse y cual no???…. Agradeceria su respuesta¡¡Gracias
hola, yo aclare que la configuración de esta guia es para una vpn si contacto por la red lan del servidor, para eso hay que cambiar el esquema, lo que si podes es usar ip tables para redirigir puertos a la red lan. yo uso esa opcion, para no exponer la red.
Ayuda cuando hago del lado del cliente el siguiente comando para corroborar la conexión
sudo openvpn client.conf
me sale el siguiente mensaje
Options error: In [CMD-LINE]:1: Error opening configuration file: client.conf
Use –help for more information.
curiosamente e podido conectar bien un cliente con ubuntu de 32 bits pero esto me sucede con clientes que tiene ubuntu de 64 bits, tendra algo que ver? desde ya gracias
Muy buena guia, muchas gracias me ahorraste horas de documentacion
Lo primero gracias por la guía.
He realizado los pasos varias veces sin que me dieran errores y al final siempre llego al mismo problema. Al intentar conectar la VPN me sale le mensaje:
La conexión de red «vpn al servidor» ha fallado porque el servicio VPN se interrumpió inesperadamente.
¿Me podrías decir qué hago mal?
hola me guie sobre tu manual y me parecio excelente la primera parte me quedo bien pero la segunda que sobre el cliente estoy usan dos servidores la segunda sobre el cliente es modo consola como el aria creo un archivo para cliente y dentro de ese archivo escribo la segunda parte del codigo y como sabre si funcionas que ago gracias
hola, aclara bien donde te trabas y como siempre les digo, sigan los pasos al pie de la letra y si se traban revisen, porque se pueden saltar algun paso y despues no funciona
Buenas tardes!!
Simplemente felicitar al autor de este blog, pues, me ha funcionado al 100% en mi nuevo servidor que he comprado.
Ahora podré conectarme desde iPhone, iPad o cualquier PC !!
Gracias desde España 🙂
Mi segundo comentario en la tarde.
Yo el servidor, lo he instalado bajo ubuntu server 11.04
Ahora bien, el cliente, lo he instalado en Windows, y simplemente tienes que tener en el archivo conf, la ruta correcta hacia los .key y .crt.
Solo me surge una duda…. quiero crear para mas clientes ( ./build-key cliente2 ) y… me dice el siguiente mensaje:
root@ubuntu:/etc/openvpn/easy-rsa/2.0# ./build-key cliente2
Please edit the vars script to reflect your configuration,
then source it with «source ./vars».
Next, to start with a fresh PKI configuration and to delete any
previous certificates and keys, run «./clean-all».
Finally, you can run this tool (pkitool) to build certificates/keys.
¿es necesario tener que generar de nuevo los ficheros de servidor para generar otro cliente? seria una locura….
hola, para generar mas certificados hay que hacer los mismo pero saltando la parte del servidor, te pongo un ejemplo:
cd /etc/openvpn/easy-rsa/2.0
source ./vars
./clean-all
./build-key cliente
sudo cp -R /etc/openvpn/easy-rsa/2.0/keys /etc/openvpn/
es mas yo uso algo similar e incluso tengo un servidor vpn que tiene los certificados creados en otro equipo, asi tengo vpn redundante.
Hola a todos, lo primero de todo dar las gracias por este manual. Me he puesto a hacerlo en mi ubuntu server 10.04 pero tengo este error,
«admin@ks:~$ sudo modprobe tun
[sudo] password for admin:
FATAL: Could not load /lib/modules/2.6.38.2-grsec-xxxx-grs-ipv6-64/modules.dep: No such file or directory»
Me pueden ayudar,
Buenas Iñigo,
Yo desde hace 3 dias, lo instalé sobre ubuntu-server 11.04 y NINGUN PROBLEMA. Todo a la primera.¿Porque no pruebas con el 11.04 ?Parece que la 10.04 no tiene el modulo que intenta cargar.
Al autor del tutorial, tengo una pregunta. ¿Es posible restringir en el servidor para que únicamente pueda conectarse el cliente desde un host en concreto? ( mediante IP o un host dyndns.org por ejemplo )
Si no es posible, ¿Como configuro para que, independientemente de que el cliente necesite los certificados, cuando conecte le pida en una ventana login (user&password) ? Es posible esto ultimo?
Gracias.
Buenas a todos de nuevo 🙂
Despues de varias semanas conectandome al servidor VPN, he notado que no me dá DNS.
Me conecto, accedo a los recursos escribiendo la IP privada, pero, automaticamente, dejo de navegar por la web.
Si hago un ipconfig , me dá IP, GW, pero falta la DNS.
¿Podria añadirlo en el fichero de configuracion del demonio openvpn, o bien en la config del cliente?
Gracias.
Muchísimas gracias por el tuto!!! va genial!!!
Lo único que no he conseguido es poder navegar sin que pase todo el trafico por el servidor.
Quiero poner 30 maquinas en la vpn para mover ficheros de forma segura, pero si la navegación (web, mail, etc etc) de los clientes pasa toda por el server creare un cuello de botella e ira lento.
Como dices en el manual he quitado la linea
push «redirect-gateway def1»
Reinicio la vpn y el trafico sigue pasando por el server…
Muchas gracias de antemano por la ayuda!!!!
ME encuentro con el mismo problema que tu tienes, he leido foros y webs, pero nada de lo que encuentro me funciona.
Todo trafico pasa por el servidor VPN.
Haber si alguien nos ilumina 🙂
Un saludo
He dado con la solución, muy poco ortodoxa y muy poco profesional. Pero ami me ha resuelto el problema….
Como también tenia problemas para conectarme usando las redes que vienen con Ubuntu, gogleé sobre gui y openvpn y me encontré con KVpnc (esta en los repositorios) y ahí con cargar el fichero de configuración (no recuerdo como, pero me pareció muy muy fácil) conectó a la primera (aunque el trafico seguía pasando por el túnel)
Cambiando solamente en settings-configure KVpnc-Network-Routes
seleccione: Keep default route. en el 2º desplegable
Espero que te sea útil.
ola excelente guía pero tengo un problema, hizo todo cual esta, creer el archivo del cliente y lo pegue dentro de la carpeta /etc/openvpn/keys/ donde también pegue los archivos de ca .crt y etc …, bueno luego de importar eso al network manager me sale el siguiente mensaje :
The VPN conecction ‘usuario’ failed because there were no valid VPN secrets.
Espero me puedan ayudar. muchas gracias de antemano
hola spero me puedas ayudar sigo todo al pie de la letra pero a la otra de editar esta parte me marca gran error
root@ubuntu:/etc/openvpn/easy-rsa/2.0# source ./vars
bash: ./vars: línea 68: EOF inesperado mientras se buscaba un `»‘ coincidente
bash: ./vars: línea 69: error sintáctico: no se esperaba el final del fichero
root@ubuntu:/etc/openvpn/easy-rsa/2.0# ./clean-all
Please source the vars script first (i.e. «source ./vars»)
Make sure you have edited it to reflect your configuration.
que puedo hacer
hola no conosco mucho de redes pero deseo ayudar a mi cuñado en cuba el trabaja en una empresa como especialista de redes o algo asi
lo cierto es que me ha pedido que instalara un proxy en
mi PC para armar una VPN y conectarse a traves de mi
no entiendo de esto por favor si me pudieras explicar e iluminarme en cuanto esto te lo agradeceria mucho
sesin no soy el autor del post ni tengo idea del tema, pero entiendo que el tutorial de este post sería el que tienes que seguir para hacer eso que quieres hacer
Saludos
hola, la verdad para hacer lo que nos cuentas, tienes que poseer conocimientos de informatica y de redes. siguendo la guia al pie de la letra podras crear un servidor y un cliente vpn pero igualmente nose si podran saltarse el bloqueo que tiene dicho pais, espero que si pero no puedo asegurar que puerto podra pasar. muy probable que tengas que usar el puerto 80 para simular una web.
muchas gracias luciano por tu respuesta
y si me imagino que no sera facil sortear el bloqueo informatico de mi pais pero creo que lo intentare,
profundizare mas en este mundo de las redes informaticas asi que espera nuevas inquietudes de mi parte,
por favor espero que tengas paciencia
una vez mas gracias
<> Albert Einstein
No entiendes realmente algo a menos que seas capaz de explicárselo a tu abuela.
Albert Einstein
Tengo unas preguntas. La primera. Hace falta utilizar network manager? realmente nunca me gusta. Imagino que debe de haber otras cosas mejores. La otra, En mi caso tengo que usar una cuenta noip. El tema es que en ese mismo servidor ya tengo corriendo un ssh con una cuenta de no ip. Como es la mano ahí, tengo que instalarme de nuevo el mismo programa que usa el no-ip o directamente tengo que sacar otro dns de esos de noip. Y en cuanto a los puertos que usa. Tengo que habilitarlos con un iptable?
ahora entiendo por que no me funciona. En la parte que mencionas
«»
* up /etc/openvpn/openvpn.up = es un script que carga openvpn al iniciar, se usa para el ROUTING y FORWARDING, mas adelante lo creamos.
«»
No esta. Se ve que me esta faltando eso.
no se en que carpeta estan dichos archivos ..ca.crt, cliente.crt y cliente.key ..he seguido los pasos del manual me podrias ayudar con eso ?
como me conecto desde windows xp al servidor
MUCHAS Gracias !
Hola Luciano,
Muy buen post. instale la vpn y jalo bien. desde un celular hacia mi pc. El problema ahora es que, ya no tengo red en la pc. el modulo eth0 ya dejo de funcinar. creo que el problema fue ocasionado por el script para iniciar la vpn al inicio.
tendras alguna obseracion al respecto?
Gracias.
Luciano, nuevamente, logre arrancar con el comando dhclient eth0 la red. Como ves tengo dhcp en el servidor vpn. En tu script se le puede añadir el dhclient para que vuelva a tomar el eth0? que recomiendas? cada vez que se pare la vpn me va a desconectar el eth0. y lo tendre q arrancar manual….? saludos…
Me gustaría saber como conectarme desde un Windows 7 al servidor ubuntu por medio de vpn
Tengo la misma duda que «mga informatica » , y tambien como ago para q se conecnt 3 amigos mios mas a la misma VPN, pero, desde windows claro, y elegir q dose se intercambien archivos entre ellos, y el otro con otro mas mas no con los dos primeros…
consejos antes de elegir una VPN es comparar el proveedor diferente para tomar la decisión correcta (http://lavpn.es ) . Yo sólo puedo aconsejar que utilice esta comparación de precios
El mejor VPN que yo conozco es el VPN ninja,y lo pueden descargar desde http://www.vpnninja.com,espero que les sirva!
Les dejo el website del vpn que utilice cuando vivia en china, es vpn ninja, es el que mejor funciona, http://www.vpnninja.com
hjp no vale ni mierdas te contradices
me pierdo cuando llogo a esta aprtado me dice que el archiivo no exitse nose que pasa no me funciona
Estimado queria consultarte como puedo poner un segundo pool de direcciones, ya que se me esta terminando el pool de 254 host, y los clientes siguen aumentando.
Muchas Gracias!!
me perdi en source ./var como lo ejecuto, cuando lo coloco asi tal cual no funciona, sera que antes va un sudo o algo por el estilo
ola yo tengo errores en este paso
nano /etc/default/openvpn
se supone que me debe de salir codigo e, cual debo de comentar pero no me aparece nada
creo k es por k no se encuentra en la carpeta pero en este caso como le debo de hacer
🙁
Oye amigo, vengo del futuro y tu post ya no funciona para las versiones posteriores de Ubuntu, ¿alguna solución?, te juro que el error no es imaginario…
Hola, estoy en el 2018, aun funciona este tuto?
Yo igual vengo del futuro, mi estimado Negro Arreola, y ya no funciona para versiones posteriores a linux 10