Amb la creixent censura d'Internet per part dels règims autoritaris, un nombre creixent de recursos i llocs útils d'Internet estan sent bloquejats. Inclou informació tècnica.
Així, es fa impossible utilitzar plenament Internet i vulnera el dret fonamental a la llibertat d'expressió, consagrat a Declaració Universal dels Drets Humans.
Article 19
Tothom té dret a la llibertat d'opinió i d'expressió; aquest dret inclou la llibertat de tenir opinions sense interferències i de buscar, rebre i difondre informació i idees a través de qualsevol mitjà i sense tenir en compte les fronteres.
En aquesta guia, implementarem el nostre propi programari gratuït* en 6 passos. Servei VPN basat en la tecnologia Protecció de cables, a la infraestructura del núvol Serveis web d'Amazon (AWS), utilitzant un compte gratuït (durant 12 mesos), en una instància (màquina virtual) gestionada per Servidor Ubuntu 18.04LTS.
He intentat que aquest tutorial sigui el més amigable possible per a persones no TI. L'únic que es requereix és perseverança a l'hora de repetir els passos que es descriuen a continuació.
Nota
AWS ofereix nivell d'ús gratuït durant un període de 12 mesos, amb un límit de 15 gigabytes de trànsit al mes.
Per registrar-vos per obtenir un compte d'AWS gratuït, cal un número de telèfon real i una targeta de crèdit Visa o Mastercard vàlida. Recomano utilitzar targetes virtuals que es proporcionen de forma gratuïta Yandex.Money o cartera qiwi. Per comprovar la validesa de la targeta, es descompta 1 $ durant el registre, que es retorna posteriorment.
Número de targeta, data de caducitat i nom del titular de la targeta.
1.5. Verificació del compte
En aquesta etapa, es confirma el número de telèfon i es carrega directament 1 $ de la targeta de pagament. Es mostra un codi de 4 dígits a la pantalla de l'ordinador i el telèfon especificat rep una trucada d'Amazon. Durant una trucada, heu de marcar el codi que es mostra a la pantalla.
1.6. Elecció del pla tarifari.
Tria - Pla bàsic (gratuït)
1.7. Inicieu sessió a la consola de gestió
1.8. Escollir la ubicació del centre de dades
1.8.1. Prova de velocitat
Abans d'escollir un centre de dades, es recomana provar-lo https://speedtest.net velocitat d'accés als centres de dades més propers, a la meva ubicació els resultats següents:
Singapur
París
Frankfurt
Estocolm
Londres
El centre de dades de Londres mostra els millors resultats en termes de velocitat. Així que el vaig triar per personalitzar-lo més.
2. Creeu una instància d'AWS
2.1 Crear una màquina virtual
2.1.1. Selecció d'un tipus d'instància
Per defecte, està seleccionada la instància t2.micro, que és el que necessitem, només cal prémer el botó Següent: Configura els detalls de la instància
2.1.2. Configuració d'opcions d'instància
En el futur, connectarem una IP pública permanent a la nostra instància, de manera que en aquesta fase desactivem l'assignació automàtica d'una IP pública i premem el botó Següent: Afegeix emmagatzematge
2.1.3. Connexió d'emmagatzematge
Especifiqueu la mida del "disc dur". Per als nostres propòsits, 16 gigabytes són suficients, i premem el botó Següent: Afegeix etiquetes
2.1.4. Configuració d'etiquetes
Si creem diverses instàncies, es podrien agrupar per etiquetes per facilitar l'administració. En aquest cas, aquesta funcionalitat és superflua, premeu immediatament el botó Següent: Configura el grup de seguretat
2.1.5. Obertura de ports
En aquest pas, configurem el tallafoc obrint els ports necessaris. El conjunt de ports oberts s'anomena grup de seguretat. Hem de crear un nou grup de seguretat, donar-li un nom, descripció, afegir un port UDP (Custom UDP Rule), al camp Rort Range, assignar un número de port de l'interval. ports dinàmics 49152-65535. En aquest cas, vaig triar el número de port 54321.
Després d'omplir les dades requerides, feu clic al botó Revisió i llançament
2.1.6. Visió general de tots els paràmetres
En aquesta pàgina hi ha una visió general de tots els paràmetres de la nostra instància, comprovem si tots els paràmetres estan en ordre i premem el botó Llançar
2.1.7. Creació de claus d'accés
A continuació ve un quadre de diàleg que ofereix crear o afegir una clau SSH existent, amb la qual més tard ens connectarem de forma remota a la nostra instància. Seleccionem l'opció "Crea un nou parell de claus" per crear una nova clau. Doneu-li un nom i feu clic al botó Descarrega el parell de clausper descarregar les claus generades. Deseu-los en un lloc segur a l'ordinador local. Un cop descarregat, feu clic al botó. Instàncies de llançament
2.1.7.1. Desar les claus d'accés
Aquí es mostra el pas per desar les claus generades del pas anterior. Després de prémer el botó Descarrega el parell de claus, la clau es desa com a fitxer de certificat amb l'extensió *.pem. En aquest cas, li vaig posar un nom wireguard-awskey.pem
2.1.8. Visió general dels resultats de creació d'instàncies
A continuació, veiem un missatge sobre el llançament satisfactori de la instància que acabem de crear. Podem anar a la llista de les nostres instàncies fent clic al botó veure instàncies
2.2. Creació d'una adreça IP externa
2.2.1. Iniciant la creació d'una IP externa
A continuació, hem de crear una adreça IP externa permanent a través de la qual ens connectarem al nostre servidor VPN. Per fer-ho, al panell de navegació de la part esquerra de la pantalla, seleccioneu l'element IP elàstiques de la categoria XARXA I SECURITAT i premeu el botó Assigna una nova adreça
2.2.2. Configuració de la creació d'una IP externa
En el següent pas, hem d'habilitar l'opció Piscina d'Amazon (activat per defecte) i feu clic al botó Assignar
2.2.3. Visió general dels resultats de la creació d'una adreça IP externa
La següent pantalla mostrarà l'adreça IP externa que hem rebut. Es recomana memoritzar-lo, i fins i tot és millor anotar-lo. serà útil més d'una vegada en el procés de configuració i ús posterior del servidor VPN. En aquesta guia, faig servir l'adreça IP com a exemple. 4.3.2.1. Un cop introduïda l'adreça, premeu el botó a prop
2.2.4. Llista d'adreces IP externes
A continuació, se'ns presenta una llista de les nostres adreces IP públiques permanents (IP elàstica).
2.2.5. Assignació d'una IP externa a una instància
En aquesta llista, seleccionem l'adreça IP que hem rebut i premem el botó dret del ratolí per obrir un menú desplegable. En ell, seleccioneu l'element adreça associatper assignar-lo a la instància que hem creat anteriorment.
2.2.6. Configuració d'assignació d'IP externa
En el següent pas, seleccioneu la nostra instància de la llista desplegable i premeu el botó Associar
2.2.7. Visió general dels resultats de l'assignació d'IP externa
Després d'això, podem veure que la nostra instància i la seva adreça IP privada estan vinculades a la nostra adreça IP pública permanent.
Ara ens podem connectar a la nostra instància acabada de crear des de fora, des del nostre ordinador mitjançant SSH.
3. Connecteu-vos a una instància d'AWS
SSH és un protocol segur per al control remot de dispositius informàtics.
3.1. Connexió mitjançant SSH des d'un ordinador Windows
Per connectar-vos a un ordinador Windows, primer heu de descarregar i instal·lar el programa Putty.
3.1.1. Importa la clau privada per a Putty
3.1.1.1. Després d'instal·lar Putty, heu d'executar la utilitat PuTTYgen que l'acompanya per importar la clau del certificat en format PEM a un format adequat per utilitzar-lo a Putty. Per fer-ho, seleccioneu l'element al menú superior Conversions->Importa clau
3.1.1.2. Escollint una clau AWS en format PEM
A continuació, seleccioneu la clau que hem desat prèviament al pas 2.1.7.1, en el nostre cas el seu nom wireguard-awskey.pem
3.1.1.3. Configuració d'opcions d'importació de claus
En aquest pas, hem d'especificar un comentari per a aquesta clau (descripció) i establir una contrasenya i una confirmació per seguretat. Es demanarà cada vegada que us connecteu. Així, protegim la clau amb una contrasenya d'un ús inadequat. No cal que configureu una contrasenya, però és menys segur si la clau cau en mans equivocades. Després de prémer el botó Desa la clau privada
3.1.1.4. Desant una clau importada
S'obre un diàleg per desar el fitxer i desem la nostra clau privada com a fitxer amb l'extensió .ppkadequat per al seu ús al programa Putty.
Especifiqueu el nom de la clau (en el nostre cas wireguard-awskey.ppk) i premeu el botó Conservar.
3.1.2. Creació i configuració d'una connexió a Putty
3.1.2.1. Crea una connexió
Obriu el programa Putty, seleccioneu una categoria sessió (està obert per defecte) i al camp Nom de l'amfitrió introduïu l'adreça IP pública del nostre servidor, que vam rebre al pas 2.2.3. En camp Sessió desada introduïu un nom arbitrari per a la nostra connexió (en el meu cas wireguard-aws-londres), i després premeu el botó Desar per guardar els canvis que hem fet.
3.1.2.2. Configuració de l'inici de sessió automàtic de l'usuari
Més a la categoria Connexió, trieu una subcategoria dades i al camp Nom d'usuari d'inici de sessió automàtic introduïu el nom d'usuari ubuntu és l'usuari estàndard de la instància a AWS amb Ubuntu.
3.1.2.3. Escollir una clau privada per connectar-se mitjançant SSH
A continuació, aneu a la subcategoria Connexió/SSH/Auth i al costat del camp Fitxer de clau privada per a l'autenticació prem el botó Browse ... per seleccionar un fitxer amb un certificat de clau.
3.1.2.4. Obrint una clau importada
Especifiqueu la clau que hem importat anteriorment al pas 3.1.1.4, en el nostre cas és un fitxer wireguard-awskey.ppk, i premeu el botó obert.
3.1.2.5. Desar la configuració i iniciar una connexió
Tornant a la pàgina de categories sessió torneu a prémer el botó Desar, per desar els canvis que hem fet anteriorment als passos anteriors (3.1.2.2 - 3.1.2.4). I després premem el botó obert per obrir la connexió SSH remota que hem creat i configurat.
3.1.2.7. Configuració de confiança entre amfitrions
En el següent pas, la primera vegada que intentem connectar-nos, se'ns dóna un avís, no tenim la confiança configurada entre els dos ordinadors, i ens demana si confiem en l'ordinador remot. Premem el botó Sí, afegint-lo així a la llista d'amfitrions de confiança.
3.1.2.8. Introduir una contrasenya per accedir a la clau
Després d'això, s'obre una finestra de terminal, on se us demana la contrasenya per a la clau, si l'heu establert abans al pas 3.1.1.3. En introduir una contrasenya, no es produeix cap acció a la pantalla. Si cometeu un error, podeu utilitzar la clau Retrocés.
3.1.2.9. Missatge de benvinguda en connexió correcta
Després d'introduir la contrasenya correctament, se'ns mostra un text de benvinguda al terminal, que ens indica que el sistema remot està preparat per executar les nostres ordres.
4. Configuració del servidor Wireguard
Les instruccions més actualitzades per instal·lar i utilitzar Wireguard mitjançant els scripts que es descriuen a continuació es poden trobar al repositori: https://github.com/isystem-io/wireguard-aws
4.1. Instal·lació de WireGuard
Al terminal, introduïu les ordres següents (podeu copiar-les al porta-retalls i enganxar-les prement el botó dret del ratolí):
4.1.1. Clonació d'un repositori
Clona el dipòsit amb els scripts d'instal·lació de Wireguard
Executeu com a administrador (usuari root) l'script d'instal·lació de Wireguard
sudo ./initial.sh
El procés d'instal·lació demanarà determinades dades necessàries per configurar Wireguard
4.1.3.1. Entrada del punt de connexió
Introduïu l'adreça IP externa i el port obert del servidor Wireguard. Vam obtenir l'adreça IP externa del servidor al pas 2.2.3 i vam obrir el port al pas 2.1.5. Els indiquem conjuntament, separant-los amb dos punts, per exemple 4.3.2.1:54321i després premeu la tecla Enter Sortida 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. Introduint l'adreça IP interna
Introduïu l'adreça IP del servidor Wireguard a la subxarxa VPN segura, si no sabeu què és, només heu de prémer la tecla Intro per establir el valor predeterminat (10.50.0.1) Sortida 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ó d'un servidor DNS
Introduïu l'adreça IP del servidor DNS o simplement premeu la tecla Intro per establir el valor predeterminat 1.1.1.1 (DNS públic de Cloudflare) Sortida 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ó de la interfície WAN
A continuació, heu d'introduir el nom de la interfície de xarxa externa que escoltarà a la interfície de xarxa interna de VPN. Només cal que premeu Intro per establir el valor predeterminat per a AWS (eth0) Sortida de mostra:
Enter the name of the WAN network interface ([ENTER] set to default: eth0):
4.1.3.5. Especificació del nom del client
Introduïu el nom de l'usuari VPN. El fet és que el servidor Wireguard VPN no es podrà iniciar fins que s'hagi afegit almenys un client. En aquest cas, he introduït el nom Alex@mobile Sortida de mostra:
Enter VPN user name: Alex@mobile
Després d'això, s'hauria de mostrar a la pantalla un codi QR amb la configuració del client recentment afegit, que s'ha de llegir mitjançant el client mòbil Wireguard a Android o iOS per configurar-lo. I també a sota del codi QR, es mostrarà el text del fitxer de configuració en cas de configuració manual dels clients. Com fer-ho s'explicarà a continuació.
4.2. Afegeix un nou usuari VPN
Per afegir un nou usuari, cal que executeu l'script al terminal add-client.sh
sudo ./add-client.sh
L'script demana un nom d'usuari: Sortida de mostra:
Enter VPN user name:
A més, el nom dels usuaris es pot passar com a paràmetre d'script (en aquest cas Alex@mobile):
sudo ./add-client.sh Alex@mobile
Com a resultat de l'execució de l'script, al directori amb el nom del client al llarg del camí /etc/wireguard/clients/{ИмяКлиента} es crearà el fitxer de configuració del client /etc/wireguard/clients/{ИмяКлиента}/{ИмяКлиента}.conf, i la pantalla del terminal mostrarà un codi QR per configurar clients mòbils i el contingut del fitxer de configuració.
4.2.1. Fitxer de configuració de l'usuari
Podeu mostrar el contingut del fitxer .conf a la pantalla, per a la configuració manual del client, mitjançant l'ordre cat
[Interface]
PrivateKey = Приватный ключ клиента
Address = IP адрес клиента
DNS = ДНС используемый клиентом
[Peer]
PublicKey = Публичный ключ сервера
PresharedKey = Общи ключ сервера и клиента
AllowedIPs = Разрешенные адреса для подключения (все - 0.0.0.0/0, ::/0)
Endpoint = IP адрес и порт для подключения
4.2.2. Codi QR per a la configuració del client
Podeu mostrar un codi QR de configuració per a un client creat prèviament a la pantalla del terminal mitjançant l'ordre qrencode -t ansiutf8 (en aquest exemple, s'utilitza un client anomenat Alex@mobile):
Després d'això, cal importar la configuració llegint el codi QR amb la configuració del client (vegeu el paràgraf 4.2.2) i donar-li un nom:
Després d'importar correctament la configuració, podeu habilitar el túnel VPN. Una connexió correcta s'indicarà amb un dipòsit de claus a la safata del sistema d'Android
5.2. Configuració del client de Windows
Primer heu de descarregar i instal·lar el programa TunSafe per a Windows és el client Wireguard per a Windows.
5.2.1. Creació d'un fitxer de configuració d'importació
Feu clic amb el botó dret per crear un fitxer de text a l'escriptori.
5.2.2. Copieu el contingut del fitxer de configuració del servidor
A continuació, tornem al terminal Putty i mostrem el contingut del fitxer de configuració de l'usuari desitjat, tal com es descriu al pas 4.2.1.
A continuació, feu clic amb el botó dret al text de configuració al terminal Putty, un cop completada la selecció, es copiarà automàticament al porta-retalls.
5.2.3. Còpia de la configuració a un fitxer de configuració local
En aquest camp, tornem al fitxer de text que hem creat anteriorment a l'escriptori i hi enganxem el text de configuració des del porta-retalls.
5.2.4. Desant un fitxer de configuració local
Desa el fitxer amb extensió .conf (en aquest cas anomenat london.conf)
5.2.5. Importació d'un fitxer de configuració local
A continuació, heu d'importar el fitxer de configuració al programa TunSafe.
5.2.6. Configuració d'una connexió VPN
Seleccioneu aquest fitxer de configuració i connecteu-vos fent clic al botó Connecta.
6. Comprovant si la connexió ha estat correcta
Per comprovar l'èxit de la connexió a través del túnel VPN, heu d'obrir un navegador i anar al lloc https://2ip.ua/ru/
L'adreça IP que es mostra ha de coincidir amb la que hem rebut al pas 2.2.3.
Si és així, el túnel VPN funciona correctament.
Des del terminal Linux, podeu comprovar la vostra adreça IP escrivint: