En este tutorial, lo guiaremos a través de cómo configurar Obfsproxy con un servidor OpenVPN casero y una PC con Windows. Esto evita que los censores y los cortafuegos utilicen una inspección profunda de paquetes para determinar si está encriptando el tráfico, lo que está haciendo con OpenVPN.
Este tutorial asume que tiene un servidor OpenVPN en funcionamiento y un cliente Windows ya configurado en una instancia de Amazon Web Services EC2. Consulte nuestro tutorial anterior del servidor OpenVPN sobre cómo hacerlo.
Obfsproxy debería evitar que tu censura bloquee tu VPN en países como China. Hemos confirmado que también evita la prohibición de VPN en Netflix.
Antes de que comencemos
Obfsproxy, abreviatura de proxy de ofuscación, fue adoptado por la comunidad Tor. En sus palabras:
“Obfsproxy es una herramienta que intenta evadir la censura, transformando el tráfico Tor entre el cliente y el puente. De esta forma, los censores, que generalmente monitorean el tráfico entre el cliente y el puente, verán un tráfico transformado de aspecto inocente en lugar del tráfico real de Tor “.
Obfsproxy, sin embargo, en realidad es independiente de Tor, por lo que también se puede usar para ofuscar el tráfico de OpenVPN.
Para que Obfsproxy funcione con OpenVPN, necesitaremos configurarlo tanto en el lado del cliente como del servidor. Algunos proveedores de VPN, incluidos NordVPN y AirVPN, ofrecen servidores preconfigurados, por lo que solo necesita configurar el lado del cliente. Este tutorial explicará ambos.
Aquí hay una lista de lo que necesitará:
- Un servidor OpenVPN funcional en una instancia de Amazon Linux EC2 similar al de nuestro tutorial anterior
- La interfaz gráfica de usuario de OpenVPN Connect (aplicación del lado del cliente)
- Masilla
- Python 2.7
- Compilador de Microsoft C ++ para Python 2.7
- OpenSSL Light para Windows
- ProxySwitchy Sharp o un software proxy equivalente
Configuración de Obfsproxy del lado del cliente en Windows
Comenzaremos con la configuración del lado del cliente, porque algunas personas no necesitarán hacer la configuración del lado del servidor si su proveedor de VPN ya ofrece servidores preconfigurados.
Configuración preliminar
Afortunadamente, NordVPN ya le ha hecho la cortesía de agrupar la mayoría de las dependencias requeridas en un solo archivo .zip. Descarguelo aqui.
Comience instalando Python 2.7 en el directorio predeterminado con la configuración predeterminada. Obfsproxy es un programa de Python, por lo que lo necesitará para instalarlo. Si tiene una versión más reciente de Python, como 3.3 o 3.4, le recomendamos que instale 2.7 de todos modos. Puede encontrar el archivo de instalación en la carpeta Paso 3 del archivo zip de NordVPN (estamos omitiendo las carpetas de los pasos 1 y 2).
A continuación, debemos instalar el compilador de Microsoft C ++ para Python 2.7 desde la carpeta del paso 4. No existe tal compilador para versiones posteriores de Python. Es posible que pueda encontrar una solución alternativa utilizando MS Visual Studio o el paquete Numby, pero nos resultó mucho menos complicado instalar Python 2.7.
Una vez que haya instalado el compilador de C ++ utilizando la configuración y el directorio predeterminados, vaya a la carpeta del paso 5. Instale OpenSSL Light, nuevamente, usando todas las configuraciones predeterminadas. Es posible que se le solicite una donación después de la instalación. Presione Finalizar, luego cierre la ventana emergente si no desea donar.
Marque esta página, reinicie su computadora y vuelva a abrir esta página.
Obfsproxy y configuración OpenVPN
Ahora tiene todo lo que necesita para ejecutar Obfsproxy, pero aún necesitamos configurarlo para que pueda usarse con OpenVPN. Comenzaremos modificando nuestros archivos .ovpn existentes en el directorio OpenVPN. Si aún no ha configurado OpenVPN, consulte nuestro tutorial anterior. Si instaló OpenVPN en el directorio predeterminado, encontrará los archivos de configuración en C: / Archivos de programa / OpenVPN / config.
Busque el Bloc de notas u otro editor de texto, haga clic con el botón derecho y elija “Ejecutar como administrador”. Abra el archivo de configuración que usa para conectarse a su servidor OpenVPN normalmente. Haga clic en archivo > Guardar como y asígnele un nombre diferente para que tengamos una copia con la que trabajar sin preocuparnos por arruinar el original.
Modificaremos el archivo de configuración para que tenga el siguiente aspecto:
proto tcp-client
remoto 8080
puerto 1194
dev tun1
ovpn.key secreto
redirect-gateway def1
ifconfig 10.4.0.2 10.4.0.1
calcetines-proxy-reintento
calcetines proxy 127.0.0.1 10194
Observe la adición de dos líneas en la parte inferior, más un número de puerto al final de la línea remota. Reemplace con la dirección IP de su instancia de Amazon EC2. A menos que haya configurado una IP elástica en Amazon, esta dirección cambiará cada vez que detenga e inicie su instancia, así que recuerde cambiarla si es necesario. En la línea remota, el número de puerto puede ser cualquier cosa fuera del rango reservado de puertos. Usamos 8080 porque es bastante compatible con casi todos los servidores web, pero 21194 se sugiere en la wiki de OpenVPN. Solo recuerda que lo que pongas aquí debe coincidir con lo que configuramos en el lado del servidor más adelante.
Si se está conectando a un servidor preconfigurado propiedad de su proveedor de VPN, los archivos de configuración deben ser proporcionados por usted (la carpeta del paso 2 para usuarios de NordVPN).
Guarde su nuevo archivo de configuración, asegurándose de no sobrescribir el anterior. También asegúrese de que su editor de texto no agregue automáticamente el nombre del archivo con .txt. Debería ser un archivo .ovpn.
Ahora que OpenVPN está configurado, necesitamos instalar y ejecutar Obfsproxy. Aquí es donde entra en juego su nueva instalación de Python. En la barra de búsqueda de Windows, escriba “Símbolo del sistema”. Haga clic con el botón derecho en la aplicación Símbolo del sistema y presione “Ejecutar como administrador”. En el terminal, escriba los siguientes comandos línea por línea, presionando Enter después de cada.
cd C: \ Python27 \ Scripts
pip install –-upgrade pip
pip install obfsproxy
obfsproxy –log-min-severity = info obfs2 –shared-secret = calcetines 127.0.0.1:10194
Después del segundo comando, puede ver algunos errores o advertencias. Ignóralos por ahora.
Aquí debe reemplazar con una contraseña de su elección. Recuerde o escriba esta contraseña, ya que la necesitará más adelante. Si se conecta a servidores preconfigurados proporcionados por su servicio VPN, este comando se le proporcionará.
Después de la última línea, el símbolo del sistema debería decirle que está escuchando el tráfico obfsproxy, como en la captura de pantalla. Tenga en cuenta que en la captura de pantalla olvidé escribir mi propia contraseña en el primer intento.
Tendrá que navegar al directorio Scripts (primer comando), ingresar el comando Obfsproxy (último comando) y dejar abierto el símbolo del sistema cada vez que quiera usar Obfsproxy.
Configuración de proxy (opcional)
Editar: este paso no es necesario para que Obfsproxy funcione, pero es necesario si desea usar su conexión Obfsproxy + VPN para ver Netflix y otros sitios de transmisión de video desde fuera de los EE. UU. (O en cualquier país en el que se encuentre su servidor VPN). De lo contrario, Netflix se establecerá en la región incorrecta.
Lo último que debemos hacer en el lado del cliente es configurar una conexión proxy. Esto difiere para cada aplicación. Puede configurarlo en la configuración de Internet de Windows, pero prefiero hacerlo aplicación por aplicación. En las aplicaciones nativas que usan Internet, generalmente puede configurar un proxy en algún lugar de la configuración. Los campos son los siguientes:
- Host SOCKS: 127.0.0.1
- Puerto: 8080 (o lo que haya puesto en su archivo de configuración OpenVPN en la línea remota)
- SOCKS versión 5 (SOCKS5)
En un navegador, la forma más fácil de configurar esto es con una extensión proxy. Le mostraremos cómo usar Proxy Switchy Sharp en Chrome.
En la configuración de ProxySwitchy, cree un nuevo perfil. Con la Configuración manual seleccionada, escriba la configuración anterior como se muestra a continuación. Nómbralo como quieras. No vamos a activar esto hasta que hayamos establecido una conexión con el servidor, así que agárrense.
Configuración del servidor Obfsproxy en la instancia Linux EC2
Su PC está lista para conectarse, por lo que ahora debemos preparar el servidor.
Grupo de seguridad de AWS
Antes de instalar y ejecutar obfsproxy en el servidor, es posible que deba agregar una nueva regla al grupo de seguridad de su servidor para asegurarse de que el firewall de la instancia EC2 no bloquee el tráfico. Para hacer esto, inicie sesión en su cuenta de AWS, luego haga clic en EC2. En Red y seguridad, vaya a Grupos de seguridad.
Aquí puede elegir crear un nuevo grupo de seguridad y agregarlo a su servidor o modificar uno existente. Haga clic derecho en una regla y seleccione “Editar reglas entrantes”. En Tipo, seleccione todo el tráfico TCP (nota: ignore la regla personalizada personalizada en la captura de pantalla, ya que hemos actualizado este tutorial), luego configure la fuente en “Mi IP” o la IP de cualquier dispositivo que planee conectar con. Luego haga clic derecho y vaya a “editar reglas de salida”. En tipo, simplemente seleccione la opción desplegable para “todo el tráfico”.
Si creó un nuevo grupo de seguridad, haga clic en Instancias en la barra lateral izquierda, haga clic con el botón derecho en su instancia de VPN, desplácese hacia abajo hasta Redes y haga clic en Cambiar grupos de seguridad. Verifique su nuevo grupo de seguridad y presione Guardar.
Configuración del servidor obfsproxy
Use PuTTy para conectarse a su servidor a través de SSH. Si no recuerda cómo hacer esto o no guardó un perfil, consulte nuestro tutorial anterior. Recuerde que en la distribución del servidor AMI de Amazon Linux, el nombre de usuario es “ec2-user”. Ejecute OpenVPN con este comando:
inicio de servicio sudo openvpn
Asegúrese de que su archivo de configuración OpenVPN en el servidor (etc / openvpn / openvpn.conf) tenga el puerto 1194 abierto, según nuestro tutorial anterior.
Python ya debería estar instalado si está utilizando la distribución del servidor Linux 14.04. En el terminal PuTTy, ingrese los siguientes comandos una línea a la vez, y presione enter después de cada uno:
sudo yum install gcc
sudo pip install obfsproxy
obfsproxy –log-min-severity = info obfs2 –dest = 127.0.0.1: 1194 –shared-secret = servidor 0.0.0.0:8080
Para el primer comando, las versiones anteriores de Linux pueden usar “apt-get” en lugar de “yum”.
Recuerde reemplazar en el último comando con la misma contraseña que utilizó en el lado del cliente.
Debería ver un mensaje similar en este terminal como en el símbolo del sistema, que indica que el servidor está escuchando en el puerto 8080 para el tráfico obfsproxy.
Conectando a través de Obfsproxy
Estás listo para conectarte. Con Obfsproxy ejecutándose tanto en su máquina local (símbolo del sistema) como en su servidor (PuTTy), ejecute la GUI de OpenVPN. Haga clic derecho y conéctese usando su nueva configuración. El ícono de OpenVPN debería volverse verde y debería aparecer una notificación con su IP asignada.
Si desea ver Netflix o algún otro contenido geobloqueado, habilite la configuración de proxy en sus aplicaciones. Para Proxy Switchy en Chrome, haga clic en el icono en la esquina superior derecha y seleccione el perfil que creó en la sección opcional anterior. También puede agregar el proxy en la configuración de Internet de Windows.
¡Felicidades! Su tráfico OpenVPN ahora es indistinguible del tráfico HTTP normal gracias a Obfsproxy.
Automatizando el proceso
Como habrás concluido, ejecutar obfsproxy en el lado del cliente cada vez que quieras usarlo puede ser un poco tedioso. Para automatizar el proceso, un usuario ha creado un instalador de Windows que ejecuta Obfsproxy como un servicio que se inicia en el arranque. Puede descargarlo y encontrar instrucciones aquí..
“Disguise-glasses.jpg” por r. nial bradshaw con licencia CC BY 2.0
OpenVPN son herramientas muy útiles para proteger su privacidad en línea y evitar la censura en países como China. Este tutorial le guiará a través de la configuración de Obfsproxy con un servidor OpenVPN casero y una PC con Windows. Es importante seguir cuidadosamente los pasos para asegurarse de que todo funcione correctamente. Además, recuerde que la privacidad en línea es un derecho humano fundamental y debe ser protegida.