Coa crecente censura de Internet por parte dos réximes autoritarios, un número crecente de recursos e sitios útiles de Internet están sendo bloqueados. Incluíndo información técnica.
Así, faise imposible utilizar plenamente Internet e vulnera o dereito fundamental á liberdade de expresión, consagrado na Declaración Universal dos Dereitos Humanos.
Artigo 19
Toda persoa ten dereito á liberdade de opinión e expresión; este dereito inclúe a liberdade de opinar sen interferencias e de buscar, recibir e difundir información e ideas a través de calquera medio e independentemente das fronteiras.
Nesta guía, implementaremos o noso propio software gratuíto* en 6 pasos. Servizo VPN baseado na tecnoloxía Parabrisas, en infraestruturas na nube Servizos web de Amazon (AWS), utilizando unha conta gratuíta (durante 12 meses), nunha instancia (máquina virtual) xestionada por Servidor Ubuntu 18.04LTS.
Tentei que este tutorial sexa o máis amigable posible para persoas que non son informáticas. O único que se require é perseveranza para repetir os pasos descritos a continuación.
Nota
AWS ofrece nivel de uso gratuíto durante un período de 12 meses, cun límite de 15 gigabytes de tráfico ao mes.
Para rexistrarse nunha conta gratuíta de AWS, é necesario un número de teléfono real e unha tarxeta de crédito Visa ou Mastercard válida. Recomendo usar tarxetas virtuais que se ofrecen de forma gratuíta Yandex.Money ou carteira qiwi. Para comprobar a validez da tarxeta, dedúcese 1 $ durante o rexistro, que posteriormente se devolve.
Número de tarxeta, data de caducidade e nome do titular da tarxeta.
1.5. Verificación da conta
Nesta fase, confírmase o número de teléfono e dóbrase 1 $ directamente da tarxeta de pago. Na pantalla do ordenador móstrase un código de 4 díxitos e o teléfono especificado recibe unha chamada de Amazon. Durante unha chamada, debes marcar o código que aparece na pantalla.
1.6. Elección do plan tarifario.
Escolla - Plan básico (gratis)
1.7. Inicie sesión na consola de xestión
1.8. Escolla a localización do centro de datos
1.8.1. Probas de velocidade
Antes de escoller un centro de datos, recoméndase probalo https://speedtest.net velocidade de acceso aos centros de datos máis próximos, na miña localización os seguintes resultados:
Singapur
París
Frankfurt
Estocolmo
Londres
O centro de datos de Londres mostra os mellores resultados en termos de velocidade. Entón o escollín para unha maior personalización.
2. Cree unha instancia de AWS
2.1 Crear unha máquina virtual
2.1.1. Selección dun tipo de instancia
Por defecto, está seleccionada a instancia t2.micro, que é o que necesitamos, só tes que premer o botón Seguinte: Configurar os detalles da instancia
2.1.2. Configuración de opcións de instancia
No futuro, conectaremos unha IP pública permanente á nosa instancia, polo que nesta fase desactivamos a asignación automática dunha IP pública e prememos o botón Seguinte: Engadir almacenamento
2.1.3. Conexión de almacenamento
Especifique o tamaño do "disco duro". Para os nosos propósitos, 16 gigabytes son suficientes, e prememos o botón Seguinte: Engadir etiquetas
2.1.4. Configurar etiquetas
Se creamos varias instancias, poderíanse agrupar por etiquetas para facilitar a administración. Neste caso, esta funcionalidade é superflua, prema inmediatamente o botón Seguinte: Configurar o grupo de seguridade
2.1.5. Apertura de portos
Neste paso, configuramos o firewall abrindo os portos necesarios. O conxunto de portos abertos chámase Grupo de Seguridade. Debemos crear un novo grupo de seguridade, darlle un nome, descrición, engadir un porto UDP (Regra UDP personalizada), no campo Rango Rort, debes asignar un número de porto do intervalo. portos dinámicos 49152-65535. Neste caso, escollín o número de porto 54321.
Despois de cubrir os datos necesarios, prema no botón Revisión e lanzamento
2.1.6. Visión xeral de todas as opcións
Nesta páxina hai unha visión xeral de todos os axustes da nosa instancia, comprobamos se todos os axustes están en orde e prememos o botón Publicar
2.1.7. Creación de claves de acceso
A continuación vén un cadro de diálogo que ofrece crear ou engadir unha clave SSH existente, coa que máis tarde nos conectaremos de forma remota á nosa instancia. Seleccionamos a opción "Crear un novo par de claves" para crear unha nova chave. Dálle un nome e fai clic no botón Descargar par de clavespara descargar as claves xeradas. Gárdaos nun lugar seguro no teu ordenador local. Unha vez descargado, fai clic no botón. Iniciar instancias
2.1.7.1. Gardando claves de acceso
Aquí móstrase o paso de gardar as claves xeradas do paso anterior. Despois de premer o botón Descargar par de claves, a clave gárdase como ficheiro de certificado con extensión *.pem. Neste caso, púxenlle un nome wireguard-awskey.pem
2.1.8. Visión xeral dos resultados de creación de instancias
A continuación, vemos unha mensaxe sobre o lanzamento exitoso da instancia que acabamos de crear. Podemos ir á lista das nosas instancias facendo clic no botón ver instancias
2.2. Creando un enderezo IP externo
2.2.1. Iniciando a creación dunha IP externa
A continuación, necesitamos crear un enderezo IP externo permanente a través do cal nos conectaremos ao noso servidor VPN. Para iso, no panel de navegación do lado esquerdo da pantalla, seleccione o elemento IPs elásticos da categoría REDE E SEGURIDADE e prema o botón Asignar un novo enderezo
2.2.2. Configurar a creación dunha IP externa
No seguinte paso, necesitamos activar a opción Piscina Amazon (activado por defecto) e prema no botón Destinar
2.2.3. Visión xeral dos resultados da creación dun enderezo IP externo
A seguinte pantalla mostrará o enderezo IP externo que recibimos. Recoméndase memorizalo, e é mellor incluso anotalo. será útil máis dunha vez no proceso de configuración e uso posterior do servidor VPN. Nesta guía, uso o enderezo IP como exemplo. 4.3.2.1. Unha vez introducido o enderezo, prema o botón preto
2.2.4. Lista de enderezos IP externos
A continuación, preséntasenos unha lista dos nosos enderezos IP públicos permanentes (IP elástica).
2.2.5. Asignación dunha IP externa a unha instancia
Nesta lista, seleccionamos o enderezo IP que recibimos e prememos o botón dereito do rato para que apareza un menú despregable. Nel, selecciona o elemento enderezo asociadopara asignalo á instancia que creamos anteriormente.
2.2.6. Configuración de asignación de IP externa
No seguinte paso, seleccione a nosa instancia na lista despregable e prema o botón Asociado
2.2.7. Visión xeral dos resultados da asignación de IP externas
Despois diso, podemos ver que a nosa instancia e o seu enderezo IP privado están ligados ao noso enderezo IP público permanente.
Agora podemos conectarnos á nosa instancia recentemente creada desde fóra, desde o noso ordenador a través de SSH.
3. Conéctese a unha instancia de AWS
SSH é un protocolo seguro para o control remoto de dispositivos informáticos.
3.1. Conexión vía SSH desde un ordenador con Windows
Para conectarse a un ordenador con Windows, primeiro cómpre descargar e instalar o programa masa de cristaleiro.
3.1.1. Importar clave privada para Putty
3.1.1.1. Despois de instalar Putty, cómpre executar a utilidade PuTTYgen que vén con el para importar a clave do certificado en formato PEM, nun formato axeitado para o seu uso en Putty. Para iso, seleccione o elemento no menú superior Conversións->Importar clave
3.1.1.2. Escolla unha chave de AWS en formato PEM
A continuación, seleccione a clave que gardamos previamente no paso 2.1.7.1, no noso caso o seu nome wireguard-awskey.pem
3.1.1.3. Configurar as opcións de importación de claves
Neste paso, necesitamos especificar un comentario para esta chave (descrición) e establecer un contrasinal e unha confirmación para a seguridade. Solicitarase cada vez que te conectes. Así, protexemos a chave cun contrasinal do uso inadecuado. Non tes que establecer un contrasinal, pero é menos seguro se a chave cae en mans equivocadas. Despois de premer o botón Gardar a chave privada
3.1.1.4. Gardando unha clave importada
Ábrese un diálogo de gardar ficheiro e gardamos a nosa clave privada como un ficheiro coa extensión .ppkaxeitado para o seu uso no programa masa de cristaleiro.
Especifique o nome da chave (no noso caso wireguard-awskey.ppk) e prema o botón Reter.
3.1.2. Creación e configuración dunha conexión en Putty
3.1.2.1. Crea unha conexión
Abra o programa Putty, seleccione unha categoría sesión (está aberto por defecto) e no campo Nome do host introduza o enderezo IP público do noso servidor, que recibimos no paso 2.2.3. En campo Sesión gardada introduza un nome arbitrario para a nosa conexión (no meu caso wireguard-aws-londres) e, a continuación, prema o botón gardar para gardar os cambios que fixemos.
3.1.2.2. Configurando o inicio de sesión automático do usuario
Máis na categoría Conexión, escolla unha subcategoría Data e no campo Nome de usuario de inicio de sesión automático introduza o nome de usuario ubuntu é o usuario estándar da instancia en AWS con Ubuntu.
3.1.2.3. Escollendo unha clave privada para conectarse mediante SSH
Despois vai á subcategoría Conexión/SSH/Auth e a carón do campo Ficheiro de chave privada para a autenticación prema o botón Examinar ... para seleccionar un ficheiro cun certificado de clave.
3.1.2.4. Abrir unha chave importada
Especifique a clave que importamos anteriormente no paso 3.1.1.4, no noso caso é un ficheiro wireguard-awskey.ppk, e prema o botón aberto.
3.1.2.5. Gardando a configuración e iniciando unha conexión
Volvendo á páxina da categoría sesión prema o botón de novo gardar, para gardar os cambios que fixemos anteriormente nos pasos anteriores (3.1.2.2 - 3.1.2.4). E despois prememos o botón aberto para abrir a conexión SSH remota que creamos e configuramos.
3.1.2.7. Configurar confianza entre hosts
No seguinte paso, a primeira vez que intentamos conectarnos, dánosnos un aviso, non temos a confianza configurada entre os dous equipos, e pregúntanos se confiar no ordenador remoto. Pulsaremos o botón Si, engadíndoo así á lista de hosts de confianza.
3.1.2.8. Introducindo un contrasinal para acceder á clave
Despois diso, ábrese unha xanela de terminal, onde se lle solicita o contrasinal da chave, se a definiu anteriormente no paso 3.1.1.3. Ao introducir un contrasinal, non se produce ningunha acción na pantalla. Se cometes un erro, podes usar a chave Retroceso.
3.1.2.9. Mensaxe de benvida á conexión correcta
Despois de introducir correctamente o contrasinal, móstranos un texto de benvida no terminal, que nos indica que o sistema remoto está preparado para executar os nosos comandos.
4. Configuración do servidor Wireguard
No repositorio pódense atopar as instrucións máis actualizadas para instalar e usar Wireguard mediante os scripts descritos a continuación: https://github.com/isystem-io/wireguard-aws
4.1. Instalación de WireGuard
No terminal, introduza os seguintes comandos (podes copiar no portapapeis e pegar no terminal premendo o botón dereito do rato):
4.1.1. Clonación dun repositorio
Clona o repositorio cos scripts de instalación de Wireguard
Executa como administrador (usuario root) o script de instalación de Wireguard
sudo ./initial.sh
O proceso de instalación solicitará certos datos necesarios para configurar Wireguard
4.1.3.1. Entrada do punto de conexión
Introduza o enderezo IP externo e o porto aberto do servidor Wireguard. Obtivemos o enderezo IP externo do servidor no paso 2.2.3 e abrimos o porto no paso 2.1.5. Indicámolos xuntos, separándoos con dous puntos, por exemplo 4.3.2.1:54321e, a continuación, prema a tecla Entrar Saída de mostra:
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. Introducindo o enderezo IP interno
Introduza o enderezo IP do servidor Wireguard na subrede VPN segura, se non sabe o que é, prema a tecla Intro para establecer o valor predeterminado (10.50.0.1) Saída de mostra:
Enter the server address in the VPN subnet (CIDR format) ([ENTER] set to default: 10.50.0.1):
4.1.3.3. Especificación dun servidor DNS
Introduza o enderezo IP do servidor DNS ou prema a tecla Intro para establecer o valor predeterminado 1.1.1.1 (DNS público de Cloudflare) Saída de mostra:
Enter the ip address of the server DNS (CIDR format) ([ENTER] set to default: 1.1.1.1):
4.1.3.4. Especificación da interface WAN
A continuación, cómpre introducir o nome da interface de rede externa que escoitará na interface de rede interna VPN. Só ten que premer Intro para establecer o valor predeterminado para AWS (eth0) Saída de mostra:
Enter the name of the WAN network interface ([ENTER] set to default: eth0):
4.1.3.5. Especificando o nome do cliente
Introduza o nome do usuario VPN. O caso é que o servidor VPN Wireguard non poderá iniciarse ata que se engade polo menos un cliente. Neste caso, introducín o nome Alex@mobile Saída de mostra:
Enter VPN user name: Alex@mobile
Despois diso, debería amosarse na pantalla un código QR coa configuración do cliente recentemente engadido, que debe lerse mediante o cliente móbil Wireguard en Android ou iOS para configuralo. E tamén debaixo do código QR, aparecerá o texto do ficheiro de configuración en caso de configuración manual dos clientes. Como facelo discutirase a continuación.
4.2. Engadindo un novo usuario VPN
Para engadir un novo usuario, cómpre executar o script no terminal add-client.sh
sudo ./add-client.sh
O script pide un nome de usuario: Saída de mostra:
Enter VPN user name:
Ademais, o nome dos usuarios pódese pasar como parámetro de script (neste caso Alex@mobile):
sudo ./add-client.sh Alex@mobile
Como resultado da execución do script, no directorio co nome do cliente ao longo do camiño /etc/wireguard/clients/{ИмяКлиента} crearase o ficheiro de configuración do cliente /etc/wireguard/clients/{ИмяКлиента}/{ИмяКлиента}.conf, e a pantalla do terminal mostrará un código QR para configurar clientes móbiles e o contido do ficheiro de configuración.
4.2.1. Ficheiro de configuración do usuario
Pode mostrar o contido do ficheiro .conf na pantalla, para a configuración manual do cliente, mediante o comando cat
Descrición do ficheiro de configuración do 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 a configuración do cliente
Pode mostrar un código QR de configuración para un cliente creado previamente na pantalla do terminal mediante o comando qrencode -t ansiutf8 (neste exemplo, úsase o cliente chamado Alex@mobile):
Despois diso, cómpre importar a configuración lendo o código QR coa configuración do cliente (consulte o parágrafo 4.2.2) e darlle un nome:
Despois de importar correctamente a configuración, pode activar o túnel VPN. Unha conexión exitosa indicarase cunha chave almacenada na bandexa do sistema de Android
5.2. Configuración do cliente de Windows
Primeiro cómpre descargar e instalar o programa TunSafe para Windows é o cliente Wireguard para Windows.
5.2.1. Creando un ficheiro de configuración de importación
Fai clic co botón dereito para crear un ficheiro de texto no escritorio.
5.2.2. Copia o contido do ficheiro de configuración do servidor
Despois volvemos ao terminal Putty e mostramos o contido do ficheiro de configuración do usuario desexado, tal e como se describe no paso 4.2.1.
A continuación, fai clic co botón dereito do rato no texto de configuración no terminal Putty, despois de completar a selección, copiarase automaticamente no portapapeis.
5.2.3. Copiando a configuración nun ficheiro de configuración local
Neste campo, volvemos ao ficheiro de texto que creamos anteriormente no escritorio e pegamos nel desde o portapapeis o texto de configuración.
5.2.4. Gardando un ficheiro de configuración local
Garda o ficheiro con extensión .conf (neste caso denominado london.conf)
5.2.5. Importando un ficheiro de configuración local
A continuación, cómpre importar o ficheiro de configuración ao programa TunSafe.
5.2.6. Configurando unha conexión VPN
Seleccione este ficheiro de configuración e conéctese facendo clic no botón Conectar.
6. Comprobando se a conexión foi exitosa
Para comprobar o éxito da conexión a través do túnel VPN, cómpre abrir un navegador e ir ao sitio https://2ip.ua/ru/
O enderezo IP mostrado debe coincidir co que recibimos no paso 2.2.3.
Se é así, entón o túnel VPN funciona correctamente.
Desde o terminal Linux, pode comprobar o seu enderezo IP escribindo: