Servicio VPN gratuito de Wireguard en AWS

¿Por qué?

Con la creciente censura de Internet por parte de los regímenes autoritarios, se bloquea un número cada vez mayor de recursos y sitios útiles de Internet. Incluyendo información técnica.
De esta forma, se hace imposible el pleno uso de Internet y se vulnera el derecho fundamental a la libertad de expresión, consagrado en declaración Universal de los Derechos Humanos.

artículo 19
Toda persona tiene derecho a la libertad de opinión y expresión; este derecho incluye la libertad de tener opiniones sin interferencia y de buscar, recibir y difundir información e ideas a través de cualquier medio y sin consideración de fronteras

En esta guía, implementaremos nuestro propio software gratuito* en 6 pasos. Servicio VPN basado en tecnología Guardia de alambre, en la infraestructura de la nube Amazon Web Services (AWS), utilizando una cuenta gratuita (por 12 meses), en una instancia (máquina virtual) administrada por Servidor Ubuntu 18.04 LTS.
He tratado de hacer que este tutorial sea lo más amigable posible para las personas que no son de TI. Lo único que se requiere es perseverancia en repetir los pasos que se describen a continuación.

Nota

Etapas

  1. Regístrese para obtener una cuenta gratuita de AWS
  2. Crear una instancia de AWS
  3. Conexión a una instancia de AWS
  4. Configuración de protección de cables
  5. Configuración de clientes VPN
  6. Comprobación de la corrección de la instalación de VPN

Enlaces de interés

1. Registrar una cuenta de AWS

Registrarse para obtener una cuenta gratuita de AWS requiere un número de teléfono real y una tarjeta de crédito Visa o Mastercard válida. Recomiendo usar tarjetas virtuales que se proporcionan de forma gratuita. Yandex o QIWI Monedero. Para verificar la validez de la tarjeta, se descuenta $ 1 durante el registro, que luego se devuelve.

1.1. Apertura de la consola de administración de AWS

Debes abrir un navegador e ir a: https://aws.amazon.com/ru/
Haga clic en el botón "Registrarse"

Servicio VPN gratuito de Wireguard en AWS

1.2. Relleno de datos personales

Complete los datos y haga clic en el botón "Continuar"

Servicio VPN gratuito de Wireguard en AWS

1.3. Rellenando los datos de contacto

Complete la información de contacto.

Servicio VPN gratuito de Wireguard en AWS

1.4. Especificación de la información de pago.

Número de tarjeta, fecha de vencimiento y nombre del titular de la tarjeta.

Servicio VPN gratuito de Wireguard en AWS

1.5. Verificación de la cuenta

En esta etapa, se confirma el número de teléfono y se debita $ 1 directamente de la tarjeta de pago. Se muestra un código de 4 dígitos en la pantalla de la computadora y el teléfono especificado recibe una llamada de Amazon. Durante una llamada, debe marcar el código que se muestra en la pantalla.

Servicio VPN gratuito de Wireguard en AWS

1.6. Elección del plan tarifario.

Elegir - Plan básico (gratis)

Servicio VPN gratuito de Wireguard en AWS

1.7. Iniciar sesión en la consola de administración

Servicio VPN gratuito de Wireguard en AWS

1.8. Elegir la ubicación del centro de datos

Servicio VPN gratuito de Wireguard en AWS

1.8.1. Pruebas de velocidad

Antes de elegir un centro de datos, se recomienda probar a través de https://speedtest.net velocidad de acceso a los centros de datos más cercanos, en mi ubicación los siguientes resultados:

  • Singapur
    Servicio VPN gratuito de Wireguard en AWS
  • París
    Servicio VPN gratuito de Wireguard en AWS
  • Frankfurt
    Servicio VPN gratuito de Wireguard en AWS
  • Estocolmo
    Servicio VPN gratuito de Wireguard en AWS
  • Londres
    Servicio VPN gratuito de Wireguard en AWS

El centro de datos de Londres muestra los mejores resultados en términos de velocidad. Así que lo elegí para una mayor personalización.

2. Cree una instancia de AWS

2.1 Crear una máquina virtual

2.1.1. Selección de un tipo de instancia

Por defecto esta seleccionada la instancia t2.micro que es lo que necesitamos, solo presione el botón Siguiente: Configurar los detalles de la instancia

Servicio VPN gratuito de Wireguard en AWS

2.1.2. Configuración de opciones de instancia

En el futuro, conectaremos una IP pública permanente a nuestra instancia, por lo que en esta etapa desactivamos la asignación automática de una IP pública y presionamos el botón Siguiente: Agregar almacenamiento

Servicio VPN gratuito de Wireguard en AWS

2.1.3. Conexión de almacenamiento

Especifique el tamaño del "disco duro". Para nuestros propósitos, 16 gigabytes son suficientes y presionamos el botón Siguiente: Agregar etiquetas

Servicio VPN gratuito de Wireguard en AWS

2.1.4. Configuración de etiquetas

Si creamos varias instancias, entonces se podrían agrupar por etiquetas para facilitar la administración. En este caso, esta funcionalidad es superflua, presione inmediatamente el botón Siguiente: Configurar grupo de seguridad

Servicio VPN gratuito de Wireguard en AWS

2.1.5. Apertura de puertos

En este paso, configuramos el firewall abriendo los puertos requeridos. El conjunto de puertos abiertos se denomina grupo de seguridad. Debemos crear un nuevo grupo de seguridad, darle un nombre, descripción, agregar un puerto UDP (Custom UDP Rule), en el campo Rort Range, debe asignar un número de puerto del rango puertos dinámicos 49152-65535. En este caso, elegí el número de puerto 54321.

Servicio VPN gratuito de Wireguard en AWS

Después de completar los datos requeridos, haga clic en el botón Revisión y lanzamiento

2.1.6. Resumen de todos los ajustes

En esta página hay una descripción general de todas las configuraciones de nuestra instancia, verificamos si todas las configuraciones están en orden y presionamos el botón Más información

Servicio VPN gratuito de Wireguard en AWS

2.1.7. Creación de claves de acceso

Luego viene un cuadro de diálogo que ofrece crear o agregar una clave SSH existente, con la que luego nos conectaremos de forma remota a nuestra instancia. Seleccionamos la opción "Crear un nuevo par de claves" para crear una nueva clave. Dale un nombre y haz clic en el botón Descargar par de clavespara descargar las claves generadas. Guárdelos en un lugar seguro en su computadora local. Una vez descargado, haga clic en el botón. Lanzamiento de instancias

Servicio VPN gratuito de Wireguard en AWS

2.1.7.1. Guardar claves de acceso

Aquí se muestra el paso de guardar las claves generadas en el paso anterior. Después de que presionamos el botón Descargar par de claves, la clave se guarda como un archivo de certificado con la extensión *.pem. En este caso, le puse un nombre. wireguard-awskey.pem

Servicio VPN gratuito de Wireguard en AWS

2.1.8. Descripción general de los resultados de la creación de instancias

A continuación, vemos un mensaje sobre el lanzamiento exitoso de la instancia que acabamos de crear. Podemos ir a la lista de nuestras instancias haciendo clic en el botón ver instancias

Servicio VPN gratuito de Wireguard en AWS

2.2. Crear una dirección IP externa

2.2.1. Comenzando la creación de una IP externa

A continuación, debemos crear una dirección IP externa permanente a través de la cual nos conectaremos a nuestro servidor VPN. Para hacer esto, en el panel de navegación en el lado izquierdo de la pantalla, seleccione el elemento IP elásticas de la categoría RED Y SEGURIDAD y presione el botón Asignar nueva dirección

Servicio VPN gratuito de Wireguard en AWS

2.2.2. Configurar la creación de una IP externa

En el siguiente paso, debemos habilitar la opción piscinas amazónicas (habilitado por defecto), y haga clic en el botón Asignar

Servicio VPN gratuito de Wireguard en AWS

2.2.3. Descripción general de los resultados de la creación de una dirección IP externa

La siguiente pantalla mostrará la dirección IP externa que recibimos. Se recomienda memorizarlo, y es mejor incluso escribirlo. será útil más de una vez en el proceso de configuración y uso del servidor VPN. En esta guía, utilizo la dirección IP como ejemplo. 4.3.2.1. Una vez que haya ingresado la dirección, presione el botón Cerrar

Servicio VPN gratuito de Wireguard en AWS

2.2.4. Lista de direcciones IP externas

A continuación, se nos presenta una lista de nuestras direcciones IP públicas permanentes (IP elásticas).

Servicio VPN gratuito de Wireguard en AWS

2.2.5. Asignación de una IP externa a una instancia

En esta lista, seleccionamos la dirección IP que recibimos y presionamos el botón derecho del mouse para que aparezca un menú desplegable. En él, seleccione el elemento dirección asociadapara asignarlo a la instancia que creamos anteriormente.

Servicio VPN gratuito de Wireguard en AWS

2.2.6. Configuración de asignación de IP externa

En el siguiente paso, seleccione nuestra instancia de la lista desplegable y presione el botón Consejos

Servicio VPN gratuito de Wireguard en AWS

2.2.7. Descripción general de los resultados de asignación de IP externa

Después de eso, podemos ver que nuestra instancia y su dirección IP privada están vinculadas a nuestra dirección IP pública permanente.

Servicio VPN gratuito de Wireguard en AWS

Ahora podemos conectarnos a nuestra instancia recién creada desde el exterior, desde nuestra computadora a través de SSH.

3. Conéctese a una instancia de AWS

SSH es un protocolo seguro para el control remoto de dispositivos informáticos.

3.1. Conexión a través de SSH desde una computadora con Windows

Para conectarse a una computadora con Windows, primero debe descargar e instalar el programa masilla.

3.1.1. Importar clave privada para Putty

3.1.1.1. Después de instalar Putty, debe ejecutar la utilidad PuTTYgen que viene con él para importar la clave del certificado en formato PEM, en un formato adecuado para usar en Putty. Para hacer esto, seleccione el elemento en el menú superior Conversiones->Importar clave

Servicio VPN gratuito de Wireguard en AWS

3.1.1.2. Elegir una clave de AWS en formato PEM

A continuación, seleccione la clave que previamente guardamos en el paso 2.1.7.1, en nuestro caso su nombre wireguard-awskey.pem

Servicio VPN gratuito de Wireguard en AWS

3.1.1.3. Configuración de opciones de importación clave

En este paso, debemos especificar un comentario para esta clave (descripción) y establecer una contraseña y confirmación por seguridad. Se solicitará cada vez que se conecte. Por lo tanto, protegemos la clave con una contraseña del uso inapropiado. No es necesario establecer una contraseña, pero es menos seguro si la clave cae en manos equivocadas. Después de presionar el botón Guardar clave privada

Servicio VPN gratuito de Wireguard en AWS

3.1.1.4. Guardar una clave importada

Se abre un cuadro de diálogo para guardar el archivo y guardamos nuestra clave privada como un archivo con la extensión .ppkadecuado para su uso en el programa masilla.
Especifique el nombre de la clave (en nuestro caso wireguard-awskey.ppk) y presione el botón Conservar.

Servicio VPN gratuito de Wireguard en AWS

3.1.2. Crear y configurar una conexión en Putty

3.1.2.1. Crear una conexión

Abra el programa Putty, seleccione una categoría Sesión (está abierto por defecto) y en el campo Nombre de host ingrese la dirección IP pública de nuestro servidor, que recibimos en el paso 2.2.3. en campo Sesión guardada ingrese un nombre arbitrario para nuestra conexión (en mi caso wireguard-aws-londres), y luego presione el botón Guardar para guardar los cambios que hicimos.

Servicio VPN gratuito de Wireguard en AWS

3.1.2.2. Configurar el inicio de sesión automático del usuario

Más en categoría Conexión, elige una subcategoría Datos y en el campo Nombre de usuario de inicio de sesión automático introduzca su nombre de usuario Ubuntu es el usuario estándar de la instancia en AWS con Ubuntu.

Servicio VPN gratuito de Wireguard en AWS

3.1.2.3. Elegir una clave privada para conectarse a través de SSH

Luego ve a la subcategoría Conexión/SSH/Autenticación y junto al campo Archivo de clave privada para autenticación haga clic en el botón Vistazo… para seleccionar un archivo con un certificado de clave.

Servicio VPN gratuito de Wireguard en AWS

3.1.2.4. Apertura de una clave importada

Especifique la clave que importamos anteriormente en el paso 3.1.1.4, en nuestro caso es un archivo wireguard-awskey.ppk, y presione el botón abierto.

Servicio VPN gratuito de Wireguard en AWS

3.1.2.5. Guardar la configuración e iniciar una conexión

Volviendo a la página de categoría Sesión presione el botón de nuevo Guardar, para guardar los cambios que hicimos anteriormente en los pasos anteriores (3.1.2.2 - 3.1.2.4). Y luego presionamos el botón Abierto para abrir la conexión SSH remota que creamos y configuramos.

Servicio VPN gratuito de Wireguard en AWS

3.1.2.7. Configuración de confianza entre hosts

En el siguiente paso, la primera vez que intentamos conectarnos, nos da una advertencia, no tenemos confianza configurada entre las dos computadoras, y pregunta si confiar en la computadora remota. Presionaremos el botón , agregándolo así a la lista de hosts confiables.

Servicio VPN gratuito de Wireguard en AWS

3.1.2.8. Introducción de una contraseña para acceder a la clave

Después de eso, se abre una ventana de terminal, donde se le solicita la contraseña para la clave, si la configuró anteriormente en el paso 3.1.1.3. Al ingresar una contraseña, no ocurre ninguna acción en la pantalla. Si te equivocas, puedes usar la tecla Retroceso.

Servicio VPN gratuito de Wireguard en AWS

3.1.2.9. Mensaje de bienvenida en conexión exitosa

Después de ingresar con éxito la contraseña, se nos muestra un texto de bienvenida en la terminal, que nos indica que el sistema remoto está listo para ejecutar nuestros comandos.

Servicio VPN gratuito de Wireguard en AWS

4. Configuración del servidor Wireguard

Las instrucciones más actualizadas para instalar y usar Wireguard utilizando los scripts que se describen a continuación se pueden encontrar en el repositorio: https://github.com/isystem-io/wireguard-aws

4.1. Instalación de WireGuard

En la terminal, ingrese los siguientes comandos (puede copiar al portapapeles y pegar en la terminal presionando el botón derecho del mouse):

4.1.1. Clonar un repositorio

Clonar el repositorio con los scripts de instalación de Wireguard

git clone https://github.com/pprometey/wireguard_aws.git wireguard_aws

4.1.2. Cambiar al directorio con scripts

Ir al directorio con el repositorio clonado

cd wireguard_aws

4.1.3 Ejecutar el script de inicialización

Ejecute como administrador (usuario raíz) el script de instalación de Wireguard

sudo ./initial.sh

El proceso de instalación le pedirá ciertos datos necesarios para configurar Wireguard

4.1.3.1. Entrada de punto de conexión

Ingrese la dirección IP externa y abra el puerto del servidor Wireguard. Obtuvimos la dirección IP externa del servidor en el paso 2.2.3 y abrimos el puerto en el paso 2.1.5. Los indicamos juntos, separándolos con dos puntos, por ejemplo 4.3.2.1:54321y luego presione la tecla Participar
Salida de muestra:

Enter the endpoint (external ip and port) in format [ipv4:port] (e.g. 4.3.2.1:54321): 4.3.2.1:54321

4.1.3.2. Introducción de la dirección IP interna

Ingrese la dirección IP del servidor Wireguard en la subred VPN segura, si no sabe cuál es, simplemente presione la tecla Intro para establecer el valor predeterminado (10.50.0.1)
Salida de muestra:

Enter the server address in the VPN subnet (CIDR format) ([ENTER] set to default: 10.50.0.1):

4.1.3.3. Especificación de un servidor DNS

Ingrese la dirección IP del servidor DNS, o simplemente presione la tecla Intro para establecer el valor predeterminado 1.1.1.1 (DNS público de Cloudflare)
Salida de muestra:

Enter the ip address of the server DNS (CIDR format) ([ENTER] set to default: 1.1.1.1):

4.1.3.4. Especificación de la interfaz WAN

A continuación, debe ingresar el nombre de la interfaz de red externa que escuchará en la interfaz de red interna de VPN. Simplemente presione Entrar para establecer el valor predeterminado para AWS (eth0)
Salida de muestra:

Enter the name of the WAN network interface ([ENTER] set to default: eth0):

4.1.3.5. Especificando el nombre del cliente

Introduzca el nombre del usuario de VPN. El hecho es que el servidor Wireguard VPN no podrá iniciarse hasta que se haya agregado al menos un cliente. En este caso, ingresé el nombre Alex@mobile
Salida de muestra:

Enter VPN user name: Alex@mobile

Después de eso, se debe mostrar en la pantalla un código QR con la configuración del cliente recién agregado, el cual se debe leer usando el cliente móvil Wireguard en Android o iOS para configurarlo. Y también debajo del código QR, se mostrará el texto del archivo de configuración en caso de configuración manual de clientes. Cómo hacer esto se discutirá a continuación.

Servicio VPN gratuito de Wireguard en AWS

4.2. Agregar un nuevo usuario de VPN

Para agregar un nuevo usuario, debe ejecutar el script en la terminal add-client.sh

sudo ./add-client.sh

El script pide un nombre de usuario:
Salida de muestra:

Enter VPN user name: 

Además, el nombre de los usuarios se puede pasar como un parámetro de secuencia de comandos (en este caso Alex@mobile):

sudo ./add-client.sh Alex@mobile

Como resultado de la ejecución del script, en el directorio con el nombre del cliente a lo largo de la ruta /etc/wireguard/clients/{ИмяКлиента} se creará el archivo de configuración del cliente /etc/wireguard/clients/{ИмяКлиента}/{ИмяКлиента}.confy la pantalla del terminal mostrará un código QR para configurar clientes móviles y el contenido del archivo de configuración.

