OpenVPN es un cliente/servidor VPN tanto para equipos GNU/Linux como para Windows.
¿Para qué sirve hacer esto?
Para conectarnos a internet de una manera segura desde cualquier red ya sea cableada o WiFi, con cifrado WEP/WPA o sin cifrar. Todo el tráfico irá cifrado a través de un Túnel desde el AP que nos conectamos hasta nuestra casa y desde allí saldrá a internet, es como estar en nuestra casa. Lo malo es que debes tener una buena velocidad de subida, ya que de eso dependerá en mayor medida tu velocidad de bajada (a no ser que la red donde te conectes tenga menos bajada que la velocidad de subida de tu conexión).
También sirve en caso de no redigirir el tráfico, para poder acceder a los recursos compartidos de nuestra casa como puede ser imprimir desde la Universidad, copiarnos archivos desde el disco duro compartido de casa etc.
La VPN será SSL/TLS, y podemos encontrar dos tipos, TUN y TAP.
TUN: El controlador TUN emula un dispositivo punto a punto, es utilizado para crear túneles virtuales operando con el protocolo IP. De esta forma se puede encapsular todos los paquetes que se transporten a través de él como datagramas TCP o UDP (más adelante veréis que escogemos UDP en lugar de TCP, y preguntaréis que por qué ya que TCP es conectivo, fiable y Orientado a conexión). Las máquinas que queden detrás de cada uno de los extremos del enlace pertenecerán a subredes diferentes.
TAP: Simula una interfaz de red Ethernet, más comúnmente conocido como modo puente o bridge, estos túneles virtuales encapsulan directamente paquetes ethernet. Esta situación permite empaquetar entramados diferentes al IP. Las máquinas situadas detrás de cada uno de los extremos del enlace pueden operar como parte de la misma subred (si se utiliza el protocolo IP). El modo de funcionamiento puente es particularmente útil para enlazar usuarios remotos, ya que éstos pueden conectarse a un mismo servidor y virtualmente formar parte de la red principal.
En el manual usaremos TUN.
En este manual os voy a explicar cómo hacerlo en GNU/Linux, aunque en esencia, es lo mismo para Windows, únicamente cambian los comandos en la consola (cmd.exe), los certificados y las llaves, son los mismos para los dos, es decir, puedes crear TODO en GNU/Linux y luego pasarlo a Windows para usarlo (ya sea cliente o servidor), únicamente deberás cambiar la extensión del cliente/servidor .conf por .ovpn
Voy a explicaros como realizar la configuración más segura posible.
- Usaremos una llave RSA para crear CA.key de 2048bits sin afectar lo más mínimo al rendimiento de la VPN.
- La llave simétrica será AES-256bits-CBC (Encadenamiento de Cifrado en Bloque) uno de los más seguros (OpenVPN incluye todo esto, no hay que “programarlo” ni nada parecido).
- Incluiremos TLS/AUTH una firma HMAC adicional para todos las negociaciones SSL/TLS para la verificación de la integridad. Cualquier paquete UDP que no posea la firma HMAC correcta es bloqueado. La firma HMAC TLS-AUTH provee un nivel de seguridad adicional mas allá del que provee SSL/TLS, de esta forma nos protegemos de ataques DoS, escaneo de puertos y le ahorramos trabajo al servidor (porque si esto falla al intentar la autenticación lo corta y no lo sigue intentando).
- Protocolo UDP en lugar de TCP porque es más fuerte frente a ataques DoS y escaneos de puertos (UDP es no conectivo, no fiable, no orientado a conexión).
GNU/Linux Ubuntu
Instalamos Openvpn con el siguiente comando desde los repositorios:
sudo apt-get install openvpn
Ahora vamos a copiar los archivos easy-rsa y sample-config-files a /etc/openvpn/ (previamente hemos ido al directorio con la orden cd).
ubuntu@ubuntu:/usr/share/doc/openvpn/examples$ ls
easy-rsa sample-config-files sample-keys sample-scripts
Copiamos easy-rsa y sample-config-files a /etc/openvpn/
ubuntu@ubuntu:/usr/share/doc/openvpn/examples$ sudo cp -R easy-rsa/ /etc/openvpn/
ubuntu@ubuntu:/usr/share/doc/openvpn/examples$ sudo cp -R sample-config-files/ /etc/openvpn/
Ahora nos metemos en el directorio de trabajo y veremos muchos ficheros:
ubuntu@ubuntu:/etc/openvpn/easy-rsa/2.0$ ls
build-ca build-key-server Makefile sign-req
build-dh build-req openssl-0.9.6.cnf.gz vars
build-inter build-req-pass openssl.cnf whichopensslcnf
build-key clean-all pkitool
build-key-pass inherit-inter README.gz
build-key-pkcs12 list-crl revoke-full
Ejecutamos el siguiente comando para crear una carpeta en este directorio donde almacenaremos las claves:
mkdir keys
Es en este directorio donde se almacenaran las llaves privadas (.key), los archivos de requerimiento de certificado (.csr) y los certificados (.crt) y otros archivos.
- Las llaves .key son PRIVADAS, han de ser copiadas por un medio seguro.
- Los certificados .crt y el requerimiento .csr puede pasarse sobre un medio inseguro (emails, messenger).
Generar la llave y el certificado para la Autoridad Certificadora (CA).
En esta parte vamos a crear los certificados y las llaves para la CA, para el servidor y para el cliente, nos logueamos en la consola como root (siempre como root para dejarnos de líos).
Ahora vamos a editar el archivo “vars”.
Nos situamos en el directorio de trabajo:
cd /etc/openvpn/easy-rsa/2.0/
gedit vars
- Ahora modificamos KEY_COUNTRY, KEY_PROVINCE, KEY_CITY, KEY_ORG y KEY_MAIL a vuestro gusto, pero no podéis dejarlo en blanco.
- También modificamos la ruta donde están las KEYS, ya que luego haremos un ./clean-all y si no está la ruta correcta, dará error.
- El tamaño de la llave RSA es controlado por la variable KEY_SIZE en el archivo vars, por tanto en lugar de tener 1024 (bits), ponemos 2048 (bits) si queréis más seguridad (recomiendo 2048).
Una vez lo hayáis modificado, guardamos y salimos, os debería quedar algo así:
# easy-rsa parameter settings
# NOTE: If you installed from an RPM,
# don’t edit this file in place in
# /usr/share/openvpn/easy-rsa –
# instead, you should copy the whole
# easy-rsa directory to another location
# (such as /etc/openvpn) so that your
# edits will not be wiped out by a future
# OpenVPN package upgrade.# This variable should point to
# the top level of the easy-rsa
# tree.
export EASY_RSA=”`pwd`”#
# This variable should point to
# the requested executables
#
export OPENSSL=”openssl”
export PKCS11TOOL=”pkcs11-tool”
export GREP=”grep”# This variable should point to
# the openssl.cnf file included
# with easy-rsa.
export KEY_CONFIG=`$EASY_RSA/whichopensslcnf $EASY_RSA’# Edit this variable to point to
# your soon-to-be-created key
# directory.
#
# WARNING: clean-all will do
# a rm -rf on this directory
# so make sure you define
# it correctly!
export KEY_DIR=”/etc/openvpn/easy-rsa/2.0/keys/”# Issue rm -rf warning
echo NOTE: If you run ./clean-all, I will be doing a rm -rf on $KEY_DIR# PKCS11 fixes
export PKCS11_MODULE_PATH=”dummy”
export PKCS11_PIN=”dummy”# Increase this to 2048 if you
# are paranoid. This will slow
# down TLS negotiation performance
# as well as the one-time DH parms
# generation process.
export KEY_SIZE=2048# In how many days should the root CA key expire?
export CA_EXPIRE=3650# In how many days should certificates expire?
export KEY_EXPIRE=3650# These are the default values for fields
# which will be placed in the certificate.
# Don’t leave any of these fields blank.
export KEY_COUNTRY=”XXXX”
export KEY_PROVINCE=”XXX”
export KEY_CITY=”XXXX”
export KEY_ORG=”XXXXX”
export KEY_EMAIL=”XXXXX@XXX.com”
En el mismo directorio tecleamos lo siguiente para limpiar todos los archivos que haya en /keys/.
source ./vars
./clean-all
Parámetros Diffie Hellman
Vamos a generar estos parámetros necesarios para el servidor.
En consola y en el mismo directorio de siempre (/etc/openvpn/easy-rsa/2.0/)
./build-dh (recuerda ejecutarlo como root)
Os saldrá algo parecido a esto:
root@Portatil:/etc/openvpn/easy-rsa/2.0# ./build-dh
Generating DH parameters, 2048 bit long safe prime, generator 2
This is going to take a long time
……………………………….+……………….++*++*
……………………………….+……………….++*++*
root@Portatil:/etc/openvpn/easy-rsa/2.0#
Nota: los guiones anteriores eran simples guiones, estos que vienen a continuación y que por ejemplo están antes que initca son dos guiones juntos, parece que es uno largo pero no.
Creación certificado para la CA
Ahora creamos el certificado para la CA:
./pkitool –initca
Os saldrá algo como esto:
root@Portatil:/etc/openvpn/easy-rsa/2.0# ./pkitool –initca
Using CA Common Name: vpn CA
Generating a 2048 bit RSA private key
…….+++
………….+++
writing new private key to ‘ca.key’
—–
root@Portatil:/etc/openvpn/easy-rsa/2.0#
Generación de certificado y llaves para el SERVER
./pkitool –server servidor
Nos saldrá algo así:
root@Portatil:/etc/openvpn/easy-rsa/2.0# ./pkitool –server servidor
Generating a 2048 bit RSA private key
…………………………+++
…………………………………..+++
writing new private key to ‘servidor.key’
—–
Using configuration from /etc/openvpn/easy-rsa/2.0/openssl.cnf
Check that the request matches the signature
Signature ok
The Subject’s Distinguished Name is as follows
countryName PRINTABLE:’XX’
stateOrProvinceName PRINTABLE:’XXX’
localityName PRINTABLE:’XXX’
organizationName PRINTABLE:’XXXX’
commonName PRINTABLE:’servidor’
emailAddress :IA5STRING:”XXXXXX”
Certificate is to be certified until Jun 19 09:40:27 2020 GMT (3650 days)Write out database with 1 new entries
Data Base Updated
root@Portatil:/etc/openvpn/easy-rsa/2.0#
Todos los valores los obtiene del archivo VARS, y el Common Name lo obtiene de “servidor” que está a continuación de “–server”.
Generación de certificado y llaves para el CLIENTE
./pkitool cliente1
Nos saldrá algo así:
root@Portatil:/etc/openvpn/easy-rsa/2.0# ./pkitool cliente1
Generating a 2048 bit RSA private key
………………………….+++
………………………………………….+++
writing new private key to ‘cliente1.key’
—–
Using configuration from /etc/openvpn/easy-rsa/2.0/openssl.cnf
Check that the request matches the signature
Signature ok
The Subject’s Distinguished Name is as follows
countryName PRINTABLE:’XX’
stateOrProvinceName PRINTABLE:’XXX’
localityName PRINTABLE:’XXX’
organizationName PRINTABLE:’XXX’
commonName PRINTABLE:’cliente1′
emailAddress :IA5STRING:’XXXX’
Certificate is to be certified until Jun 19 09:41:34 2020 GMT (3650 days)Write out database with 1 new entries
Data Base Updated
root@Portatil:/etc/openvpn/easy-rsa/2.0#
Para generar más clientes hacemos lo siguiente:
source ./vars
./pkitool cliente2
Si queremos el tercero hacemos:
source ./vars
./pkitool cliente3
Antes de crear cada certificado debemos ejecutar source ./vars (por si queréis más).
Ahora nos vamos a:
cd /etc/openvpn/easy-rsa/2.0/keys/
Y veremos todas las claves (comando ls para verlas).
Generar llave TLS-AUTH
openvpn –genkey –secret ta.key (donde ta.key es la llave que deberemos usar tanto en el servidor como en el cliente).
En la configuración del servidor (servidor.conf o servidor.ovpn) deberemos poner:
tls-auth ta.key 0 (0 de Incoming)
En la configuración del cliente (cliente.conf o cliente.ovpn) deberemos poner:
tls-auth ta.key 1 (1 de Outgoing)
A continuación os pongo una tabla de qué es cada cosa.
Podemos agruparlos por carpetas para mayor comodidad siguiendo la tabla ya que por ejemplo ca.crt tiene que estar en todos los clientes/servidores (servidor, cliente1, cliente2, etc).
Archivo de Configuración del Cliente (client.conf)
Viene una pequeña guía de para qué sirve cada comando, tenéis que modificar:
- remote my-server-1 1194 ya que aquí deberemos poner el host dyndns que tengáis, Host en DynDNS para servidores domésticos como FTP, VPN, servidor de juegos o servidor WEB : Manual DynDNS
- ca ca.crt cert client.crt y key client.key lo debéis cambiar por el nombre que le habéis puesto a cliente, en este caso cliente1, cliente2 y con la RUTA COMPLETA al archivo para evitarnos problemas, quedaría así:
ca /etc/openvpn/easy-rsa/2.0/keys/ca.crt
cert /etc/openvpn/easy-rsa/2.0/keys/cliente1.crt
key /etc/openvpn/easy-rsa/2.0/keys/cliente1.key
-En el siguiente fragmento veis el TLS-AUTH que usaremos, quitamos e punto y coma (;) y lo activaremos, el ta.key también ponemos la ruta completa de la ta.key.
# If a tls-auth key is used on the server
# then every client must also have the key.
tls-auth ta.key 1
- Como hemos elegido un cifrado AES-256-CBC pues lo ponemos:
# Select a cryptographic cipher.
# If the cipher option is used on the server
# then you must also specify it here.
cipher AES-256-CBC
Y ya tenemos el cliente listo.
La ruta completa de cada archivo (ca.crt cliente1.key etc, no hace falta ponerla siempre y cuando el client.conf esté en la misma carpeta que ellas, pero para no tener problemas pues ponemos la ruta completa).
Archivo de Configuración del Servidor (server.conf)
- En el servidor debemos poner la IP interna que tendremos en la red para escuchar, el puerto, si es el de por defecto no habrá que tocarlo.
- Ponemos las rutas completas de los siguientes archivos:
ca ca.crt
cert server.crt
key server.key
- dh dh2048.pem ya que lo hemos puesto de 2048 bits.
- El rango del servidor no hace falta tocarlo, el cifrado que hemos elegido y la TLS-AUTH.
Aquí no he explicado con detalle la configuración del servidor, porque poca gente va a tener un ordenador con GNU/Linux o Windows encendido dedicado únicamente a esto, es mucho más cómodo un router con firmwares de terceros como Tomato y el correspondiente módulo OpenVPN donde es todo gráfico, a continuación os pongo unas capturas de pantalla para que lo veáis junto con el LOG del router al arrancar la VPN.
Nota: las claves se meten en las casillas haciendo un gedit ca.crt (por ejemplo), copiamos y pegamos todo lo que aparece en el gedit y listo! (sí, todos esos símbolos y letras).
Click en la foto para ampliarla y verla mejor.
Pruebas de conectividad:
Log de inicio de OpenVPN en el router:
Jun 21 18:14:39 router daemon.notice openvpn[344]: OpenVPN 2.1.1 mipsel-unknown-linux-gnu [SSL] [LZO2] built on Feb 17 2010
Jun 21 18:14:39 router daemon.warn openvpn[344]: NOTE: OpenVPN 2.1 requires ‘–script-security 2′ or higher to call user-defined scripts or executables
Jun 21 18:14:42 router daemon.notice openvpn[344]: Diffie-Hellman initialized with 2048 bit key
Jun 21 18:14:42 router daemon.notice openvpn[344]: Control Channel Authentication: using ‘static.key’ as a OpenVPN static key file
Jun 21 18:14:42 router daemon.notice openvpn[344]: Outgoing Control Channel Authentication: Using 160 bit message hash ‘SHA1′ for HMAC authentication
Jun 21 18:14:42 router daemon.notice openvpn[344]: Incoming Control Channel Authentication: Using 160 bit message hash ‘SHA1′ for HMAC authentication
Jun 21 18:14:42 router daemon.notice openvpn[344]: TLS-Auth MTU parms [ L:1558 D:166 EF:66 EB:0 ET:0 EL:0 ]
Jun 21 18:14:42 router daemon.notice openvpn[344]: TUN/TAP device tun21 opened
Jun 21 18:14:42 router daemon.notice openvpn[344]: TUN/TAP TX queue length set to 100
Jun 21 18:14:42 router daemon.notice openvpn[344]: /sbin/ifconfig tun21 10.8.0.1 pointopoint 10.8.0.2 mtu 1500
Jun 21 18:14:42 router daemon.notice openvpn[344]: /sbin/route add -net 10.8.0.0 netmask 255.255.255.0 gw 10.8.0.2
Jun 21 18:14:42 router daemon.notice openvpn[344]: Data Channel MTU parms [ L:1558 D:1450 EF:58 EB:135 ET:0 EL:0 AF:3/1 ]
Jun 21 18:14:42 router daemon.notice openvpn[407]: Socket Buffers: R=[108544->131072] S=[108544->131072]
Jun 21 18:14:42 router daemon.notice openvpn[407]: UDPv4 link local (bound): [undef]:1194
Jun 21 18:14:42 router daemon.notice openvpn[407]: UDPv4 link remote: [undef]
Jun 21 18:14:42 router daemon.notice openvpn[407]: MULTI: multi_init called, r=256 v=256
Jun 21 18:14:42 router daemon.notice openvpn[407]: IFCONFIG POOL: base=10.8.0.4 size=62
Jun 21 18:14:42 router daemon.notice openvpn[407]: Initialization Sequence Completed
Cliente:
root@Portatil:/etc/openvpn# openvpn client.conf
Tue Jun 22 12:08:24 2010 OpenVPN 2.1.0 x86_64-pc-linux-gnu [SSL] [LZO2] [EPOLL] [PKCS11] [MH] [PF_INET6] [eurephia] built on Jan 26 2010
Tue Jun 22 12:08:24 2010 NOTE: OpenVPN 2.1 requires ‘–script-security 2′ or higher to call user-defined scripts or executables
Tue Jun 22 12:08:24 2010 /usr/bin/openssl-vulnkey -q -b 2048 -m <modulus omitted>
Tue Jun 22 12:08:24 2010 Control Channel Authentication: using ‘ta.key’ as a OpenVPN static key file
Tue Jun 22 12:08:24 2010 Outgoing Control Channel Authentication: Using 160 bit message hash ‘SHA1′ for HMAC authentication
Tue Jun 22 12:08:24 2010 Incoming Control Channel Authentication: Using 160 bit message hash ‘SHA1′ for HMAC authentication
Tue Jun 22 12:08:24 2010 LZO compression initialized
Tue Jun 22 12:08:24 2010 Control Channel MTU parms [ L:1558 D:166 EF:66 EB:0 ET:0 EL:0 ]
Tue Jun 22 12:08:24 2010 Data Channel MTU parms [ L:1558 D:1450 EF:58 EB:135 ET:0 EL:0 AF:3/1 ]
Tue Jun 22 12:08:24 2010 Local Options hash (VER=V4): ’9e7066d2′
Tue Jun 22 12:08:24 2010 Expected Remote Options hash (VER=V4): ’162b04de’
Tue Jun 22 12:08:24 2010 Socket Buffers: R=[124928->131072] S=[124928->131072]
Tue Jun 22 12:08:24 2010 UDPv4 link local: [undef]
Tue Jun 22 12:08:24 2010 UDPv4 link remote: [AF_INET]XX:1194
Tue Jun 22 12:08:24 2010 TLS: Initial packet from [AF_INET]XX:1194, sid=0e6c8016 fc84b328
Tue Jun 22 12:08:27 2010 VERIFY OK: depth=1, /C=XX/ST=X/L=XX/O=Xa/CN=XX/emailAddress=XX.com
Tue Jun 22 12:08:27 2010 VERIFY OK: nsCertType=SERVER
Tue Jun 22 12:08:27 2010 VERIFY OK: depth=0, /C=XXX/ST=XX/L=xxx/O=xxxx/CN=xxx/emailAddress=xxx
Tue Jun 22 12:08:30 2010 Data Channel Encrypt: Cipher ‘AES-256-CBC’ initialized with 256 bit key
Tue Jun 22 12:08:30 2010 Data Channel Encrypt: Using 160 bit message hash ‘SHA1′ for HMAC authentication
Tue Jun 22 12:08:30 2010 Data Channel Decrypt: Cipher ‘AES-256-CBC’ initialized with 256 bit key
Tue Jun 22 12:08:30 2010 Data Channel Decrypt: Using 160 bit message hash ‘SHA1′ for HMAC authentication
Tue Jun 22 12:08:30 2010 Control Channel: TLSv1, cipher TLSv1/SSLv3 EDH-RSA-DES-CBC3-SHA, 2048 bit RSA
Tue Jun 22 12:08:30 2010 [servidor] Peer Connection Initiated with [AF_INET]87.220.30.11:1194
Tue Jun 22 12:08:33 2010 SENT CONTROL [servidor]: ‘PUSH_REQUEST’ (status=1)
Tue Jun 22 12:08:33 2010 PUSH: Received control message: ‘PUSH_REPLY,route 10.10.3.0 255.255.255.0,dhcp-option DOMAIN RED_LOCAL,dhcp-option DNS 10.10.3.1,redirect-gateway def1,route 10.8.0.1,topology net30,ping 15,ping-restart 60,ifconfig 10.8.0.6 10.8.0.5′
Tue Jun 22 12:08:33 2010 OPTIONS IMPORT: timers and/or timeouts modified
Tue Jun 22 12:08:33 2010 OPTIONS IMPORT: –ifconfig/up options modified
Tue Jun 22 12:08:33 2010 OPTIONS IMPORT: route options modified
Tue Jun 22 12:08:33 2010 OPTIONS IMPORT: –ip-win32 and/or –dhcp-option options modified
Tue Jun 22 12:08:33 2010 ROUTE default_gateway=10.10.2.1
Tue Jun 22 12:08:33 2010 TUN/TAP device tun0 opened
Tue Jun 22 12:08:33 2010 TUN/TAP TX queue length set to 100
Tue Jun 22 12:08:33 2010 /sbin/ifconfig tun0 10.8.0.6 pointopoint 10.8.0.5 mtu 1500
Tue Jun 22 12:08:33 2010 /sbin/route add -net xxx netmask 255.255.255.255 gw 10.10.2.1
Tue Jun 22 12:08:33 2010 /sbin/route add -net 0.0.0.0 netmask 128.0.0.0 gw 10.8.0.5
Tue Jun 22 12:08:33 2010 /sbin/route add -net 128.0.0.0 netmask 128.0.0.0 gw 10.8.0.5
Tue Jun 22 12:08:33 2010 /sbin/route add -net 10.10.3.0 netmask 255.255.255.0 gw 10.8.0.5
Tue Jun 22 12:08:33 2010 /sbin/route add -net 10.8.0.1 netmask 255.255.255.255 gw 10.8.0.5
Tue Jun 22 12:08:33 2010 Initialization Sequence Completed
Ahora tenemos tres opciones para conectaros a la VPN:
- Tecleando en consola el comando “sudo openvpn cliente.conf” y no cerrando la consola (ya que si no cierra la conexión).
- Automatizando el inicio de la VPN en el sistema, con lo cual siempre pasarás por la VPN aunque la red sea segura, y eso conlleva no tener la máxima velocidad posible (redirigimos internet).
- Poniendo OpenVPN en el network manager de forma gráfica y ada vez que queramos conectarnos dar 2 clicks y listo.
Esta última forma es la más útil al menos para mí, os voy a poner como hacerlo.
Usar Network-Manager para hacer la conexión OpenVPN (con gráficos y sin consola).
Vamos a instalar OpenVPN para el network-manager (plugin).
sudo apt-get install network-manager-openvpn
SOLUCIÓN a: Openvpn falló porque no había secretos vpn válidos
Una vez instalado (y reiniciado el sistema a ser posible) hacemos:
sudo gedit /etc/dbus-1/system.d/nm-openvpn-service.conf
Y debe poner obligatoriamente lo siguiente:
<!DOCTYPE busconfig PUBLIC
“-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN”
“http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd”>
<busconfig>
<policy user=”root”>
<allow own=”org.freedesktop.NetworkManager.openvpn”/>
<allow send_destination=”org.freedesktop.NetworkManager.openvpn”/>
</policy>
<policy user=”at_console”>
<allow own=”org.freedesktop.NetworkManager.vpnc”/>
<allow send_destination=”org.freedesktop.NetworkManager.vpnc”/>
</policy>
<policy context=”default”>
<deny own=”org.freedesktop.NetworkManager.openvpn”/>
<deny send_destination=”org.freedesktop.NetworkManager.openvpn”/>
</policy>
</busconfig>
Guardáis datos, salís del gedit y reiniciáis el ordenador (también vale reiniciar sólo el network-manager pero tardas menos así), ya nos os dará el famoso error de: Openvpn falló porque no había secretos vpn válidos.
Nota:
Realmente lo único que haces es intercalar esta línea de código:
<policy user=”at_console”>
<allow own=”org.freedesktop.NetworkManager.vpnc”/>
<allow send_destination=”org.freedesktop.NetworkManager.vpnc”/>
</policy>
Entre las otras dos, pero os puse el código entero para que no os compliquéis la vida.
Ya tenemos el plugin openvpn para network manager puesto a punto para configurarlo, ahora vamos a importar la configuración cliente.conf de tal forma que en 4 clicks tengamos todo listo.
En esta pantalla seleccionamos “Importar“:
Buscamos el archivos .CONF y doble click:
A continuación y SIN TOCAR NADA, le damos a APLICAR:
Y ya la habremos importado:
Una vez que hemos hecho esto, basta con dar click izquierdo sobre el network-manager, nos vamos a conexiones VPN y seleccionamos la conexión que hemos importado anteriormente, en 15 segundos estaremos conectados y nos podrá un candado sobre el network-manager, si no funciona ejecutad el cliente.conf manualmente con el siguiente comando (si tampoco conecta, repasa los archivos .CONF).
sudo openvpn cliente.conf
Nota: aquí tenéis el HOWTO oficial de OpenVPN:
http://openvpn.net/index.php/open-source/documentation/howto.html
Windows 7
La creación de los certificados es exactamente en Windows que en GNU/Linux, sólo cambian los comandos a usar, incluso podéis hacer los certificados en GNU/Linux y llevarlos a Windows sin cambiar de extensión, únicamente el server.conf y cliente.conf han de pasar a extensión .ovpn, nada más.
Lo primero que vamos a hacer es bajarnos la última versión de OpenVPN y configurar el GUI adecuadamente.
Descargamos la última versión OpenVPN desde aquí:
http://openvpn.net/index.php/open-source/downloads.html
La instalamos normalmente, con derechos de administrador (por supuesto), una vez instalado todo, reiniciamos el equipo (aunque no es necesario).
Ahora nos vamos al icono del escritorio y pulsamos click derecho sobre él y seleccionamos PROPIEDADES, en la pestaña COMPATIBILIDADModo de Compatibilidad para Windows XP (Service Pack 3)Ejecutar como administrador“, tal y como tenéis en la imagen: seleccionamos y seleccionamos la casilla de ”
Y ya os debería funcionar correctamente, si os funciona sin hacer esto pues perfecto, pero a mí no me funcionó.
Generar la llave y el certificado para la Autoridad Certificadora (CA).
Ejecutamos el CMD.EXE con permisos de administrador (clic derecho ejecutar como administrador).
Nos vamos al directorio de trabajo de OpenVPN carpeta easy-rsa con el comando cd.
- Renombramos vars.bat.sample a vars.bat y lo abrimos con el bloc de notas para rellenar las key_country, key_province etc.
- El tamaño de la llave RSA es controlado por la variable KEY_SIZE en el archivo vars, por tanto en lugar de tener 1024 (bits), ponemos 2048 (bits) si queréis más seguridad (recomiendo 2048).
Salimos y guardamos.
Ejecutamos el comando vars (en c:\archivos de programa\openvpn\easy-rsa)
A continuación ejecutamos clean-all.bat, nos creará una carpeta nueva “keys” donde almacenaremos las claves.
Parámetros Diffie Hellman
Vamos a generar estos parámetros necesarios para el servidor.
Ejecutamos el comando: build-dh y empezará el proceso.
Creación certificado para la CA
Renombramos openssl.sample a openssl (sin el sample).
Ejecutamos en consola build-ca para crearlo y ponéis lo mismo que habéis rellenado en vars (key_country etc) y cuando te pida common name poned openvpn-ca (por ejemplo).
Generación de certificado y llaves para el SERVER
Ejecutamos: build-key-server server para crear el servidor, el common name se obtiene del segundo “server”.
Generación de certificado y llaves para el CLIENTE
Ejecutamos: build-key cliente1 para crear el primer cliente y así con los demás que queramos.
Generar llave TLS-AUTH
En el directorio easy-rsa ejecutamos: openvpn –genkey –secret ta.key y se nos pondrá en ese mismo directorio.
Nota: son dos guiones, no uno sólo.
Ahora nos toca configurar el client.ovpn (client.conf en GNU/Linux) con esto, se hace exactamente igual que en GNU/Linux y tiene las mismas opciones y TODO IGUAL.
El servidor es también igual que en GNU/Linux.
Los archivos que debéis pasar al servidor y clientes, hacedlo por un medio seguro con las .key.
Aquí tenéis la misma tabla que puse arriba:

Aquí tenéis el manual oficial de OpenVPN:
http://openvpn.net/index.php/open-source/documentation/howto.html
Pruebas de conectividad e iniciación:
Como supongo que usaréis Windows como cliente para conectaros a una VPN que esté en un servidor con GNU/Linux o en un router con firmwares de terceros, os voy a enseñar como arrancarlo mediante la interfaz gráfica.
Copiamos ca.crt, cliente1.crt, cliente1.key, ta.key y cliente.ovpn a la carpeta Openvpn/config/, en el cliente.ovpn no hace falta poner la ruta entera de ca.crt y todos los demás, ya que están en la misma carpeta.
Una vez que ya tenemos el servidor a punto, todos los archivos del cliente en la carpeta config, iniciamos el OpenVPN GUI que tenemos en el escritorio.
Recuerda: ejecuta en modo de compatibilidad XP Service Pack 3 y con derechos de administrador.
Clic derecho sobre el icono y pulsamos connect, esperamos hasta que se conecte y nos de LUZ VERDE (si hacemos click derecho sobre el icono y le damos a “Show Status” nos mostrará el LOG de conexión).
Y ya estamos conectados a la VPN en Windows 7.
Espero que os haya gustado…y si tenéis alguna pregunta hacedla y os responderé (si sé).
Manual realizado por Sergio de Luz (Bron) para REDESZone.net










Lo probaremos a ver que tal porque aunque utilizo el teamviewer me parece que es más éste seguro
Hola, esto no sirve para controlar ordenadores remotamente como tal. Accedes a la red local de tu casa de una manera muy segura…luego puedes usar Teamviewer o UltraVNC como si estuvieras en tu casa (LOCALMENTE).
Teamviewer también usa cifrado, usa una clave publica/privada RSA y una codificación de sesión AES de 256Bits…es decir, altamente seguro.
Lo he entendido mal y lo había confundido con UltraVNC
Usa Teamviewer, es muy seguro.
Ok, lo estoy utilizando desde que lo leí en tu blog pero tenia un poco de miedo por la seguridad, lo utilizo en los ordenadores de mis familiares porque así no tengo que desplazarme a veces por tonterías. Lo que tengo que ver con más tranquilidad es utilizarlo dentro de la red a través de LAN que no lo controlo mucho
Teamviwer ya sea a través de internet o a través de LAN funciona exactamente IGUAL
Ayer lo probé y funciona muy bien en modo LAN, incluso mejor
fdo: daniel_alicante
Buenas:
Donde esta los ficheros servidor.conf y cliente.conf, pues no los encuentro.
Un Saludo y muchas gracias por todo,
Javier Iturralde
Están en los EJEMPLOS que te vienen en la carpeta examples. Si no lo encuentras dime qué openvpn has instalado (web o repositorios) y en qué sistema operativo (si hablas de .conf supongo que es linux).
Gran curro que se ha pegado Bron, sí señor
Bueniiiiiiiiisimoooo ! Gran tutorial, te felicito.
Gracias por el comentario y por seguirnos
Hola… anteriormente en el servidor que estoy viendo ya tenia el OpenVPN funcionando… hace poco se malogro y no funciona el VPN…
Me gustaria desinstalar el OpenVPN y volver a instalar nuevamente todo Nuevo…
o hay forma de restablecer todo…. como estuvo antes o que archivos debo de modificar….
el Servidor esta en Linux CentOS 5.4
Tal vez hayan caducado los certificados, prueba a desinstalarlo y volverlo a instalar de todas formas. No sé los comandos de CentOS para reinstalación.
Si es como en Ubuntu:
sudo aptitude remove openvpn
sudo aptitude install openvpn
Saludos
Gracias… Tienes algun manual de OpenVPN para CentOS…
No, pero sólo cambiará el modo de instalación del programa…la creación de certificados y la configuración del servidor etc es igual.
Ok, Gracias… Procediendo a actualizar el SO.
Skype: jarquinigo
Una Consulta cuando ejecuto yum -y install openvpn shorewall vim-enhanced porque me sale el siguiente error:
[root@xxxxx ~]# yum -y install openvpn shorewall vim-enhanced
Loading “fastestmirror” plugin
Config Error: File contains no section headers.
file: file://///etc/yum.repos.d/AL-Server.repo, line: 1
‘erver]\n’
Parece que no se encuentra en los repositorios.
“File contains no section headers”.
Poco te puedo ayudar con la instalación porque no lo conozco.
Si lo consigues y dudas en los ficheros de configuración ahí si te puedo ayudar.
Hola,
Creación certificado para la CA
Ahora creamos el certificado para la CA:
./pkitool –initca
En este apartado cuando lo pongo en mi terminal de ubuntu 10.10, con los dos guiones : ./pkitool –initca ; Me pone la consola: string is too long it needs to be less than 2bytes long. Me pone esto indefinidamente hasta que lo paro en lugar de salirme el mensaje correcto, he seguido todos los pasos tal cual el tutorial, ¿Que puede ser? Gracias.
Repite esta parte:
Generar la llave y el certificado para la Autoridad Certificadora (CA).
En el fichero de configuracion (gedit vars) ahí es donde está el fallo, recuerda ser ROOT para todo
Sergio De Luz, si soy root para todo sudo -i ; pero en gedit vars , ¿Dónde está el fallo? Porque lo he revisado y no se que mas poner aparte de lo que te dice que no dejes en blanco como cuidad mail, etc. y tambien he cambiado la key de 1024 a 2048
Llamame Sergio a secas
Mira mi LOG con todas las cosas por defecto, como puedes ver, no me sé todos los comandos de memoria y he fallado en varios
http://www.redeszone.net/wp-content/uploads/log_vpn.txt
Buenas noches Sergio,
gran aporte el tuyo.Lo primero desconocía que se pudiese implementar un servidor SSL sin Windows Server, Linux y menos en Windows 7.
Gran descubrimiento.
Muchas gracias.
Un saludo.
Me alegro que te guste
Buen manual , me viene bien para ampliar mis conocmientos de CCNA. Gracias.
Buen manual, agradecería si alguien copiase y pegase la configuración del fichero “cliente.ovpn”, para así solo modificar las rutas.
Gracias
Gracias por el manual. Agradecería que alguien pusiera una captura del fichero “cliente.ovpn”, para así tan solo cambiar los parámetros que hacen falta.
Es que en la carpeta EXAMPLES te viene ya un cliente.ovpn de muestra y sólo tienes que configurar y modificar las cosas tal y como están en el manual.
Tengo todos los fichero generados pero como configuro el router para que los lea
Perfecto, ya has hecho lo más dificil…mira las capturas del menú de Tomato, no tiene pérdida
Clic derecho sobre los certificados, y le das a abrir con NOTEPAD, y copias absolutamente todo lo que hay en las casillas
Me sale esto cuando intento conectar te suena a algo?
Sun Mar 06 19:35:36 2011 OpenVPN 2.1.4 i686-pc-mingw32 [SSL] [LZO2] [PKCS11] built on Nov 8 2010
Sun Mar 06 19:35:36 2011 NOTE: OpenVPN 2.1 requires ‘–script-security 2′ or higher to call user-defined scripts or executables
Sun Mar 06 19:35:36 2011 Cannot load certificate file cliente1.crt: error:0906D06C:PEM routines:PEM_read_bio:no start line: error:140AD009:SSL routines:SSL_CTX_use_certificate_file:PEM lib
Sun Mar 06 19:35:36 2011 Exiting
Que no has colocado bien en el cliente los certificados…los tienes que colocar en la carpeta adecuada.
En el cliente usas windows o linux? si es windows:
Copiamos ca.crt, cliente1.crt, cliente1.key, ta.key y cliente.ovpn a la carpeta Openvpn/config/, en el cliente.ovpn no hace falta poner la ruta entera de ca.crt y todos los demás, ya que están en la misma carpeta.
ya he visto el error uno de los ficheros n otenia tamaño esto volviendo a generar todos y utilizo windows.
cuando genero la llave del cliente me da un fichero de 0 bytes
Asegúrate de que tienes permisos de administrador a la hora de ejecutar la consola CMD y ejecutar el script (si usas win vista o win 7).
esto es lo que pone
Please enter the following ‘extra’ attributes
RINTABLE:’ES’
RINTABLE:’MA’
RINTABLE:’Parla’
RINTABLE:’OpenVPN’
RINTABLE:’jesuslucio.mine.nu’
to be sent with your certificate request
A challenge password []:1980jlcL
An optional company name []:casa
Using configuration from openssl.cnf
Loading ‘screen’ into random state – done
Check that the request matches the signature
Signature ok
The Subject’s Distinguished Name is as follows
countryName
stateOrProvinceName
localityName
organizationName
organizationalUnitName:PRINTABLE:’Open’
commonName
emailAddress :IA5STRING:’**@gmail.com’
Certificate is to be certified until Mar 3 20:31:41 2021 GMT (3650 days)
Sign the certificate? [y/n]:y
failed to update database
TXT_DB error number 2
No se pudo encontrar C:\Program Files\OpenVPN\easy-rsa\keys\*.old
En la carpeta keys tienes todas las llaves que has creado anteriormente? te salen con contenido (que no sea 0bytes)?
si todas y solo me sale 0 cuando ejecuto el build-key client 1
el cliente1.crt es el que da 0 despues de ejecutar el build-key cliente1
Cuando creaste las llaves para el servidor, pusiste los mismos datos de:
countryName
RINTABLE:’ES’
RINTABLE:’MA’
stateOrProvinceName
Etc??
Solo debes cambiar el commonName, recuerdo que yo también tuve problemas en esta parte.
gracias era eso ponia el mismo commonname al server y al cliente
Es muy puñetero ese problema…difícil de encontrar
Me volví loco para arreglarlo!
Gracias por todo pero no me conecta mira el log del openvpn del cliente.
Tue Mar 08 13:17:52 2011 OpenVPN 2.2-beta5 i686-pc-mingw32 [SSL] [LZO2] [PKCS11] built on Nov 30 2010
Tue Mar 08 13:17:52 2011 NOTE: OpenVPN 2.1 requires ‘–script-security 2′ or higher to call user-defined scripts or executables
Tue Mar 08 13:17:52 2011 LZO compression initialized
Tue Mar 08 13:17:52 2011 Control Channel MTU parms [ L:1542 D:138 EF:38 EB:0 ET:0 EL:0 ]
Tue Mar 08 13:17:52 2011 Socket Buffers: R=[8192->8192] S=[8192->8192]
Tue Mar 08 13:17:53 2011 Data Channel MTU parms [ L:1542 D:1450 EF:42 EB:135 ET:0 EL:0 AF:3/1 ]
Tue Mar 08 13:17:53 2011 Local Options hash (VER=V4): ’41690919′
Tue Mar 08 13:17:53 2011 Expected Remote Options hash (VER=V4): ’530fdded’
Tue Mar 08 13:17:53 2011 UDPv4 link local: [undef]
Tue Mar 08 13:17:53 2011 UDPv4 link remote: 89.141.127.135:1194
Tue Mar 08 13:17:54 2011 read UDPv4: Connection reset by peer (WSAECONNRESET) (code=10054)
Tue Mar 08 13:17:56 2011 read UDPv4: Connection reset by peer (WSAECONNRESET) (code=10054)
Tue Mar 08 13:18:00 2011 read UDPv4: Connection reset by peer (WSAECONNRESET) (code=10054)
Tue Mar 08 13:18:07 2011 read UDPv4: Connection reset by peer (WSAECONNRESET) (code=10054)
Se te ocurre algo.
Sí, desde donde te conectas?? desde casa de algún vecino o algo?
Un stick UMTS
Eso pasa normalmente cuando te conectas a través de un router y no tiene el servicio UPnP activado.
Prueba a cambiar el protocolo UDP por TCP, tanto en servidor como en el cliente a ver si así te conecta.
Nada ahora ni arranca el servicio del server.
Ponme capturas de pantalla de tu configuración de Tomato, y te metes en el LOG de Tomato y me lo mandas todo a mi email:
sergiodeluz[at]adslzone.net
Perdona que no haya venido antes cuestiones de trabajo. te he mandado un mail por si quieres entrar en el router
Este es el log del cliente
Sat Mar 12 15:25:58 2011 OpenVPN 2.2-beta5 i686-pc-mingw32 [SSL] [LZO2] [PKCS11] built on Nov 30 2010
Sat Mar 12 15:25:58 2011 NOTE: OpenVPN 2.1 requires ‘–script-security 2′ or higher to call user-defined scripts or executables
Sat Mar 12 15:25:58 2011 Control Channel Authentication: using ‘ta.key’ as a OpenVPN static key file
Sat Mar 12 15:25:58 2011 Outgoing Control Channel Authentication: Using 160 bit message hash ‘SHA1′ for HMAC authentication
Sat Mar 12 15:25:58 2011 Incoming Control Channel Authentication: Using 160 bit message hash ‘SHA1′ for HMAC authentication
Sat Mar 12 15:25:58 2011 LZO compression initialized
Sat Mar 12 15:25:58 2011 Control Channel MTU parms [ L:1542 D:166 EF:66 EB:0 ET:0 EL:0 ]
Sat Mar 12 15:25:58 2011 Socket Buffers: R=[8192->8192] S=[8192->8192]
Sat Mar 12 15:25:58 2011 Data Channel MTU parms [ L:1542 D:1450 EF:42 EB:135 ET:0 EL:0 AF:3/1 ]
Sat Mar 12 15:25:58 2011 Local Options hash (VER=V4): ’504e774e’
Sat Mar 12 15:25:58 2011 Expected Remote Options hash (VER=V4): ’14168603′
Sat Mar 12 15:25:58 2011 UDPv4 link local: [undef]
Sat Mar 12 15:25:58 2011 UDPv4 link remote: 89.141.127.135:1194
Sat Mar 12 15:25:59 2011 TLS: Initial packet from 89.141.127.135:1194, sid=f9d8460f 33a55cc3
Sat Mar 12 15:26:00 2011 VERIFY OK: depth=1, /C=ES/ST=MA/L=Parla/O=OpenVPN/OU=Open/CN=jesuslucio.mine.nu/emailAddress=eljesus47@gmail.com
Sat Mar 12 15:26:00 2011 VERIFY OK: nsCertType=SERVER
Sat Mar 12 15:26:00 2011 VERIFY OK: depth=0, /C=ES/ST=MA/O=OpenVPN/OU=Open/CN=jesuslucio.mine.nu/emailAddress=eljesus47@gmail.com
Sat Mar 12 15:26:03 2011 Data Channel Encrypt: Cipher ‘BF-CBC’ initialized with 128 bit key
Sat Mar 12 15:26:03 2011 Data Channel Encrypt: Using 160 bit message hash ‘SHA1′ for HMAC authentication
Sat Mar 12 15:26:03 2011 Data Channel Decrypt: Cipher ‘BF-CBC’ initialized with 128 bit key
Sat Mar 12 15:26:03 2011 Data Channel Decrypt: Using 160 bit message hash ‘SHA1′ for HMAC authentication
Sat Mar 12 15:26:03 2011 Control Channel: TLSv1, cipher TLSv1/SSLv3 DHE-RSA-AES256-SHA, 2048 bit RSA
Sat Mar 12 15:26:03 2011 [jesuslucio.mine.nu] Peer Connection Initiated with 89.141.127.135:1194
Sat Mar 12 15:26:05 2011 SENT CONTROL [jesuslucio.mine.nu]: ‘PUSH_REQUEST’ (status=1)
Sat Mar 12 15:26:05 2011 PUSH: Received control message: ‘PUSH_REPLY,route 192.168.1.0 255.255.255.0,dhcp-option DNS 192.168.1.1,route 192.168.0.1,topology net30,ping 15,ping-restart 60,ifconfig 192.168.0.6 192.168.0.5′
Sat Mar 12 15:26:05 2011 OPTIONS IMPORT: timers and/or timeouts modified
Sat Mar 12 15:26:05 2011 OPTIONS IMPORT: –ifconfig/up options modified
Sat Mar 12 15:26:05 2011 OPTIONS IMPORT: route options modified
Sat Mar 12 15:26:05 2011 OPTIONS IMPORT: –ip-win32 and/or –dhcp-option options modified
Sat Mar 12 15:26:05 2011 ROUTE default_gateway=95.127.52.252
Sat Mar 12 15:26:05 2011 TAP-WIN32 device [Conexión de área local 4] opened: \\.\Global\{8C14629E-EBE6-45B6-ACEE-E1F9EAA9E8CA}.tap
Sat Mar 12 15:26:05 2011 TAP-Win32 Driver Version 9.7
Sat Mar 12 15:26:05 2011 TAP-Win32 MTU=1500
Sat Mar 12 15:26:05 2011 Notified TAP-Win32 driver to set a DHCP IP/netmask of 192.168.0.6/255.255.255.252 on interface {8C14629E-EBE6-45B6-ACEE-E1F9EAA9E8CA} [DHCP-serv: 192.168.0.5, lease-time: 31536000]
Sat Mar 12 15:26:05 2011 Successful ARP Flush on interface [63] {8C14629E-EBE6-45B6-ACEE-E1F9EAA9E8CA}
Sat Mar 12 15:26:10 2011 TEST ROUTES: 2/2 succeeded len=2 ret=1 a=0 u/d=up
Sat Mar 12 15:26:10 2011 C:\WINDOWS\system32\route.exe ADD 192.168.1.0 MASK 255.255.255.0 192.168.0.5
Sat Mar 12 15:26:10 2011 ROUTE: route addition failed using CreateIpForwardEntry: Uno o más argumentos son incorrectos. [status=160 if_index=63]
Sat Mar 12 15:26:10 2011 Route addition via IPAPI failed [adaptive]
Sat Mar 12 15:26:10 2011 Route addition fallback to route.exe
Correcto
Sat Mar 12 15:26:10 2011 C:\WINDOWS\system32\route.exe ADD 192.168.0.1 MASK 255.255.255.255 192.168.0.5
Sat Mar 12 15:26:11 2011 ROUTE: route addition failed using CreateIpForwardEntry: Uno o más argumentos son incorrectos. [status=160 if_index=63]
Sat Mar 12 15:26:11 2011 Route addition via IPAPI failed [adaptive]
Sat Mar 12 15:26:11 2011 Route addition fallback to route.exe
Correcto
Sat Mar 12 15:26:11 2011 Initialization Sequence Completed
Sat Mar 12 15:26:21 2011 Authenticate/Decrypt packet error: cipher final failed
Sat Mar 12 15:26:35 2011 Authenticate/Decrypt packet error: cipher final failed
Sat Mar 12 15:26:50 2011 Authenticate/Decrypt packet error: cipher final failed
Sat Mar 12 15:27:06 2011 [jesuslucio.mine.nu] Inactivity timeout (–ping-restart), restarting
Sat Mar 12 15:27:06 2011 TCP/UDP: Closing socket
Sat Mar 12 15:27:06 2011 SIGUSR1[soft,ping-restart] received, process restarting
Sat Mar 12 15:27:06 2011 Restart pause, 2 second(s)
Sat Mar 12 15:27:08 2011 NOTE: OpenVPN 2.1 requires ‘–script-security 2′ or higher to call user-defined scripts or executables
Sat Mar 12 15:27:08 2011 Re-using SSL/TLS context
Sat Mar 12 15:27:08 2011 LZO compression initialized
Sat Mar 12 15:27:08 2011 Control Channel MTU parms [ L:1542 D:166 EF:66 EB:0 ET:0 EL:0 ]
Sat Mar 12 15:27:08 2011 Socket Buffers: R=[8192->8192] S=[8192->8192]
Sat Mar 12 15:27:08 2011 Data Channel MTU parms [ L:1542 D:1450 EF:42 EB:135 ET:0 EL:0 AF:3/1 ]
Sat Mar 12 15:27:08 2011 Local Options hash (VER=V4): ’504e774e’
Sat Mar 12 15:27:08 2011 Expected Remote Options hash (VER=V4): ’14168603′
Sat Mar 12 15:27:08 2011 UDPv4 link local: [undef]
Sat Mar 12 15:27:08 2011 UDPv4 link remote: 89.141.127.135:1194
Sat Mar 12 15:27:08 2011 TLS: Initial packet from 89.141.127.135:1194, sid=5ead160b 6f6f46a4
Sat Mar 12 15:27:10 2011 VERIFY OK: depth=1, /C=ES/ST=MA/L=Parla/O=OpenVPN/OU=Open/CN=jesuslucio.mine.nu/emailAddress=eljesus47@gmail.com
Sat Mar 12 15:27:10 2011 VERIFY OK: nsCertType=SERVER
Sat Mar 12 15:27:10 2011 VERIFY OK: depth=0, /C=ES/ST=MA/O=OpenVPN/OU=Open/CN=jesuslucio.mine.nu/emailAddress=eljesus47@gmail.com
Sat Mar 12 15:27:12 2011 Data Channel Encrypt: Cipher ‘BF-CBC’ initialized with 128 bit key
Sat Mar 12 15:27:12 2011 Data Channel Encrypt: Using 160 bit message hash ‘SHA1′ for HMAC authentication
Sat Mar 12 15:27:12 2011 Data Channel Decrypt: Cipher ‘BF-CBC’ initialized with 128 bit key
Sat Mar 12 15:27:12 2011 Data Channel Decrypt: Using 160 bit message hash ‘SHA1′ for HMAC authentication
Sat Mar 12 15:27:12 2011 Control Channel: TLSv1, cipher TLSv1/SSLv3 DHE-RSA-AES256-SHA, 2048 bit RSA
Sat Mar 12 15:27:12 2011 [jesuslucio.mine.nu] Peer Connection Initiated with 89.141.127.135:1194
Sat Mar 12 15:27:14 2011 SENT CONTROL [jesuslucio.mine.nu]: ‘PUSH_REQUEST’ (status=1)
Sat Mar 12 15:27:14 2011 PUSH: Received control message: ‘PUSH_REPLY,route 192.168.1.0 255.255.255.0,dhcp-option DNS 192.168.1.1,route 192.168.0.1,topology net30,ping 15,ping-restart 60,ifconfig 192.168.0.6 192.168.0.5′
Sat Mar 12 15:27:14 2011 OPTIONS IMPORT: timers and/or timeouts modified
Sat Mar 12 15:27:14 2011 OPTIONS IMPORT: –ifconfig/up options modified
Sat Mar 12 15:27:14 2011 OPTIONS IMPORT: route options modified
Sat Mar 12 15:27:14 2011 OPTIONS IMPORT: –ip-win32 and/or –dhcp-option options modified
Sat Mar 12 15:27:14 2011 Preserving previous TUN/TAP instance: Conexión de área local 4
Sat Mar 12 15:27:14 2011 Initialization Sequence Completed
Sat Mar 12 15:27:30 2011 Bad LZO decompression header byte: 32
Sat Mar 12 15:27:45 2011 Authenticate/Decrypt packet error: cipher final failed
Sat Mar 12 15:27:59 2011 Authenticate/Decrypt packet error: cipher final failed
Sat Mar 12 15:28:14 2011 [jesuslucio.mine.nu] Inactivity timeout (–ping-restart), restarting
Sat Mar 12 15:28:14 2011 TCP/UDP: Closing socket
Sat Mar 12 15:28:14 2011 SIGUSR1[soft,ping-restart] received, process restarting
Sat Mar 12 15:28:14 2011 Restart pause, 2 second(s)
Sat Mar 12 15:28:16 2011 NOTE: OpenVPN 2.1 requires ‘–script-security 2′ or higher to call user-defined scripts or executables
Sat Mar 12 15:28:16 2011 Re-using SSL/TLS context
Sat Mar 12 15:28:16 2011 LZO compression initialized
Sat Mar 12 15:28:16 2011 Control Channel MTU parms [ L:1542 D:166 EF:66 EB:0 ET:0 EL:0 ]
Sat Mar 12 15:28:16 2011 Socket Buffers: R=[8192->8192] S=[8192->8192]
Sat Mar 12 15:28:16 2011 Data Channel MTU parms [ L:1542 D:1450 EF:42 EB:135 ET:0 EL:0 AF:3/1 ]
Sat Mar 12 15:28:16 2011 Local Options hash (VER=V4): ’504e774e’
Sat Mar 12 15:28:16 2011 Expected Remote Options hash (VER=V4): ’14168603′
Sat Mar 12 15:28:16 2011 UDPv4 link local: [undef]
Sat Mar 12 15:28:16 2011 UDPv4 link remote: 89.141.127.135:1194
Sat Mar 12 15:28:16 2011 TLS: Initial packet from 89.141.127.135:1194, sid=96fd0ef2 6f5bc6d2
Sat Mar 12 15:28:18 2011 VERIFY OK: depth=1, /C=ES/ST=MA/L=Parla/O=OpenVPN/OU=Open/CN=jesuslucio.mine.nu/emailAddress=eljesus47@gmail.com
Sat Mar 12 15:28:18 2011 VERIFY OK: nsCertType=SERVER
Sat Mar 12 15:28:18 2011 VERIFY OK: depth=0, /C=ES/ST=MA/O=OpenVPN/OU=Open/CN=jesuslucio.mine.nu/emailAddress=eljesus47@gmail.com
Sat Mar 12 15:28:20 2011 Data Channel Encrypt: Cipher ‘BF-CBC’ initialized with 128 bit key
Sat Mar 12 15:28:20 2011 Data Channel Encrypt: Using 160 bit message hash ‘SHA1′ for HMAC authentication
Sat Mar 12 15:28:20 2011 Data Channel Decrypt: Cipher ‘BF-CBC’ initialized with 128 bit key
Sat Mar 12 15:28:20 2011 Data Channel Decrypt: Using 160 bit message hash ‘SHA1′ for HMAC authentication
Sat Mar 12 15:28:20 2011 Control Channel: TLSv1, cipher TLSv1/SSLv3 DHE-RSA-AES256-SHA, 2048 bit RSA
Sat Mar 12 15:28:20 2011 [jesuslucio.mine.nu] Peer Connection Initiated with 89.141.127.135:1194
Sat Mar 12 15:28:23 2011 SENT CONTROL [jesuslucio.mine.nu]: ‘PUSH_REQUEST’ (status=1)
Sat Mar 12 15:28:23 2011 PUSH: Received control message: ‘PUSH_REPLY,route 192.168.1.0 255.255.255.0,dhcp-option DNS 192.168.1.1,route 192.168.0.1,topology net30,ping 15,ping-restart 60,ifconfig 192.168.0.6 192.168.0.5′
Sat Mar 12 15:28:23 2011 OPTIONS IMPORT: timers and/or timeouts modified
Sat Mar 12 15:28:23 2011 OPTIONS IMPORT: –ifconfig/up options modified
Sat Mar 12 15:28:23 2011 OPTIONS IMPORT: route options modified
Sat Mar 12 15:28:23 2011 OPTIONS IMPORT: –ip-win32 and/or –dhcp-option options modified
Sat Mar 12 15:28:23 2011 Preserving previous TUN/TAP instance: Conexión de área local 4
Sat Mar 12 15:28:23 2011 Initialization Sequence Completed
Sat Mar 12 15:28:38 2011 Authenticate/Decrypt packet error: cipher final failed
Sat Mar 12 15:28:53 2011 Authenticate/Decrypt packet error: cipher final failed
Sat Mar 12 15:29:08 2011 Authenticate/Decrypt packet error: cipher final failed
Sat Mar 12 15:29:23 2011 Authenticate/Decrypt packet error: cipher final failed
Sat Mar 12 15:29:23 2011 [jesuslucio.mine.nu] Inactivity timeout (–ping-restart), restarting
Sat Mar 12 15:29:23 2011 TCP/UDP: Closing socket
Sat Mar 12 15:29:23 2011 SIGUSR1[soft,ping-restart] received, process restarting
Sat Mar 12 15:29:23 2011 Restart pause, 2 second(s)
Sat Mar 12 15:29:25 2011 NOTE: OpenVPN 2.1 requires ‘–script-security 2′ or higher to call user-defined scripts or executables
Sat Mar 12 15:29:25 2011 Re-using SSL/TLS context
Sat Mar 12 15:29:25 2011 LZO compression initialized
Sat Mar 12 15:29:25 2011 Control Channel MTU parms [ L:1542 D:166 EF:66 EB:0 ET:0 EL:0 ]
Sat Mar 12 15:29:25 2011 Socket Buffers: R=[8192->8192] S=[8192->8192]
Sat Mar 12 15:29:26 2011 Data Channel MTU parms [ L:1542 D:1450 EF:42 EB:135 ET:0 EL:0 AF:3/1 ]
Sat Mar 12 15:29:26 2011 Local Options hash (VER=V4): ’504e774e’
Sat Mar 12 15:29:26 2011 Expected Remote Options hash (VER=V4): ’14168603′
Sat Mar 12 15:29:26 2011 UDPv4 link local: [undef]
Sat Mar 12 15:29:26 2011 UDPv4 link remote: 89.141.127.135:1194
Sat Mar 12 15:29:26 2011 TLS: Initial packet from 89.141.127.135:1194, sid=12b05d4c a6949e95
Sat Mar 12 15:29:28 2011 VERIFY OK: depth=1, /C=ES/ST=MA/L=Parla/O=OpenVPN/OU=Open/CN=jesuslucio.mine.nu/emailAddress=eljesus47@gmail.com
Sat Mar 12 15:29:28 2011 VERIFY OK: nsCertType=SERVER
Sat Mar 12 15:29:28 2011 VERIFY OK: depth=0, /C=ES/ST=MA/O=OpenVPN/OU=Open/CN=jesuslucio.mine.nu/emailAddress=eljesus47@gmail.com
Sat Mar 12 15:29:30 2011 Data Channel Encrypt: Cipher ‘BF-CBC’ initialized with 128 bit key
Sat Mar 12 15:29:30 2011 Data Channel Encrypt: Using 160 bit message hash ‘SHA1′ for HMAC authentication
Sat Mar 12 15:29:30 2011 Data Channel Decrypt: Cipher ‘BF-CBC’ initialized with 128 bit key
Sat Mar 12 15:29:30 2011 Data Channel Decrypt: Using 160 bit message hash ‘SHA1′ for HMAC authentication
Sat Mar 12 15:29:30 2011 Control Channel: TLSv1, cipher TLSv1/SSLv3 DHE-RSA-AES256-SHA, 2048 bit RSA
Sat Mar 12 15:29:30 2011 [jesuslucio.mine.nu] Peer Connection Initiated with 89.141.127.135:1194
Sat Mar 12 15:29:32 2011 SENT CONTROL [jesuslucio.mine.nu]: ‘PUSH_REQUEST’ (status=1)
Sat Mar 12 15:29:33 2011 PUSH: Received control message: ‘PUSH_REPLY,route 192.168.1.0 255.255.255.0,dhcp-option DNS 192.168.1.1,route 192.168.0.1,topology net30,ping 15,ping-restart 60,ifconfig 192.168.0.6 192.168.0.5′
Sat Mar 12 15:29:33 2011 OPTIONS IMPORT: timers and/or timeouts modified
Sat Mar 12 15:29:33 2011 OPTIONS IMPORT: –ifconfig/up options modified
Sat Mar 12 15:29:33 2011 OPTIONS IMPORT: route options modified
Sat Mar 12 15:29:33 2011 OPTIONS IMPORT: –ip-win32 and/or –dhcp-option options modified
Sat Mar 12 15:29:33 2011 Preserving previous TUN/TAP instance: Conexión de área local 4
Sat Mar 12 15:29:33 2011 Initialization Sequence Completed
Sat Mar 12 15:29:47 2011 Authenticate/Decrypt packet error: cipher final failed
Ya esta por fin muchassssssss gracias. He copiado las keys en otra carpeta y he modificado el client.ovpn y esta funcionando muchas gracias Sergio eres la cañaaa.
Despues de configurar esto ahora no me funciona la conexion por el navegador como te he mando el mail.
Sabes porque puede ser
No te funciona la conexión por el navegador? dime exactamente qué haces
Tienes configurado Tomato tal y como aparece en las capturas??
En cuanto desactivo la dmz funciona bien puedo conectar al router por el navegador desde otra conexion.
Buenas
Yo seguí este manual, he visto este más tarde, creo que lo único que cambia es la creacion de llaves y la conf del server, ya que yo no puedo cambiar el firmware del router.
http://ubunlog.com/instala-tu-propio-servidor-vpn-con-openvpn-en-ubuntu-10-04-server/
El router que tengo es un Comtrend 5361, y no se si tengo que configurarle algo ahí, le abri el puerto y poco más. Cuando instale el cliente en mi casa, me salia un error “la concexion con X se ha cerrado inesperadamente”
A ver si podeis echar un cable
Aunque en el router no lo puedas meter, el procedimiento es el mismo.
Sin más datos es imposible decirte algo. Dime sistemas operativos empleados y cómo tienes la configuración tanto del cliente como del servidor, así como el rango de Ips que reparte tu router (IPs privadas no públicas).
Saludos
Buenas
Sistema operativos, Ubuntu server, y desktop. Y la config es la que en el enlace que he puesto ahi arriba, (esta hecho sobre ese tutorial, apoyandome con el manual oficial). Donde me he podido equivocar es con las ip, porque alguna veces no tengo muy claro que IP’s poner, si la pública,privada del server, o la de VPN
client
dev tun
proto udp
remote ippublica
resolv-retry infinite
nobind
#user nobody
#group nobody
persist-key
persist-tun
ca ca.crt
cert david.crt
key david.key
comp-lzo
tun-mtu 1500
keepalive 10 120
verb 4
Y la del servidor
local 192.168.1.133
dev tun
proto udp
port X
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 5
comp-lzo
max-clients 15
Como ya he dicho echale un vistzo rapido al enlace que he puesto, porque está practicamente igual.
Gracias
push “route 192.168.1.0 255.255.255.0″
Creo que con eso te funcionará, de todas formas, no has puesto ningún cifrado superior al por defecto… AES 256 CBC
Buenas
Porque crees que no funcionará? funcionar no funciona , me da un error
Tue May 3 10:05:33 2011 us=763948 read UDPv4 [ECONNREFUSED]: Connection refused (code=111)
Y no sé como solucionarlo
Gracias
Digo que con eso CREO que te funcionará.
Ese error, verifica que no te conectas desde la misma LAN, es decir, vete a casa de un vecino e intenta conectarte.
Si ya estás en otra red local, verifica que tienes el UPNP del router activado.
Ah dios mio, vaya cabeza tengo.
Te explico, actualmente estoy haciendo las practicas de SMR, es decir estoy en un trabajo, asi que tengo que probarlo desde la misma LAN, pero lo mismo esta tarde me traen un router 3G y poder probarlo desde otra red.
Me sale el mismo error, y ahora mismo no puedo tener acceso al router. Por eso no puedo cambiar el firmware, ni nada.
Debes probarlo desde otra red (3G) por ejemplo
Probaré a ver que sale, por cierto, tengo ya el acceso al router, tengo que enrutar algo? en el parametro “static route”?
En el router sólo redirige el puerto 1194 (o el que uses) hacia la IP privada del PC con el server openvpn.
Uhm, pues no se muy bien como lo hago… creo que puede ser el problema. Vamos, ahora que tengo el poder del router xD, no veo nada que enrute ahí. Quizas por eso no me conecta.
Vale lo he visto y el apartado que supono que es este
NAT — Port Triggering Setup
Sale vacio y sin ninguna entrada, pero cuando voy añadir uno solo sale el puerto, que quiero añadir y nada de ips…
Port forwarding, no triggering.
Pues ese parametro no lo tiene… Como no sea “Routing –> static routing” pero eso es para definir otros routers/redes… es posible que mi router no pueda hacer eso?
Modelo de router?
El que da telefonica.
Comtrend 5361
http://www.adslzone.net/postt216184.html
Virtual Server…
Ok, entonces lo hice bien… pues nada, ya tengo el router 3G a ver si funciona… pero deberia funcionar tambien desde la local no?
Siento el doble post
Tengo que puesto esto…
Server Name| External Port |Start External |Port End Protocol |Internal Port Start |Internal Port End| Server IP Address
XXXX 1194 1194 TCP/UDP 1194 1194 192.168.1.34
EN server IP Adress que pongo la del la maquina donde esta el “servidor openvpn” o la red virtual 10.X.X,X
Un saludo y gracias por la rapidez
Pones la de la máquina donde está el servidor.
En principio no deberías poder conectarte a tu VPN estando en la misma subred.
Desde el router 3G me sale lo mismo
La conexión de red “client” ha fallado porque el servicio VPN se interrumpió inesperadamente”
Wed May 4 12:16:25 2011 us=656374 read UDPv4 [ECONNREFUSED]: Connection refused (code=111)
Lo mismo de antes vamos, no se que tengo que hacer… Como duda, que ip pongo en “pasarela” cuando configuro la conexion VPN en el cliente.
No sé a donde te refieres con la IP en pasarela del cliente…en el fichero de configuración dices?
Aquí exactamente
http://www.redeszone.net/wp-content/uploads/network-manager-openvpn3.png
Tengo ip estatica por si sirve de algo, que creo que es una ventaja…
Se te debería poner automáticamente con la IP o host que tenga en el .CONF
De todas formas, para probar la conectividad hazlo manualmente desde consola y no desde el network manager porque yo tuve problemas de este tipo ya que se le va la pinza al importar los certificados y las llaves.
Hazlo así:
sudo openvpn cliente.conf
Y te saldrá en consola todo el proceso de conexión hasta que ponga iniciado satisfactoriamente.
Lo he hecho de ambas maneras
Wed May 4 12:23:39 2011 us=806242 WARNING: No server certificate verification method has been enabled. See http://openvpn.net/howto.html#mitm for more info.
Wed May 4 12:23:39 2011 us=806269 NOTE: OpenVPN 2.1 requires ‘–script-security 2′ or higher to call user-defined scripts or executables
Wed May 4 12:23:39 2011 us=807182 WARNING: file ‘david.key’ is group or others accessible
Wed May 4 12:23:39 2011 us=807806 /usr/bin/openssl-vulnkey -q -b 2048 -m
Wed May 4 12:23:40 2011 us=51834 LZO compression initialized
Wed May 4 12:23:40 2011 us=52081 Control Channel MTU parms [ L:1542 D:138 EF:38 EB:0 ET:0 EL:0 ]
Wed May 4 12:23:40 2011 us=52214 Data Channel MTU parms [ L:1542 D:1450 EF:42 EB:135 ET:0 EL:0 AF:3/1 ]
Wed May 4 12:23:40 2011 us=52275 Local Options String: ‘V4,dev-type tun,link-mtu 1542,tun-mtu 1500,proto UDPv4,comp-lzo,cipher BF-CBC,auth SHA1,keysize 128,key-method 2,tls-client’
Wed May 4 12:23:40 2011 us=52293 Expected Remote Options String: ‘V4,dev-type tun,link-mtu 1542,tun-mtu 1500,proto UDPv4,comp-lzo,cipher BF-CBC,auth SHA1,keysize 128,key-method 2,tls-server’
Wed May 4 12:23:40 2011 us=52337 Local Options hash (VER=V4): ’41690919′
Wed May 4 12:23:40 2011 us=52362 Expected Remote Options hash (VER=V4): ’530fdded’
Wed May 4 12:23:40 2011 us=52405 Socket Buffers: R=[114688->131072] S=[114688->131072]
Wed May 4 12:23:40 2011 us=52428 UDPv4 link local: [undef]
Wed May 4 12:23:40 2011 us=52447 UDPv4 link remote: [AF_INET]80.32.43.86:1194
Wed May 4 12:23:43 2011 us=229712 read UDPv4 [ECONNREFUSED]: Connection refused (code=111)
Ahora nos vamos entendiendo…mira el primer WARNING: No server certificate verification method has been enabled.
No has colocado bien los certificados (la ruta), en este caso es la CLAVE KEY…o los has creado mal, revisa eso, porque ahí está el problema y no en la conectividad.
Tengo el client en la carpeta /etc/openvpn y dentro las keys
y con el parametro
ca ca.crt
cert david.crt
key david.key
Que creo que esta bien y mira este warning
Wed May 4 12:23:39 2011 us=807182 WARNING: file ‘david.key’ is group or others accessible
Que quiere decir? Yo creo las claves desde el servidor como root, y despues las meto en la carpeta del admin, y le cambio los permisos, para que yo desde ssh me deja copiarlas a mi ordenador personal. No se si puede ser eso… Pero vamos crearlas la she creado como dice el manual no se, probare creando otras de prueba a ver que pasa.
Gracias
Mueve las claves a /home/david
Le metes un chmod 777 a todos los ficheros.
El archivo .CONF también lo metes en /home/david
Luego haces lo que te dije antes y listo (no hace falta que toques el fichero .conf tal cual lo tienes ahora mismo ya que tienes la ruta correcta).
A ver si te funciona así.
Nada me dice que no encuentra la ruta… de las claves. Asi que lo he movido a su sitio, stoy buscando por google el error ese WARNING y nada…
http://openvpn.net/index.php/open-source/documentation/howto.html#mitm
Y esto de aqui no entiendo nada xD
He intenado crear otra clave y mira que me sale xDD
Certificate is to be certified until May 1 15:00:25 2021 GMT (3650 days)
Sign the certificate? [y/n]:y
failed to update database
TXT_DB error number 2
Me da mi que va tocar reinstalar… xD
Es que por ejemplo en el cliente no tienes esto:
ns-cert-type server
Cosa que yo si tengo (y que venía en el fichero CONF de SAMPLE).
Te estás saltando los pasos, cuando hagas todos los certificados etc, usando los SAMPLES configuras tu servidor y tu cliente (en los samples viene información de lo que es cada cosa, muchas de ellas no las tienes ni que tocar).
Ese link que me pones habla del TLS-AUTH, mira el manual donde explico cómo se hace (esto tampoco lo pusiste ni en cliente ni en servidor), es una medida más de seguridad.
Estoy con un windows 7, la única forma de poder tener acceso a internet o al router ha sido crear una conexión puente entre la red que me crea con openvpn y la red wifi. Es correcto?
Y cómo podría ver que la conexión entre el portatil y el router va a través de la VPN?
saludos
Pero te estás conectando a la VPN desde la propia LAN?
Si, desde el interior de mi casa
Conéctate desde otra LAN, es normal que se vuelva loco porque estás conectando consigo mismo.
Creia que tambien era para la conexion interna de casa, para bridarla de alguna forma
No, no tiene nada que ver…es para conectarte desde el exterior con la seguridad de como si estuvieras en casa.
Hola a todos,
he montado un servidor OpenVPN en Windows con clientes también Windows, utilizando el puerto 1149.
Si pruebo de conectar desde el mismo segmneto de LAN que tengo el servidor, el cliente conecta perfectamente y me asigna una ip del pool definido.
La ip del servidor OpenVPN es la 192.168.1.200.
En cambio, desde internet cuando intento conectar me sale el siguiente mensaje, que se repite y repite:
read UDPv4: Connection reset by peer (WSAECONNRESET) (code=10054)
read UDPv4: Connection reset by peer (WSAECONNRESET) (code=10054)
read UDPv4: Connection reset by peer (WSAECONNRESET) (code=10054)
…
El el router he configurado un servidor virtual – NO hago Port Trigering – que lo que hace es que todo el tráfico UDP que le llega por el puerto 1149 es redirigido al puerto 1149 de la ip interna del servidor VPN (la ip LAN).
83.41.xxx.xxx (UDP 1149) –> 192.168.1.200 (UDP 1149)
La operación es similar cuand tienes un servidor web detrás del router y rediriges el puerto 80 hacia el servidor interno.
También he habilitado en el router UPnP (que he leído que era necesario). Aún así, sigo sin poder conectarme a través del router (es un ComTrend de Telefónica).
A ver si me podeís echar una mano, ya que estoy un poco frustada, porque la configuración del servidor y los clientes ha sido bastante rápida, pero me encuentro bloqueado.
Gracias de antemano.
Cuando te conectas desde ese “internet”, ese punto de acceso tiene UPnP funcionando? Me refería a eso cuando dije lo del UPnP…no en el router tuyo donde tienes el servidor sino allí donde te conectas porque si no pasa eso
Hola Sergio,
he hecho pruebas desde casa desde un router (del cual no he comprobado si tenia el UPnP activado), y nada.
Me apunto esta prueba y te digo; aunque seria un inconveniente, ya que un acceso VPN algunas veces lo haces desde tu casa (router que purdes controlar), desde un aeropuerto, desde la casa de un amigo (routers que no controlas), etc.
¿A tí te se solucionó con eso?
También he hecho pruebas desde un USB/3G y tampoco consigo acceder acceso.
Saludos,
Félix
Mandame los ficheros de configuración a mi email (*) y te lo miro detenidamente en cuanto pueda
Sólo me he encontrado en una ocasión que tuviera el problema de UPnP, casi siempre está activado en todos los sitios, en usb 3G también está activado ya que tienes IP pública y no tienes NAT.
Hola,
te los pego aquí asi, más ojos lo pueden ver, y le puede servir más adelante a alguien con el mismo problema, si conseguimos encontrar el problema/solución.
Te envio los ficheros de configuración del cliente y del server.
——————————- Cliente ——————————-
client
dev tap
dev-node OpenVPN
proto udp
port 1194
remote 83.41.86.215
#remote 192.168.1.200 –> Cuando accedo via LAN, todo OK
resolv-retry infinite
nobind
persist-key
persist-tun
mute-replay-warnings
ca ca.crt
cert sgon219.crt
key sgon219.key
ns-cert-type server
comp-lzo
verb 3
——————————-Servidor: ——————————-
port 1194
proto udp
dev tap
dev-node TAP
ca ca.crt
cert fileserver.crt
key fileserver.key
dh dh1024.pem
ifconfig-pool-persist ipp.txt
server-bridge 172.16.253.249 255.255.255.0 172.16.253.250 172.16.253.254
server-bridge
keepalive 10 120
comp-lzo
max-clients 5
persist-key
persist-tun
status openvpn-status.log
verb 3
Hola!
Mejor que uses TUN y no TAP ya que es más seguro (lo explico al principio del manual).
Lo segundo, mira esto:
https://forum.openwrt.org/viewtopic.php?pid=22193
Es lo que te dije…que te falta abrir puertos o que no los has abierto correctamente hacia el servidor, revísalo.
I figured out my problem! big_smile . It had to do with the firewall configuration. I placed a hub in between my cable modem and server, plugged in a laptop with ethereal, and found that the default vpn port wasn’t open. I needed to add the following lines to my firewall.user:
Tiene que funcionar
Buenas Sergio!
Después de que se llevarán mi router 3G, no pude hacer más pruebas y por eso andé desaparecido.
Tengo una duda que diferencia hay en crear la cuentas con pkitool y build?
Un saludo y gracias
pkitool es una utilidad que construye (build) los certificados etc.
pkitool se usa en linux
Buenas
He seguido tus pasos al 100%
Y en este
./pkitool –initca
Me sale lo siguiente
string is too long, it needs to be less than 2 bytes long
string is too long, it needs to be less than 2 bytes long
string is too long, it needs to be less than 2 bytes long
string is too long, it needs to be less than 2 bytes long
string is too long, it needs to be less than 2 bytes long
string is too long, it needs to be less than 2 bytes long
string is too long, it needs to be less than 2 bytes long
string is too long, it needs to be less than 2 bytes long
string is too long, it needs to be less than 2 bytes long
string is too long, it needs to be less than 2 bytes long
string is too long, it needs to be less than 2 bytes long
Me pasa cada cosa…
Antes del initca tienes que poner dos guiones ( — ) seguidos pero que apenas se nota el huequecillo.
Te tiene que funcionar porque es un script ya hecho XD
Y los he puesto…
por eso me extraña xDD, es absurdo -.-”
Reinstala los paquetes porque tiene que funcionar…es un script, no hay error.
He creado el servidor y estoy intentando conectarme desde android y no me deja. El log que me sale en el servidor es este:
May 28 12:55:41 unknown daemon.notice openvpn[1111]: MULTI: multi_create_instance called
May 28 12:55:41 unknown daemon.notice openvpn[1111]: 46.6.222.57:59691 Re-using SSL/TLS context
May 28 12:55:41 unknown daemon.notice openvpn[1111]: 46.6.222.57:59691 LZO compression initialized
May 28 12:55:41 unknown daemon.notice openvpn[1111]: 46.6.222.57:59691 Control Channel MTU parms [ L:1558 D:166 EF:66 EB:0 ET:0 EL:0 ]
May 28 12:55:41 unknown daemon.notice openvpn[1111]: 46.6.222.57:59691 Data Channel MTU parms [ L:1558 D:1450 EF:58 EB:135 ET:0 EL:0 AF:3/1 ]
May 28 12:55:41 unknown daemon.notice openvpn[1111]: 46.6.222.57:59691 TLS: Initial packet from 46.6.222.57:59691, sid=cc20895d 002216a2
May 28 12:56:33 unknown daemon.notice openvpn[1111]: MULTI: multi_create_instance called
May 28 12:56:33 unknown daemon.notice openvpn[1111]: 46.6.222.57:35346 Re-using SSL/TLS context
May 28 12:56:33 unknown daemon.notice openvpn[1111]: 46.6.222.57:35346 LZO compression initialized
May 28 12:56:33 unknown daemon.notice openvpn[1111]: 46.6.222.57:35346 Control Channel MTU parms [ L:1558 D:166 EF:66 EB:0 ET:0 EL:0 ]
May 28 12:56:33 unknown daemon.notice openvpn[1111]: 46.6.222.57:35346 Data Channel MTU parms [ L:1558 D:1450 EF:58 EB:135 ET:0 EL:0 AF:3/1 ]
May 28 12:56:33 unknown daemon.notice openvpn[1111]: 46.6.222.57:35346 TLS: Initial packet from 46.6.222.57:35346, sid=91aa2c9c 3ec32a4b
May 28 12:56:41 unknown daemon.err openvpn[1111]: 46.6.222.57:59691 TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
May 28 12:56:41 unknown daemon.err openvpn[1111]: 46.6.222.57:59691 TLS Error: TLS handshake failed
May 28 12:56:41 unknown daemon.notice openvpn[1111]: 46.6.222.57:59691 SIGUSR1[soft,tls-error] received, client-instance restarting
May 28 12:57:22 unknown daemon.info dnsmasq-dhcp[605]: DHCPREQUEST(br0) 192.168.2.143 d8:9e:3f:df:7e:a9
May 28 12:57:22 unknown daemon.info dnsmasq-dhcp[605]: DHCPACK(br0) 192.168.2.143 d8:9e:3f:df:7e:a9
May 28 12:57:33 unknown daemon.err openvpn[1111]: 46.6.222.57:35346 TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
May 28 12:57:33 unknown daemon.err openvpn[1111]: 46.6.222.57:35346 TLS Error: TLS handshake failed
May 28 12:57:33 unknown daemon.notice openvpn[1111]: 46.6.222.57:35346 SIGUSR1[soft,tls-error] received, client-instance restarting
Buenas Sergio
Después de dejar un tiempo esto de lado, vuelvo a la carga, tengo todo instalado pero…
El servicio VPN, no se instala en init.d, como lo lanzo? Tengo que hacer algun script? en el manual que que te puse hace tiempo (esta vez lo estoy haciendo con el tuyo), viene un script pero no sé que toca y lo mismo esto me jode algo o yo que se.
http://ubunlog.com/instala-tu-propio-servidor-vpn-con-openvpn-en-ubuntu-10-04-server/
Un saludo y gracias
No lo he probado pero casi seguro que para levantarlo tienes que poner en consola:
sudo openvpn server.conf
server.confg debe estar en /home/usuario
Y te empezará a arrancar y mostrar errores (si los hay).
Si pero quiero que eso funcione siempre… y no tener que lanzarlo. Voy mirar el script ese, a ver…
Luego se pone ese comando en “aplicaciones al inicio” y ya está
Buenas
Pues eso esta todo OK, ahora cree la llave ta-key
openvpn –genkey –secret ta.key (donde ta.key es la llave que deberemos usar tanto en el servidor como en el cliente).
(tambien doble guin no?) Pero no la encuentro…
Sí, doble guión también, y deberás usarla en cliente y servidor, es una medida extra de seguridad.
La ubicación de esa llave está donde las demás que creaste ca.crt etc.
Pues está en el directorio
etc/openvpn/easy-rsa/2.0/ta.key
Deberia moverla o dejarla dónde esta?
Muevela donde tengas las otras claves que hayas creado
Para Windows hay un nuevo OpenVPN GUI que funciona sin necesitar derechos de administrador:
http://openvpn-mi-gui.inside-security.de/
Hola Sergio 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 network manager, 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 de cambiar el archivo “nm-openvpn-service.conf” como lo haces en el tutorial” y me pasa lo mismo ademas uso los archivos de ejemplo que estan en “:/usr/share/doc/openvpn/examples” para crear el .conf del servidor y del cliente, no se que puede ser! esde ya agradezco tu respuesta
Hola Chelo,
Antes de nada, lanza al servidor por consola para comprobar que funciona correctamente.
sudo openvpn server.conf
Y miras si sale algún error
Sergio, luego de hacer sudo openvpn server.conf (server.conf esta ubicado en la carpeta /home/usuario )
me tira lo siguiente:
OpenVPN 2.1.3 x86_64-pc-linux-gnu [SSL] [LZO2] [EPOLL] [PKCS11] [MH] [PF_INET6] [eurephia] built on Mar 11 2011
Wed Jun 29 19:43:30 2011 NOTE: your local LAN uses the extremely common subnet address 192.168.0.x or 192.168.1.x. Be aware that this might create routing conflicts if you connect to the VPN server from public locations such as internet cafes that use the same subnet.
Wed Jun 29 19:43:30 2011 NOTE: OpenVPN 2.1 requires ‘–script-security 2′ or higher to call user-defined scripts or executables
Wed Jun 29 19:43:30 2011 Diffie-Hellman initialized with 2048 bit key
Wed Jun 29 19:43:30 2011 /usr/bin/openssl-vulnkey -q -b 2048 -m
Wed Jun 29 19:43:31 2011 TLS-Auth MTU parms [ L:1544 D:140 EF:40 EB:0 ET:0 EL:0 ]
Wed Jun 29 19:43:31 2011 Socket Buffers: R=[87380->131072] S=[16384->131072]
Wed Jun 29 19:43:31 2011 TCP/UDP: Socket bind failed on local address [undef]: Address already in use
Wed Jun 29 19:43:31 2011 Exiting
bueno soy nuevo en esto, así que muchas cosas de las que dice aca no las entiendo, desde ya gracias por el interés en mi consulta
El server.conf qué configuración tienes? porque pone que usas la misma subred y que no es recomendable y luego que la dirección está en uso.
Me supongo que vas a usar un ordenador para hacer de servidor OpenVPN, verdad?
Hola Sergio disculpas por la tardanza en la respuesta, la configuración de mi server.conf es la siguiente:
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 30
Si, como dijiste, supones bien, voy a usar un ordenador para hacer un servidor openVPN porque con mi router no lo puedo hacer, saludos y gracias
Debes poner al principio:
local 192.168.0.2
Siendo esa IP, la del servidor que está a la escucha y la cual tiene el puerto 1194 abierto.
PD: el rango de IPs de tu router es 192.168.0.X verdad?
Buenas mañana si puedes echame una mano para poner esto que me da algún que otro error.
Saludos y gracias.
Tienes razón! olvide agregar la ip del servidor, el servidor en mi caso seria 192.168.1.101 (lo se luego de ejecutar un ifconfig en la terminal, de paso te comento que estoy usando ubuntu 11.04 desktop), el rango de de IPs de mi router es 192.168.1.X , además cambie la linea que dice “push “route 192.168.0.0 255.255.255.0″” por “push “route 192.168.1.0 255.255.255.0″” (no se si tendra algo que ver, ni si hice mal o bien hacerlo), quedándome el archivo así:
local 192.168.1.101
port 1194
dev tun
proto tcp
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.1.0 255.255.255.0″
keepalive 10 120
verb 3
comp-lzo
max-clients 30
también configure mi router para que fowardee la información que viene por el puerto 1194 hacia 192.168.1.101, de todas maneras al ejecutar openvpn server.conf sigue saliendo la misma info que publique ya publique:
Sun Jul 3 18:40:30 2011 OpenVPN 2.1.3 x86_64-pc-linux-gnu [SSL] [LZO2] [EPOLL] [PKCS11] [MH] [PF_INET6] [eurephia] built on Mar 11 2011
Sun Jul 3 18:40:30 2011 NOTE: your local LAN uses the extremely common subnet address 192.168.0.x or 192.168.1.x. Be aware that this might create routing conflicts if you connect to the VPN server from public locations such as internet cafes that use the same subnet.
Sun Jul 3 18:40:30 2011 NOTE: OpenVPN 2.1 requires ‘–script-security 2′ or higher to call user-defined scripts or executables
Sun Jul 3 18:40:30 2011 Diffie-Hellman initialized with 2048 bit key
Sun Jul 3 18:40:30 2011 /usr/bin/openssl-vulnkey -q -b 2048 -m
Sun Jul 3 18:40:30 2011 TLS-Auth MTU parms [ L:1544 D:140 EF:40 EB:0 ET:0 EL:0 ]
Sun Jul 3 18:40:30 2011 Socket Buffers: R=[87380->131072] S=[16384->131072]
Sun Jul 3 18:40:30 2011 TCP/UDP: Socket bind failed on local address [AF_INET]192.168.1.101:1194: Address already in use
Sun Jul 3 18:40:30 2011 Exiting
Imagino que esto esta siendo todo un reto para ti, = )
aunque en este caso me aparece que la siguiente linea diferente
“Sun Jul 3 18:40:30 2011 TCP/UDP: Socket bind failed on local address [AF_INET]192.168.1.101:1194: Address already in use”
debo poner mi ip externa entonces ?
Hola, el otro dia viendo el log del router me encuentro con esto “IPv6 code in mroute_extract_addr_from_packet”, cada vez que me conecto con el portatil el router empieza a sacar de estos mensajes de forma continua, lo que hace que todo el log del router sea practicamente estos mensajes, ha revisado y tengo correctamente la configuración, y la conexion VPN funciona correctamente y comprobado que la direccion por la que salgo a internet es la de mi router.
Lo que más me extraña, es que entrado con mi ipod, tambien con VPN, es que no me salen estos mensajes. Con el portatil me conecto con un Windows 7
Vete a panel de control / clic derecho sobre administrar red en tu tarjeta inalámbrica o cableada (donde te conectes a internet) y deshabilita el IPv6 a ver si los mensajes cesan.
Si, así dejan de aparecer. Es un problema de la configuracion del windows?, podría ser por el tema del “OpenVPN 2.1 requires ‘–script-security 2′ or higher to call user-defined scripts or executables” ?
necesito saber mas de vpn quiero actualizarme.
si pueden enviarme una copia de sensacional manual,
estare eternamente agradecido.
att oscar martir
Buenas, ya configure todo pero tengo un error en el cliente me dice:;
options error: Unrecognized option or missing parameter(s) in client.ovpn:43: venezuelavpn.dyndns (2.2.1), me podrían ayudar por favor no me especifica el error, gracias
Has metido mal la dirección de dyndns, no te falta el .ORG ??
Buenas, yo lo quite el remote y puse directamente la dirección, ahora ya lo arregle, pero tengo otro problema:
Fri Aug 12 18:40:01 2011 OpenVPN 2.2.1 Win32-MSVC++ [SSL] [LZO2] built on Jul 1 2011
Fri Aug 12 18:40:01 2011 NOTE: OpenVPN 2.1 requires ‘–script-security 2′ or higher to call user-defined scripts or executables
Fri Aug 12 18:40:01 2011 Control Channel Authentication: using ‘ta.key’ as a OpenVPN static key file
Fri Aug 12 18:40:01 2011 Outgoing Control Channel Authentication: Using 160 bit message hash ‘SHA1′ for HMAC authentication
Fri Aug 12 18:40:01 2011 Incoming Control Channel Authentication: Using 160 bit message hash ‘SHA1′ for HMAC authentication
Fri Aug 12 18:40:01 2011 LZO compression initialized
Fri Aug 12 18:40:01 2011 Control Channel MTU parms [ L:1558 D:166 EF:66 EB:0 ET:0 EL:0 ]
Fri Aug 12 18:40:01 2011 Socket Buffers: R=[8192->8192] S=[8192->8192]
Fri Aug 12 18:40:02 2011 Data Channel MTU parms [ L:1558 D:1450 EF:58 EB:135 ET:0 EL:0 AF:3/1 ]
Fri Aug 12 18:40:02 2011 Local Options hash (VER=V4): ’9e7066d2′
Fri Aug 12 18:40:02 2011 Expected Remote Options hash (VER=V4): ’162b04de’
Fri Aug 12 18:40:02 2011 UDPv4 link local: [undef]
Fri Aug 12 18:40:02 2011 UDPv4 link remote: xxx.xxx.xxx.160:1194
Fri Aug 12 18:41:02 2011 TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
Fri Aug 12 18:41:02 2011 TLS Error: TLS handshake failed
… Después que notifica error, vuelve a intentar a realizar la conexión, pero ahora no se que quiere decir ese error, me podrías ayudar de nuevo?, gracias.
Has creado la clave TA.key que corresponde al TLS-AUTH ?? No la has metido en el cliente…o en el servidor, asegúrate bien.
En el servidor debe ser tls-auth ta.key 0
En el cliente debe ser: tls-auth ta.key 1
La misma ta.key para ambas, pero una con un 0 y otra con un 1
Buenas, en la configuración del servidor estaba #tls-auth ta.key 0, borre el numeral y no me dio el error en el cliente pero ahora presento otro:
Sat Aug 13 17:31:26 2011 OpenVPN 2.2.1 Win32-MSVC++ [SSL] [LZO2] built on Jul 1 2011
Sat Aug 13 17:31:26 2011 NOTE: OpenVPN 2.1 requires ‘–script-security 2′ or higher to call user-defined scripts or executables
Sat Aug 13 17:31:26 2011 Control Channel Authentication: using ‘ta.key’ as a OpenVPN static key file
Sat Aug 13 17:31:26 2011 Outgoing Control Channel Authentication: Using 160 bit message hash ‘SHA1′ for HMAC authentication
Sat Aug 13 17:31:26 2011 Incoming Control Channel Authentication: Using 160 bit message hash ‘SHA1′ for HMAC authentication
Sat Aug 13 17:31:26 2011 LZO compression initialized
Sat Aug 13 17:31:26 2011 Control Channel MTU parms [ L:1590 D:166 EF:66 EB:0 ET:0 EL:0 ]
Sat Aug 13 17:31:26 2011 Socket Buffers: R=[8192->8192] S=[8192->8192]
Sat Aug 13 17:31:27 2011 Data Channel MTU parms [ L:1590 D:1450 EF:58 EB:135 ET:32 EL:0 AF:3/1 ]
Sat Aug 13 17:31:27 2011 Local Options hash (VER=V4): ’48527533′
Sat Aug 13 17:31:27 2011 Expected Remote Options hash (VER=V4): ’44bd8b5e’
Sat Aug 13 17:31:27 2011 UDPv4 link local: [undef]
Sat Aug 13 17:31:27 2011 UDPv4 link remote: 201.211.169.148:1194
Sat Aug 13 17:31:27 2011 TLS: Initial packet from 201.211.169.148:1194, sid=1f05face 3d6374a4
Sat Aug 13 17:31:27 2011 VERIFY OK: depth=1, /C=VE/ST=Nirgu/L=Nirgua/O=VictorPintoCO/OU=manuelpinto/CN=victorp/name=pt/emailAddress=victorpint0@hotmail.com
Sat Aug 13 17:31:27 2011 VERIFY OK: nsCertType=SERVER
Sat Aug 13 17:31:27 2011 VERIFY OK: depth=0, /C=VE/ST=NIRGUA/L=Nirgua/O=victorpint/OU=hola/CN=prueb/name=pg/emailAddress=victor@hotmail.com
Sat Aug 13 17:31:27 2011 Data Channel Encrypt: Cipher ‘AES-256-CBC’ initialized with 256 bit key
Sat Aug 13 17:31:27 2011 Data Channel Encrypt: Using 160 bit message hash ‘SHA1′ for HMAC authentication
Sat Aug 13 17:31:27 2011 Data Channel Decrypt: Cipher ‘AES-256-CBC’ initialized with 256 bit key
Sat Aug 13 17:31:27 2011 Data Channel Decrypt: Using 160 bit message hash ‘SHA1′ for HMAC authentication
Sat Aug 13 17:31:27 2011 Control Channel: TLSv1, cipher TLSv1/SSLv3 DHE-RSA-AES256-SHA, 2048 bit RSA
Sat Aug 13 17:31:27 2011 [prueb] Peer Connection Initiated with 201.211.169.148:1194
Sat Aug 13 17:31:29 2011 SENT CONTROL [prueb]: ‘PUSH_REQUEST’ (status=1)
Sat Aug 13 17:31:29 2011 PUSH: Received control message: ‘PUSH_REPLY,route-gateway 10.6.0.1,ping 10,ping-restart 120,ifconfig 10.6.0.4 255.255.255.0′
Sat Aug 13 17:31:29 2011 OPTIONS IMPORT: timers and/or timeouts modified
Sat Aug 13 17:31:29 2011 OPTIONS IMPORT: –ifconfig/up options modified
Sat Aug 13 17:31:29 2011 OPTIONS IMPORT: route-related options modified
Sat Aug 13 17:31:29 2011 CreateFile failed on TAP device: \\.\Global\{8F390E88-6129-46DC-84EC-DFD7A4A00D9A}.tap
Sat Aug 13 17:31:29 2011 All TAP-Win32 adapters on this system are currently in use.
Sat Aug 13 17:31:29 2011 Exiting
Gracias.
Primera vez que veo ese fallo, lo tienes configurado como TUN o como TAP ??
Ejecuta OpenVPN como ADMINISTRADOR.
Buenas, cree otro hilo porque el anterior era largo, yo quiero tener en la misma computadora el servidor y el cliente, por eso el error con el adaptador tap, lo que hice para resolverlo fue crear otro adaptador así el servidor tiene uno y el cliente también, ya se conecta todo bien pero ahora, cuando quiero conectarme a internet sucede que no tengo.
Dejo unas imaganes para poner todo mas claro:
Ejecución del servidor.
Ejecución del cliente.
Información con ipconfig.
Información del estado de red.
Información del estado de red2.
Según veo yo al servidor y al cliente le faltan los DNS
Gracias.
Comorr?? Para qué quieres tener el el mismo ordenador el servidor y el cliente??
Normal que te de fallo porque habría que montar distintos rangos de IPs etc…
Estoy creando la CA con el comando build-ca pero me da el siguiente error:
C:\Program Files (x86)\OpenVPN\easy-rsa>build-ca
El sistema no puede encontrar la ruta especificada.
WARNING: can’t open config file: c:\openssl/ssl/openssl.cnf
error on line -1 of openssl-1.0.0.cnf
2500:error:02001002:system library:fopen:No such file or directory:.\crypto\bio\
bss_file.c:169:fopen(‘openssl-1.0.0.cnf’,'rb’)
2500:error:2006D080:BIO routines:BIO_new_file:no such file:.\crypto\bio\bss_file
.c:172:
2500:error:0E078072:configuration file routines:DEF_LOAD:no such file:.\crypto\c
onf\conf_def.c:197:
Renombre el archivo openssl y no pasa nada, tengo un w7 pro de 64 en un laptop, tienes alguna solucion a esto?
De antemano gracias.-
Has ejecutado como administrador?
SI, ejecute como administrador y aun asi da ese error, estoy instalando la version 2.2.1 de openvnc, no sera eso un factor influyente?
El sistema no puede encontrar la ruta especificada.
Eso significa que no está apuntando al fichero correcto, has probado a reinstalar OpenVPN o probarlo en otro equipo? al fin y al cabo, las llaves se pueden crear en cualquier sitio
Probé renombrando las llaves, pero no las moví de ubicación, en fin volví a la versión 2.1.1 y después de unos dolores de cabeza lo puede hacer funcionar.
Muchas gracias por la ayuda, excelente manual.-
Tengo una duda, en ambas maquinas (cliente y servidor) tengo el icono verde, como si ambos equipos estubieran conectados (los logs de tanto el cliente y el servidor asi lo indican) pero al momento de realizar un ping del cliente al servidor no da respuesta, y del servidor al cliente manda un mensaje de “host inaccesible”.
Si alguien sabe como solucionar esto, estaria muy agradecido.-
Necesito que me digas cómo tienes montado el sistema de cliente servidor…si están en la misma red…en la misma máquina etc.
Hola, felicitaciones por el material expuesto y sobre todo por su disposición a responder las dudas planteadas.
He probado exitosamente diversas configuraciones basado en la distribución Tomato VPN de Jonathan Zarate, entre ellas 2 equipos en configuración punto a puto con interface TUN y clave estática, el equipo tomato VPN como servidor TLS y clientes Windows (la explicada aquí) con interface TAP.
Sin embargo he tratado de usar el equipo con Tomato VPN como cliente con clave estática o TLS e Interface TAP conectándose a un servidor Windows corriendo OpenVPN y aún cuando la conexión en ambos registros (cliente y servidor) aparece como correcta el caso es que no logro alcanzar las respectivas interfaces del túnel, éstas responden a su dirección local pero la del server no alcanza la del cliente y visceversa, cuando puebo la conexión al mismo servidor usando un cliente windows todo funciona Ok.
La inquietud sería ¿has intentado esta configuración anteriormente?, en caso afirmativo tendrías alguna configuración básica y funcional de cliente y servidor basado en este escenario (servidor OpenVPN basado en Windows y cliente basado en tomato VPN)?
Saludos,
y muchas gracias por adelantado.
MLM
PD:
A continuación coloco los registros vistos del lado del servidor en ambos casos, cuando la conexión se establece y cuando no.
BAD (Cliente OpenVPN basado en Tomato VPN de Jonathan Zarate)
OpenVPN 2.2.1 Win32-MSVC++ [SSL] [LZO2] built on Jul 1 2011
NOTE: OpenVPN 2.1 requires ‘–script-security 2′ or higher to call user-defined
scripts or executables
Note: cannot open 60 for READ
Diffie-Hellman initialized with 1024 bit key
TLS-Auth MTU parms [ L:1573 D:138 EF:38 EB:0 ET:0 EL:0 ]
Socket Buffers: R=[8192->8192] S=[8192->8192]
ROUTE default_gateway=192.168.50.15
TAP-WIN32 device [OpenVPN] opened: \\.\Global\{12E3F275-76FA-4119-B8CD-66824A9B09C3}.tap
TAP-Win32 Driver Version 9.8
TAP-Win32 MTU=1500
Notified TAP-Win32 driver to set a DHCP IP/netmask of 172.20.0.1/255.255.255.0 on interface {12E3F275-76FA-4119-B8CD-66824A9B09C3}
[DHCP-serv: 172.20.0.0, lease-time: 31536000]
Sleeping for 10 seconds…
Successful ARP Flush on interface [2] {12E3F275-76FA-4119-B8CD-66824A9B09C3}
C:\WINDOWS\system32\route.exe ADD 172.21.0.0 MASK 255.255.255.0 172.20.0.2
Route addition via IPAPI succeeded [adaptive]
C:\WINDOWS\system32\route.exe ADD 172.22.0.0 MASK 255.255.255.0 172.20.0.3
Route addition via IPAPI succeeded [adaptive]
Data Channel MTU parms [ L:1573 D:1450 EF:41 EB:4 ET:32 EL:0 ]
UDPv4 link local (bound): [undef]:1194
UDPv4 link remote: [undef]
MULTI: multi_init called, r=256 v=256
IFCONFIG POOL: base=172.20.0.2 size=253
IFCONFIG POOL LIST
Initialization Sequence Completed
MULTI: multi_create_instance called
192.168.10.1:2048 Re-using SSL/TLS context
192.168.10.1:2048 Control Channel MTU parms [ L:1573 D:138 EF:38 EB:0 ET:0 EL:0
192.168.10.1:2048 Data Channel MTU parms [ L:1573 D:1450 EF:41 EB:4 ET:32 EL:0 ]
192.168.10.1:2048 Local Options hash (VER=V4): ’0ddbb6e3′
192.168.10.1:2048 Expected Remote Options hash (VER=V4): ’2c50bd2c’
192.168.10.1:2048 TLS: Initial packet from 192.168.10.1:2048, sid=5a04fa6f 7317b383
192.168.10.1:2048 VERIFY OK: depth=1,
/C=VE/ST=LA/L=ciudad/O=empresa/OU=changeme/CN=changeme/name=changeme/emailAddress=info@empresa.com
192.168.10.1:2048 VERIFY OK: depth=0, /C=VE/ST=LA/L=ciudad/O=empresa/
OU=changeme/CN=mlm/name=changeme/emailAddress=info@empresa.com
192.168.10.1:2048 Data Channel Encrypt: Cipher ‘BF-CBC’ initialized with 128 bit key
192.168.10.1:2048 Data Channel Encrypt: Using 160 bit message hash ‘SHA1′ for HMAC authentication
192.168.10.1:2048 Data Channel Decrypt: Cipher ‘BF-CBC’ initialized with 128 bit key
192.168.10.1:2048 Data Channel Decrypt: Using 160 bit message hash ‘SHA1′ for HMAC authentication
192.168.10.1:2048 Control Channel: TLSv1, cipher TLSv1/SSLv3 EDH-RSA-DES-CBC3-SHA, 1024 bit RSA
192.168.10.1:2048 [mlm] Peer Connection Initiated with 192.168.10.1:2048
mlm/192.168.10.1:2048 OPTIONS IMPORT: reading client specific options from: ccd\mlm
mlm/192.168.10.1:2048 PUSH: Received control message: ‘PUSH_REQUEST’
mlm/192.168.10.1:2048 SENT CONTROL [mlm]: ‘PUSH_REPLY,route-gateway 172.20.0.1,route-gateway 172.20.0.1,ping 10,ping-restart 120,ifconfig 172.20.0.2 255.255.255.0′ (status=1)
mlm/192.168.10.1:2048 MULTI: Learn: 00:ff:bd:04:4e:36 -> mlm/192.168.10.1:2048
mlm/192.168.10.1:2048 MULTI: Learn: 00:03:0d:fa:b8:5c -> mlm/192.168.10.1:2048
mlm/192.168.10.1:2048 MULTI: Learn: 00:0c:29:3d:ac:1a -> mlm/192.168.10.1:2048
OK (Cliente OpenVPN basado en windows)
OpenVPN 2.2.1 Win32-MSVC++ [SSL] [LZO2] built on Jul 1 2011
NOTE: OpenVPN 2.1 requires ‘–script-security 2′ or higher to call user-defined
scripts or executables
Note: cannot open 60 for READ
Diffie-Hellman initialized with 1024 bit key
TLS-Auth MTU parms [ L:1573 D:138 EF:38 EB:0 ET:0 EL:0 ]
Socket Buffers: R=[8192->8192] S=[8192->8192]
ROUTE default_gateway=192.168.50.15
TAP-WIN32 device [OpenVPN] opened: \\.\Global\{12E3F275-76FA-4119-B8CD-66824A9B0
9C3}.tap
TAP-Win32 Driver Version 9.8
TAP-Win32 MTU=1500
Notified TAP-Win32 driver to set a DHCP IP/netmask of 172.20.0.1/255.255.255.0 o
n interface {12E3F275-76FA-4119-B8CD-66824A9B09C3} [DHCP-serv: 172.20.0.0, lease
-time: 31536000]
Sleeping for 10 seconds…
Successful ARP Flush on interface [2] {12E3F275-76FA-4119-B8CD-66824A9B09C3}
C:\WINDOWS\system32\route.exe ADD 172.21.0.0 MASK 255.255.255.0 172.20.0.2
Route addition via IPAPI succeeded [adaptive]
C:\WINDOWS\system32\route.exe ADD 172.22.0.0 MASK 255.255.255.0 172.20.0.3
Route addition via IPAPI succeeded [adaptive]
Data Channel MTU parms [ L:1573 D:1450 EF:41 EB:4 ET:32 EL:0 ]
UDPv4 link local (bound): [undef]:1194
UDPv4 link remote: [undef]
MULTI: multi_init called, r=256 v=256
IFCONFIG POOL: base=172.20.0.2 size=253
IFCONFIG POOL LIST
Initialization Sequence Completed
MULTI: multi_create_instance called
192.168.10.50:61066 Re-using SSL/TLS context
192.168.10.50:61066 Control Channel MTU parms [ L:1573 D:138 EF:38 EB:0 ET:0 EL:0 ]
192.168.10.50:61066 Data Channel MTU parms [ L:1573 D:1450 EF:41 EB:4 ET:32 EL:0 ]
192.168.10.50:61066 Local Options hash (VER=V4): ’0ddbb6e3′
192.168.10.50:61066 Expected Remote Options hash (VER=V4): ’2c50bd2c’
192.168.10.50:61066 TLS: Initial packet from 192.168.10.50:61066, sid=cc1f9986 7f1f3a52
192.168.10.50:61066 VERIFY OK: depth=1, /C=VE/ST=LA/L=ciudad/O=empresa/OU=changeme/CN=changeme/name=changeme/emailAddress=info@empresa.com
192.168.10.50:61066 VERIFY OK: depth=0, /C=VE/ST=LA/L=ciudad/O=empresa/OU=changeme/CN=mlm/name=changeme/emailAddress=info@empresa.com
192.168.10.50:61066 Data Channel Encrypt: Cipher ‘BF-CBC’ initialized with 128 bit key
192.168.10.50:61066 Data Channel Encrypt: Using 160 bit message hash ‘SHA1′ for HMAC authentication
192.168.10.50:61066 Data Channel Decrypt: Cipher ‘BF-CBC’ initialized with 128 bit key
192.168.10.50:61066 Data Channel Decrypt: Using 160 bit message hash ‘SHA1′ for HMAC authentication
192.168.10.50:61066 Control Channel: TLSv1, cipher TLSv1/SSLv3 DHE-RSA-AES256-SHA, 1024 bit RSA
192.168.10.50:61066 [mlm] Peer Connection Initiated with 192.168.10.50:61066
mlm/192.168.10.50:61066 OPTIONS IMPORT: reading client specific options from: ccd\mlm
mlm/192.168.10.50:61066 PUSH: Received control message: ‘PUSH_REQUEST’
mlm/192.168.10.50:61066 SENT CONTROL [mlm]: ‘PUSH_REPLY,route-gateway 172.20.0.1,route-gateway 172.20.0.1,ping 10,ping-restart 120,ifconfig 172.20.0.201 255.255.255.0′ (status=1)
mlm/192.168.10.50:61066 MULTI: Learn: 00:ff:34:96:62:79 -> mlm/192.168.10.50:61066
No he probado a hacer ese montaje, siempre tuve el servidor OpenVPN en el router o en el ordenador pero nunca usé el router como Cliente.
Ahora mismo estoy colapsado de cosas, en cuanto pueda lo hago y si resulta satisfactorio, actualizaré la entrada
Gracias, Sergio.
Estaré pendiente.
Saludos,
MLM
Si se quiere configurar otro router con Tomato como cliente en el static key habria que poner el ta.key, en Certificate Authority el ca.crt, en Client Certificate el cliente.crt generado para este, Client key el cliente.key generado para este. es que lo tengo asi y no me funciona el cliente
Este es el log del router cliente
Sep 13 00:18:31 Router daemon.warn openvpn[17972]: WARNING: No server certificate verification method has been enabled. See http://openvpn.net/howto.html#mitm for more info.
Sep 13 00:18:31 Router daemon.warn openvpn[17972]: NOTE: OpenVPN 2.1 requires ‘–script-security 2′ or higher to call user-defined scripts or executables
Sep 13 00:18:31 Router daemon.notice openvpn[17972]: Re-using SSL/TLS context
Sep 13 00:18:31 Router daemon.notice openvpn[17972]: LZO compression initialized
Sep 13 00:18:31 Router daemon.notice openvpn[17972]: Control Channel MTU parms [ L:1558 D:166 EF:66 EB:0 ET:0 EL:0 ]
Sep 13 00:18:32 Router daemon.notice openvpn[17972]: Data Channel MTU parms [ L:1558 D:1450 EF:58 EB:135 ET:0 EL:0 AF:3/1 ]
Sep 13 00:18:32 Router daemon.notice openvpn[17972]: Socket Buffers: R=[112640->131072] S=[112640->131072]
Sep 13 00:18:32 Router daemon.notice openvpn[17972]: UDPv4 link local: [undef]
Sep 13 00:18:32 Router daemon.notice openvpn[17972]: UDPv4 link remote: 62.83.37.183:1194
Sep 13 00:19:32 Router daemon.err openvpn[17972]: TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
Sep 13 00:19:32 Router daemon.err openvpn[17972]: TLS Error: TLS handshake failed
Sep 13 00:19:32 Router daemon.notice openvpn[17972]: TCP/UDP: Closing socket
Sep 13 00:19:32 Router daemon.notice openvpn[17972]: SIGUSR1[soft,tls-error] received, process restarting
Sep 13 00:19:32 Router daemon.notice openvpn[17972]: Restart pause, 2 second(s)
Has metido bien la llave ta.key y configurado como OUTGOING Extra HMAC authorization (tls-auth) ??
ya esta era OUTGOING Extra HMAC authorization (tls-auth), que lo tenia en incoming mañana lo probare bien ya os contare.
Gracias.
Tengo que activar algun script para que se vean las 2 redes
No, nada de scripts, deberían verse automáticamente cuando se haya realizado la conexión.
Desde el cliente hago ping al servidor pero del servidor no hago ping al cliente que raro
Te cuento ip loca del router server 192.168.1.1 hago ping desde el cliente a esta ip y ok.
Ip router cliente 192.168.2.1 hago ping desde el server a esta ip del cliente y no lo ve. Ip asignada por el server al cliente 10.8.0.10, hago ping desde el server a esta y responde ok. tambien deberia responder a la 192.168.2.1 no?
Es que deberás hacer ping a la IP de la subred de la VPN 10.8.0.X, la otra IP sólo existe para la red LAN de la otra subred.
pero podria hacer ping a todos los que esten conectado me explico 2 clientes conectados a ese server yo intento hacer ping desdes el cliente 1 al server y ok del cliente 2 al server y ok pero del cliente 1 al 2 no recibo respuesta.
Pones las IP del rango de la LAN o de la VPN ??
En lugar de TUN, pon TAP tanto en servidor como cliente, entonces estarán en la misma subred sin tunneling.
La de la vpn luego lo pruebo como me has dicho y te digo ahora me voy ha trabajar gracias.
se siguen sin ver los 2 clientes yo desde los clientes si llego al router pero los 2 clientes entre si no puedo-
Es raro no consigo ver ninguna unidad compartida de red ni nada por eso te preguntaba si habia que poner alguna linea en el firewall
Osea que dos clientes conectados a la VPN simultáneamente no se ven? Tampoco en modo TAP??
Dime la configuración que tienes porque con tantas modificaciones no sé como lo tienes. En cuanto pueda lo pruebo, ahora mismo ando desbordado de curro.
La unica diferencia que veo es la version del firmware en el server esta la 9006 y en el cliente la 8950.
Las versiones dan un poco lo mismo porque son compatibles.
Se te ocurre algo no se ven los clientes entre si. Me tiene desquiciado ya he probado todas las formas ya.
Puede ser algo en las tablas de routing
Hola,
Me configuré el appliance de OpenVPN para vmware y funciona perfectamente. instalo el cliente en los PCs remotos y me conecto bien. Ahora lo que necesitaria es hacerlo desde android. He encontrado un manual, pero me indica que debo tener los archivos:
ca.crt
cliente1.crt
cliente1.key
ta.key (en el caso de que hayáis elegido TLS/AUTH una firma HMAC adicional para todos las negociaciones SSL/TLS para la verificación de la integridad).
client.ovpn o client.conf
No se como conseguirlos, ya que en el appliance de vmware de OpenVPN funciona todo via web.
Como consifo los archivos?
gracias
En algún momento crearías los certificados o ya estaban todos hechos??
Hola!
He encontrado esta web:
http://openvpn.net/index.php/access-server/docs/admin-guides/228-how-to-extract-the-ca-cert-and-key-from-openvpn-as-certificates.html
En ella explica como crear y extraer los 5 archivos para el openvpn de android!
Me ha funcionado bien, pero ahora tengo otro problemilla:
El cliente android conecta, en el servidor de mi casa aparece mi conexión e incluso mi ip asignada al moil (5.5.0.4), pero en el movil la IP local no aparece. aparece como conectado y ya está. No hay errores, ni tampoco hay trafico entre el movil y la vpn. En un pc remoto, la conexion funciona OK y la vpn tiene trafico.
Alguna idea?
gracias!
Sí, qué móvil tienes y como lo has instalado? Instalaste el modo tunneling en android? Pasate por el artículo de instalar OpenVPN en Android y lo vemos.
http://www.redeszone.net/redes/openvpn-en-android-configura-un-cliente-openvpn-en-android-con-cifrado-ssltls/
Mírate el manual para instalarlo en el nexus S también, que añadí algunas cosas.
Hola,
he seguido los pasos del manual y en la ultima pantalla me aparece connected to “mi ip publica” as y nada más. En el manual aparece la IP local, que es lo que me falta. Mi movil es el Galaxy S2 con android 2.3.3 rooteado. No he cambiado la rom, que es la original de Vodafone.
El OpenVPNas es un apliance para vmware que se configura via web muy facilmente. él solo generó los certificados al instalarlo y las configuraciones para que todo funcione con un par de clicks. Con todos los PCs que he probado me funciona, con lo que creo que la configuracion del server está OK.
Gracias
Pues debe haber alguna manera para extraer los certificados…no puedes crear los certificados tú y meterlos en el vmware??
Nunca he hecho un servidor OpenVPN de esa forma…porque si lo hace automáticamente, no sé qué tipo de seguridad tendrá ni nada.
Lo que no he hecho es lo de tunneling en android, ya que en el manual no lo menciona y no se que es.
Saludos
Es que sin saber la configuración del servidor no sé decirte…nunca he usado eso.
El módulo de TUN en Android no viene instalado y hay que instalarlo…en algunas ROMs sí vienen, en otras no.
Entonces lo que me falta es el TUN de Android, que no lo he puesto. Voy a ver si lo consigo y te cuento.
Cuando te conectas por Web al puerto que configuras puedes descargarte el fichero client.ovpn que es el que pones en la carpeta que te indica el cliente de VPN en el movil, si dejas las opciones tal y como vienen de la MV sin tocar nada te funcionará sin problemas. Sólo has de confifurar el Hostname de la MV y el puerto (o puertos).
Tengo una duda quisiera que la conexión de OpenVPN fuese lo mas segura posible usando RSA a 4096 bits y el firmware de mi router (DD-WRT) permite la implementacion de Rijndael a 512 bits con algoritmo de HASH SHA -512 y TSL AES-256 SHA ademas de que deseo usar la compresión LZO tengo también otro router con Tomato RAF como configuro estos valores a la hora de crea el certificado puesto que el único que he visto es la clave RSA pero me vota lo siguiente:
C:\Archivos de programa\OpenVPN\easy-rsa>clean-all
El sistema no puede hallar la ruta especificada.
1 archivos copiados.
1 archivos copiados.
C:\Archivos de programa\OpenVPN\easy-rsa>build-dh
El sistema no puede hallar la ruta especificada.
WARNING: can’t open config file: c:\openssl/ssl/openssl.cnf
Loading ‘screen’ into random state – done
Generating DH parameters, 4096 bit long safe prime, generator 2
This is going to take a long time
……………………………………………………………….+……
……………………………………………………………………..
…………..+………………………………………………………..
……………………………………………………+……………….
……………………………………………………………………..
……………………………………………………………………..
………………………………………+…………………………….
……………………………………………………+……………….
……………………………………………………………………..
……………………………………………………………………..
………………….+…………………………………………………
……………………………………………………………………..
……………………………………..+……………………………..
……………………………………………………………………..
……………………………………………………………………..
……………………………………………………………………..
……………………………………………………………………..
……………………………………………………………………..
……………+……………………………………………………….
……………………………………………………………………..
……………………………………………………………………..
……………….+……………………………………………………
……………………………………………………………………..
……………………………..+……………………………………..
………………………………………………………….+…………
..++*++*
unable to write ‘random state’
-El script vars si se ejecuta de manera correcta.
Demasiados errores me indican que no has editado bien el archivo VARS para hacer todo…sigue el manual paso a paso (incluso mira el de la parte de Linux que es igual).
¿Es normal que la conexión al escritorio remoto tarde o se cuelgue en varios intentos?
Depende de la conexión a internet (que tarde) pero no se suele colgar…
Para escritorio remoto te recomiendo teamviewer.
Hola, me he quedado atascado en el paso de configurar el servidor,
tengo un router Thomson de ONO que no esta confirmado q funcione con Tomato.
No hay una manera de crear el servidor en windows? asi no tocaria el router. Hablo de un PC q esta bastante tiempo encendido.
Gracias.
Sí, también podrías hacerlo sin problemas, tan solo tienes que coger el sample de configuración del servidor y ponerlo con la misma config que el cliente.
no he logrado conectarme con el cliente, el icono se queda en amarillo “conectandose al cliente” pero nada. esto es lo q tira:
Sun Nov 13 15:07:27 2011 OpenVPN 2.2.1 Win32-MSVC++ [SSL] [LZO2] built on Jul 1 2011
Sun Nov 13 15:07:27 2011 WARNING: No server certificate verification method has been enabled. See http://openvpn.net/howto.html#mitm for more info.
Sun Nov 13 15:07:27 2011 NOTE: OpenVPN 2.1 requires ‘–script-security 2′ or higher to call user-defined scripts or executables
Sun Nov 13 15:07:28 2011 Control Channel Authentication: using ‘ta.key’ as a OpenVPN static key file
Sun Nov 13 15:07:28 2011 Outgoing Control Channel Authentication: Using 160 bit message hash ‘SHA1′ for HMAC authentication
Sun Nov 13 15:07:28 2011 Incoming Control Channel Authentication: Using 160 bit message hash ‘SHA1′ for HMAC authentication
Sun Nov 13 15:07:28 2011 LZO compression initialized
Sun Nov 13 15:07:28 2011 Control Channel MTU parms [ L:1574 D:166 EF:66 EB:0 ET:0 EL:0 ]
Sun Nov 13 15:07:28 2011 Socket Buffers: R=[8192->8192] S=[8192->8192]
Sun Nov 13 15:07:28 2011 Data Channel MTU parms [ L:1574 D:1450 EF:42 EB:135 ET:32 EL:0 AF:3/1 ]
Sun Nov 13 15:07:28 2011 Local Options hash (VER=V4): ’13a273ba’
Sun Nov 13 15:07:28 2011 Expected Remote Options hash (VER=V4): ’360696c5′
Sun Nov 13 15:07:28 2011 UDPv4 link local: [undef]
Sun Nov 13 15:07:28 2011 UDPv4 link remote: **
Sun Nov 13 15:08:28 2011 TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
Sun Nov 13 15:08:28 2011 TLS Error: TLS handshake failed
Sun Nov 13 15:08:28 2011 TCP/UDP: Closing socket
Sun Nov 13 15:08:28 2011 SIGUSR1[soft,tls-error] received, process restarting
Sun Nov 13 15:08:28 2011 Restart pause, 2 second(s)
Sun Nov 13 15:08:30 2011 WARNING: No server certificate verification method has been enabled. See http://openvpn.net/howto.html#mitm for more info.
Sun Nov 13 15:08:30 2011 NOTE: OpenVPN 2.1 requires ‘–script-security 2′ or higher to call user-defined scripts or executables
Sun Nov 13 15:08:30 2011 Re-using SSL/TLS context
Sun Nov 13 15:08:30 2011 LZO compression initialized
Sun Nov 13 15:08:30 2011 Control Channel MTU parms [ L:1574 D:166 EF:66 EB:0 ET:0 EL:0 ]
Sun Nov 13 15:08:30 2011 Socket Buffers: R=[8192->8192] S=[8192->8192]
Sun Nov 13 15:08:30 2011 Data Channel MTU parms [ L:1574 D:1450 EF:42 EB:135 ET:32 EL:0 AF:3/1 ]
Sun Nov 13 15:08:30 2011 Local Options hash (VER=V4): ’13a273ba’
Sun Nov 13 15:08:30 2011 Expected Remote Options hash (VER=V4): ’360696c5′
Sun Nov 13 15:08:30 2011 UDPv4 link local: [undef]
Sun Nov 13 15:08:30 2011 UDPv4 link remote: **
——————————————————–
y esto lo tengo configurado en el archivo Cliente1.ovpn :
client
dev tap
dev-node openVPN
remote **
ca ca.crt
cert Cliente1.crt
key Cliente1.key
tls-auth ta.key 1
proto udp
float
resolv-retry infinite
nobind
persist-key
persist-tun
comp-lzo
verb 3
———————————————————-
te agradeceria la solucion, gracias!!
Hola, antes de nada, te edito el comentario con las direcciones IP ya que es info personal.
Respecto a tu problema, da un claro fallo en la negociación TLS (el TA.KEY lo has puesto bien??), como tienes la config del servidor? usas Tomato RAF?
EL TA.KEY ESTA BN, ESTA ES LA CONFIGURACION DEL SERVER
# Which TCP/UDP port should OpenVPN listen on?
# Acá va el puerto donde escuchará el servidor OpenVPN, este puerto debe estar abierto en el firewall y redireccionado en el router.
port 1194
# TCP o UDP, Recomiendo que usen UDP.
proto udp
#Como vamos a usar la red Puenteada usamos tap. en caso de ser enrutada sería tun.
dev tap
#Acá debe ir el nombre que le pusimos al Adaptador de red, del OpenVPN, en mi caso es TAP.
dev-node TAP
#Lo siguiente es indicarle al servidor cuales son los archivos que tienen las llaves.
# ya saben que deben ponerle los nombres correctos y que estos deben estar en el directorio config.
ca ca.crt
cert SERVER.crt
key SERVER.key # Este archivo debe ser SECRETO!
tls-auth ta.key 0
# Parámetros Diffie hellman. asegurate de haber copiado este archivo en el directorio config
dh dh2048.pem
#log donde se guardará la IP virtual del cliente.
ifconfig-pool-persist ipp.txt
#acá van los datos en este orden.
# IPLocal del Servidor Mascara de subred, primer IP de los clientes, última IP de los clientes
server-bridge 192.168.1.237 255.255.255.0 192.168.1.230 192.168.1.240
# Activa el servidor como puente.
server-bridge
#Si en tu caso hay varios clientes, y deseas que un cliente pueda ver a otro cliente, quítale el ; a la siguiente línea
;client-to-client
# Si deseas que varios clientes se puedan conectar con la misma firma quítale el ; a la siguiente línea
#Esto no es recomendado, como dije antes, es mejor crear una llave para cada cliente.
;duplicate-cn
# The keepalive directive causes ping-like
# messages to be sent back and forth over
# the link so that each side knows when
# the other side has gone down.
# Ping every 10 seconds, assume that remote
# peer is down if no ping received during
# a 120 second time period.
keepalive 10 120
# Enable compression on the VPN link.
# If you enable it here, you must also
# enable it in the client config file.
comp-lzo
# descomenta esta linea si quieres dar un límite de clientes conectados simultaneamente
;max-clients 100
# accessing certain resources on restart
# that may no longer be accessible because
# of the privilege downgrade.
persist-key
persist-tun
# Log de Estado
status openvpn-status-servidorvpn-udp-1194.log
# Set the appropriate level of log
# file verbosity.
#
# 0 is silent, except for fatal errors
# 4 is reasonable for general usage
# 5 and 6 can help to debug connection problems
# 9 is extremely verbose
verb 3
Te estás intentando conectar desde la misma red local a la VPN? Prueba a conectar con TCP.
Buenas, muy buen manual por cierto, segui todos los pasos y funciona, puedo hacer ping entre dos maquinas que no se veian antes, pero una cosa que no me queda claro es si me puedo conectar atraves de ssh ya que son dos maquinas linux, o como debo de hacer para entrar a la otra maquina. desde ya gracias
Puedes conectarte vía VPN…para conectarte por SSH puedes crear un servidor SSH mediante OpenSSH http://www.redeszone.net/gnu-linux/servidor-ssh-en-ubuntu-manual-para-configurar-un-servidor-ssh-en-ubuntu-y-entrar-a-tu-equipo-de-forma-remota-con-seguridad/
Hola,
lo primero dar las gracias por un manual tan currado y tan bien explicado.
Lo segundo es una pregunta para ver si alguien me puede orientar:
Suponemos que tenemos 3 conexiones (A,B,C) en 3 equipos distintos (1,2,3). Entiendo que si un usuario no deseado coge los archivos correspondientes de B y se va a un ordenador diferente de esos tres (el ordenador 4 por ejemplo), se puede conectar sin problemas.
Ahora bien, por lo tanto si quiero cortar la posibilidad de conexión solamente a B,pues hace un uso fraudulento de la misma ¿Se puede? ¿Cómo sería?
Gracias!!!
Sí, pero te darás cuenta de que algo raro pasa al no dejar conectar a ese usuario con claves “robadas”.
Cualquier sistema de seguridad, por bueno que sea, si hay contacto físico con la máquina…se echa por tierra. Lo único poner temas de permisos de administrador/usuario en los ordenadores para que no puedan copiar/mover/ver las claves.
Saludos!
Hola,
Cuando intento editar el archi vars me da este error, que puede ser?
root@Sobremesa:/etc/openvpn/easy-rsa/2.0# gedit vars
(gedit:2794): Gtk-WARNING **: Attempting to store changes into `/root/.local/share/recently-used.xbel’, but failed: Falló al crear el archivo «/root/.local/share/recently-used.xbel.2QR57V»: No existe el fichero o el directorio
Gracias
Prueba a entrar como usuario y no como root.
Hola,
Me sale lo mismo.
alex@Sobremesa:/etc/openvpn/easy-rsa/2.0$ sudo gedit vars
[sudo] password for alex:
(gedit:4403): Gtk-WARNING **: Attempting to store changes into `/root/.local/share/recently-used.xbel’, but failed: Falló al crear el archivo «/root/.local/share/recently-used.xbel.MANJ8V»: No existe el fichero o el directorio
Lo he probado en varios equipos y siempre me lo ha abierto correctamente, mueve ese archivo al escritorio y lo editas a mano, y luego lo vuelves a copiar, recuerda permisos de RWX
Hola soy nuevo y apenas estoy comenzando, he creado una vpn desde mi elastix, y el caso es q tengo intalado una vpn en mi servidor elastix es un server pequeño, realice todo ahi realice se genero los archivos, x.crt, x.key y el ca.crt, y el client.ovpn tambien esos 4 archivos q genere desde elastix, los quiero pegar en la carpeta de openvpn d un softphone de android segun los manuales en en la carpeta q me comentanm pero no logro hacerlo funcionar esta en wait y m marca un error o podrian ayudarme en q estoy mal saludos
Buen día, estoy haciendo unas pruebas en mi trabajo, lo monte a nivel local y no me funciona, me pueden ayudar x favor? pareciarea q no se ponen deacuerdos los equipos.
error:
Wed Feb 22 16:11:46 2012 Re-using SSL/TLS context
Wed Feb 22 16:11:46 2012 Control Channel MTU parms [ L:1541 D:138 EF:38 EB:0 ET:0 EL:0 ]
Wed Feb 22 16:11:46 2012 Socket Buffers: R=[112640->131072] S=[112640->131072]
Wed Feb 22 16:11:46 2012 Data Channel MTU parms [ L:1541 D:1450 EF:41 EB:4 ET:0 EL:0 ]
Wed Feb 22 16:11:46 2012 Local Options hash (VER=V4): ’3514370b’
Wed Feb 22 16:11:46 2012 Expected Remote Options hash (VER=V4): ’239669a8′
Wed Feb 22 16:11:46 2012 UDPv4 link local: [undef]
Wed Feb 22 16:11:46 2012 UDPv4 link remote: [AF_INET]10.121.12.104:1194
Wed Feb 22 16:11:46 2012 read UDPv4 [ECONNREFUSED]: Connection refused (code=111)
Wed Feb 22 16:11:48 2012 read UDPv4 [ECONNREFUSED]: Connection refused (code=111)
Wed Feb 22 16:11:52 2012 read UDPv4 [ECONNREFUSED]: Connection refused (code=111)
Wed Feb 22 16:12:00 2012 read UDPv4 [ECONNREFUSED]: Connection refused (code=111)
Wed Feb 22 16:12:17 2012 read UDPv4 [ECONNREFUSED]: Connection refused (code=111)
Wed Feb 22 16:12:46 2012 TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
Wed Feb 22 16:12:46 2012 TLS Error: TLS handshake failed
Wed Feb 22 16:12:46 2012 TCP/UDP: Closing socket
Wed Feb 22 16:12:46 2012 SIGUSR1[soft,tls-error] received, process restarting
Wed Feb 22 16:12:46 2012 Restart pause, 2 second(s)
hola soy nuevo y al intentar ejecutar el ./clean-all me sale el siguiente error
mkdir: no se puede crear el directorio «”/etc/openvpn/easy-rsa/2.0/keys”»: No existe el archivo o directorio
Asegúrate de que tienes permisos (chmod) de RWX en todo
o directamente ejecuta como root.
gracias por responder lo primero q hago es
inicio como super sudo su
voy a la carpeta /etc/openvpn/easy-rsa/2.0#
root@roos-VirtualBox:/etc/openvpn/easy-rsa/2.0# ls
build-ca build-key-server list-crl revoke-full
build-dh build-req Makefile sign-req
build-inter build-req-pass openssl-0.9.6.cnf.gz vars
build-key clean-all openssl.cnf whichopensslcnf
build-key-pass inherit-inter pkitool
build-key-pkcs12 keys README.gz
ejecuto el source ./vars
root@roos-VirtualBox:/etc/openvpn/easy-rsa/2.0# source ./vars
NOTE: If you run ./clean-all, I will be doing a rm -rf on ”/etc/openvpn/easy-rsa/2.0/key”
ejecuto el ./clean-all
root@roos-VirtualBox:/etc/openvpn/easy-rsa/2.0# ./clean-all
mkdir: no se puede crear el directorio «”/etc/openvpn/easy-rsa/2.0/key”»: No existe el archivo o directorio
y me sale siempre lo mismo
Pegame el codigo del script porque esto:
/etc/openvpn/easy-rsa/2.0/key
La carpeta es en plural, KEYS, revísalo.
si tenia ese error gracias lo corregí pero sigue igual
roos@roos-VirtualBox:~$ sudo su
[sudo] password for roos:
root@roos-VirtualBox:/home/roos# cd /etc/openvpn/easy-rsa/2.0
root@roos-VirtualBox:/etc/openvpn/easy-rsa/2.0# source ./vars
NOTE: If you run ./clean-all, I will be doing a rm -rf on ”/etc/openvpn/easy-rsa/2.0/keys”
root@roos-VirtualBox:/etc/openvpn/easy-rsa/2.0# ./clean-all
mkdir: no se puede crear el directorio «”/etc/openvpn/easy-rsa/2.0/keys”»: No existe el archivo o directorio
———-
# easy-rsa parameter settings
# NOTE: If you installed from an RPM,
# don’t edit this file in place in
# /usr/share/openvpn/easy-rsa –
# instead, you should copy the whole
# easy-rsa directory to another location
# (such as /etc/openvpn) so that your
# edits will not be wiped out by a future
# OpenVPN package upgrade.
# This variable should point to
# the top level of the easy-rsa
# tree.
export EASY_RSA=”`pwd`”
#
# This variable should point to
# the requested executables
#
export OPENSSL=”openssl”
export PKCS11TOOL=”pkcs11-tool”
export GREP=”grep”
# This variable should point to
# the openssl.cnf file included
# with easy-rsa.
export KEY_CONFIG=`$EASY_RSA/whichopensslcnf $EASY_RSA`
# Edit this variable to point to
# your soon-to-be-created key
# directory.
#
# WARNING: clean-all will do
# a rm -rf on this directory
# so make sure you define
# it correctly!
export KEY_DIR=”/etc/openvpn/easy-rsa/2.0/keys”
# Issue rm -rf warning
echo NOTE: If you run ./clean-all, I will be doing a rm -rf on $KEY_DIR
# PKCS11 fixes
export PKCS11_MODULE_PATH=”dummy”
export PKCS11_PIN=”dummy”
# Increase this to 2048 if you
# are paranoid. This will slow
# down TLS negotiation performance
# as well as the one-time DH parms
# generation process.
export KEY_SIZE=2048
# In how many days should the root CA key expire?
export CA_EXPIRE=3650
# In how many days should certificates expire?
export KEY_EXPIRE=3650
# These are the default values for fields
# which will be placed in the certificate.
# Don’t leave any of these fields blank.
export KEY_COUNTRY=”CO”
export KEY_PROVINCE=”NS”
export KEY_CITY=”Cucuta”
export KEY_ORG=”coogua-Funston”
export KEY_EMAIL=”miltonahl@gmail.com”
Crea la carpeta keys poniendo:
mkdir keys
A ver si ya no te da ese fallo.
hola de antemano gracias por responder
pero no me dice q ya existe voy a reinstalar ubuntu y te comento mas tarde.
hola Sergio
si despues de formatear no hubo mas problema
llegue hasta aquí
Generar llave TLS-AUTH
openvpn –genkey –secret ta.key (donde ta.key es la llave que deberemos usar tanto en el servidor como en el cliente).
pero yo si quiero dejar el ordenador con GNU/Linux encendido dedicado únicamente a esto,
y quiero configurar el server.con
me podrías dar un empujón en esto
Es una seguridad extra que puedes no crearlo…se pone tanto en el servidor vpn como en los clientes.
mmm muchísimas gracias Sergio
Cree todo según los pasos pero no hay manera.
Este es el archivo del servidor. http://pastebin.com/knsqcSQL
Y el cliente http://pastebin.com/sG5XziZJ
Menos la parte de
# The hostname/IP and port of the server.
# You can have multiple remote entries
# to load balance between the servers.
remote X.X.X.X 1194
Que en el original esta la ip publica de mi ordenata.
Tambien probe a activar esta opcion
# If enabled, this directive will configure
# all clients to redirect their default
# network gateway through the VPN, causing
# all IP traffic such as web browsing and
# and DNS lookups to go through the VPN
# (The OpenVPN server machine may need to NAT
# or bridge the TUN/TAP interface to the internet
# in order for this to work properly).
push “redirect-gateway def1 bypass-dhcp”
Pero de este modo no me muestra ninguna pagina.
Lo probe usando 1 ordenador de servidor, y luego 2 clientes distintos client1 y client2 uno un portatil y otro un xperia arc s. No huvo manera en ninguno. Los dos me conectaron, pero no dirigian el trafico por la VNP.
Al trazar la ruta de los paquetes nunca pasaba por la VPN.
Alguna idea de que puede estar funcionando mal?
Buenas tardes, ofrecen algun tipo de servicio remoto o asistencia?
No te funciona?