4.2.1. Archivo de configuración de usuario

Puede mostrar el contenido del archivo .conf en la pantalla, para la configuración manual del cliente, usando el comando cat

sudo cat /etc/wireguard/clients/Alex@mobile/[email protected]

resultado de la ejecución:

[Interface]
PrivateKey = oDMWr0toPVCvgKt5oncLLRfHRit+jbzT5cshNUi8zlM=
Address = 10.50.0.2/32
DNS = 1.1.1.1

[Peer]
PublicKey = mLnd+mul15U0EP6jCH5MRhIAjsfKYuIU/j5ml8Z2SEk=
PresharedKey = wjXdcf8CG29Scmnl5D97N46PhVn1jecioaXjdvrEkAc=
AllowedIPs = 0.0.0.0/0, ::/0
Endpoint = 4.3.2.1:54321

Descripción del archivo de configuración del cliente:

[Interface]
PrivateKey = Приватный ключ клиента
Address = IP адрес клиента
DNS = ДНС используемый клиентом

[Peer]
PublicKey = Публичный ключ сервера
PresharedKey = Общи ключ сервера и клиента
AllowedIPs = Разрешенные адреса для подключения (все -  0.0.0.0/0, ::/0)
Endpoint = IP адрес и порт для подключения

4.2.2. Código QR para la configuración del cliente

Puede mostrar un código QR de configuración para un cliente creado previamente en la pantalla del terminal usando el comando qrencode -t ansiutf8 (en este ejemplo, se utiliza el cliente llamado Alex@mobile):

sudo cat /etc/wireguard/clients/Alex@mobile/[email protected] | qrencode -t ansiutf8

5. Configuración de clientes VPN

5.1. Configuración del cliente móvil de Android

El cliente oficial de Wireguard para Android puede ser instalar desde la tienda oficial de Google Play

Después de eso, debe importar la configuración leyendo el código QR con la configuración del cliente (consulte el párrafo 4.2.2) y asígnele un nombre:

Servicio VPN gratuito de Wireguard en AWS

Después de importar con éxito la configuración, puede habilitar el túnel VPN. Una conexión exitosa se indicará mediante un alijo de claves en la bandeja del sistema Android

Servicio VPN gratuito de Wireguard en AWS

5.2. Configuración del cliente de Windows

Primero necesitas descargar e instalar el programa. TunSafe para Windows es el cliente de Wireguard para Windows.

5.2.1. Creación de un archivo de configuración de importación

Haga clic derecho para crear un archivo de texto en el escritorio.

Servicio VPN gratuito de Wireguard en AWS

5.2.2. Copie el contenido del archivo de configuración del servidor

Luego regresamos a la terminal Putty y mostramos el contenido del archivo de configuración del usuario deseado, como se describe en el paso 4.2.1.
A continuación, haga clic con el botón derecho en el texto de configuración en el terminal Putty; una vez completada la selección, se copiará automáticamente en el portapapeles.

Servicio VPN gratuito de Wireguard en AWS

5.2.3. Copiar la configuración a un archivo de configuración local

En este campo, volvemos al archivo de texto que creamos anteriormente en el escritorio y pegamos el texto de configuración desde el portapapeles.

Servicio VPN gratuito de Wireguard en AWS

5.2.4. Guardar un archivo de configuración local

Guardar el archivo con extensión .conf (en este caso llamado london.conf)

Servicio VPN gratuito de Wireguard en AWS

5.2.5. Importación de un archivo de configuración local

A continuación, debe importar el archivo de configuración al programa TunSafe.

Servicio VPN gratuito de Wireguard en AWS

5.2.6. Configuración de una conexión VPN

Seleccione este archivo de configuración y conéctese haciendo clic en el botón Contacto.
Servicio VPN gratuito de Wireguard en AWS

6. Comprobando si la conexión fue exitosa

Para verificar el éxito de la conexión a través del túnel VPN, debe abrir un navegador e ir al sitio https://2ip.ua/ru/

Servicio VPN gratuito de Wireguard en AWS

La dirección IP mostrada debe coincidir con la que recibimos en el paso 2.2.3.
Si es así, entonces el túnel VPN está funcionando correctamente.

Desde la terminal de Linux, puede verificar su dirección IP escribiendo:

curl http://zx2c4.com/ip

O simplemente puedes ir a pornhub si estás en Kazajstán.

Fuente: habr.com

Añadir un comentario