Wireguard Безплатна VPN услуга на AWS

За какво?

С нарастващата цензура на интернет от авторитарни режими, все повече полезни интернет ресурси и сайтове се блокират. Включително техническа информация.
По този начин става невъзможно пълноценното използване на интернет и се нарушава основното право на свобода на словото, залегнало в Всеобща декларация за правата на човека.

Член 19
Всеки има право на свобода на мнение и изразяване; това право включва свободата да се придържате към мнение без намеса и да търсите, получавате и разпространявате информация и идеи чрез всякакви медии и независимо от границите

В това ръководство ще внедрим нашия собствен безплатен софтуер* в 6 стъпки. VPN услуга въз основа на технологията Тел предпазител, в облачна инфраструктура Amazon Web Services (AWS), използвайки безплатен акаунт (за 12 месеца), на инстанция (виртуална машина), управлявана от Ubuntu сървър 18.04LTS.
Опитах се да направя това ръководство възможно най-приятелско за хората, които не са ИТ специалисти. Единственото, което се изисква е постоянство в повтарянето на описаните по-долу стъпки.

Внимание

етапи

  1. Регистрирайте се за безплатен акаунт в AWS
  2. Създайте екземпляр на AWS
  3. Свързване към екземпляр на AWS
  4. Конфигурация на Wireguard
  5. Конфигуриране на VPN клиенти
  6. Проверка на коректността на VPN инсталацията

Полезни връзки

1. Регистриране на AWS акаунт

Регистрирането на безплатен акаунт в AWS изисква реален телефонен номер и валидна кредитна карта Visa или Mastercard. Препоръчвам да използвате виртуални карти, които се предоставят безплатно Yandex или портфейл qiwi. За да проверите валидността на картата, по време на регистрацията се удържа 1 $, който по-късно се връща.

1.1. Отваряне на конзолата за управление на AWS

Трябва да отворите браузър и да отидете на: https://aws.amazon.com/ru/
Кликнете върху бутона "Регистрация".

Wireguard Безплатна VPN услуга на AWS

1.2. Попълване на лични данни

Попълнете данните и кликнете върху бутона "Продължи".

Wireguard Безплатна VPN услуга на AWS

1.3. Попълване на данни за контакт

Попълнете информация за контакт.

Wireguard Безплатна VPN услуга на AWS

1.4. Посочване на информация за плащане.

Номер на картата, срок на валидност и име на картодържателя.

Wireguard Безплатна VPN услуга на AWS

1.5. Подтверждение на акаунта

На този етап телефонният номер се потвърждава и 1 $ се дебитира директно от платежната карта. На екрана на компютъра се показва 4-цифрен код и посоченият телефон получава обаждане от Amazon. По време на разговор трябва да наберете кода, показан на екрана.

Wireguard Безплатна VPN услуга на AWS

1.6. Избор на тарифен план.

Изберете - Основен план (безплатно)

Wireguard Безплатна VPN услуга на AWS

1.7. Влезте в конзолата за управление

Wireguard Безплатна VPN услуга на AWS

1.8. Избор на местоположението на центъра за данни

Wireguard Безплатна VPN услуга на AWS

1.8.1. Тестване на скоростта

Преди да изберете център за данни, се препоръчва да го тествате https://speedtest.net скорост на достъп до най-близките центрове за данни, в моето местоположение следните резултати:

  • Сингапур
    Wireguard Безплатна VPN услуга на AWS
  • Париж
    Wireguard Безплатна VPN услуга на AWS
  • Франкфурт
    Wireguard Безплатна VPN услуга на AWS
  • Стокхолм
    Wireguard Безплатна VPN услуга на AWS
  • Лондон
    Wireguard Безплатна VPN услуга на AWS

Центърът за данни в Лондон показва най-добри резултати по отношение на скоростта. Затова го избрах за по-нататъшно персонализиране.

2. Създайте екземпляр на AWS

2.1 Създайте виртуална машина

2.1.1. Избор на тип инстанция

По подразбиране е избран екземплярът t2.micro, което е това, от което се нуждаем, просто натиснете бутона Следва: Конфигуриране на подробности за екземпляра

Wireguard Безплатна VPN услуга на AWS

2.1.2. Задаване на опции за екземпляр

В бъдеще ще свържем постоянен публичен IP към нашия екземпляр, така че на този етап изключваме автоматичното присвояване на публичен IP и натискаме бутона Следващ: Добавяне на хранилище

Wireguard Безплатна VPN услуга на AWS

2.1.3. Връзка за съхранение

Посочете размера на "твърдия диск". За нашите цели 16 гигабайта са достатъчни и натискаме бутона Следва: Добавете етикети

Wireguard Безплатна VPN услуга на AWS

2.1.4. Настройване на етикети

Ако създадохме няколко екземпляра, тогава те могат да бъдат групирани по тагове, за да се улесни администрирането. В този случай тази функционалност е излишна, веднага натиснете бутона Следващ: Конфигуриране на група за сигурност

Wireguard Безплатна VPN услуга на AWS

2.1.5. Отваряне на портове

В тази стъпка конфигурираме защитната стена, като отворим необходимите портове. Наборът от отворени портове се нарича група за сигурност. Трябва да създадем нова група за сигурност, да й дадем име, описание, да добавим UDP порт (Custom UDP Rule), в полето Rort Range трябва да зададете номер на порт от диапазона динамични портове 49152-65535. В този случай избрах номер на порт 54321.

Wireguard Безплатна VPN услуга на AWS

След като попълните необходимите данни, щракнете върху бутона Преглед и стартиране

2.1.6. Преглед на всички настройки

На тази страница има преглед на всички настройки на нашия екземпляр, проверяваме дали всички настройки са наред и натискаме бутона Стартиране

Wireguard Безплатна VPN услуга на AWS

2.1.7. Създаване на ключове за достъп

След това идва диалогов прозорец, който предлага или да създадете, или да добавите съществуващ SSH ключ, с който по-късно ще се свържем дистанционно с нашия екземпляр. Избираме опцията „Създаване на нова двойка ключове“, за да създадем нов ключ. Дайте му име и щракнете върху бутона Изтеглете двойка ключовеза изтегляне на генерираните ключове. Запазете ги на сигурно място на вашия локален компютър. След като го изтеглите, щракнете върху бутона. Стартиране на екземпляри

Wireguard Безплатна VPN услуга на AWS

2.1.7.1. Запазване на ключове за достъп

Тук е показана стъпката за запазване на генерираните ключове от предишната стъпка. След като натиснахме бутона Изтеглете двойка ключове, ключът се записва като файл със сертификат с разширение *.pem. В този случай аз му дадох име wireguard-awskey.pem

Wireguard Безплатна VPN услуга на AWS

2.1.8. Преглед на резултатите от създаването на екземпляр

След това виждаме съобщение за успешното стартиране на екземпляра, който току-що създадохме. Можем да отидем до списъка с нашите инстанции, като щракнете върху бутона прегледайте екземпляри

Wireguard Безплатна VPN услуга на AWS

2.2. Създаване на външен IP адрес

2.2.1. Стартиране на създаването на външен IP

След това трябва да създадем постоянен външен IP адрес, чрез който ще се свържем с нашия VPN сървър. За да направите това, в навигационния панел в лявата част на екрана изберете елемента Еластични IP адреси от категория МРЕЖА И СИГУРНОСТ и натиснете бутона Определете нов адрес

Wireguard Безплатна VPN услуга на AWS

2.2.2. Конфигуриране на създаването на външен IP

В следващата стъпка трябва да активираме опцията басейн на Amazon (активирано по подразбиране) и щракнете върху бутона Разпределяне

Wireguard Безплатна VPN услуга на AWS

2.2.3. Преглед на резултатите от създаването на външен IP адрес

Следващият екран ще покаже външния IP адрес, който сме получили. Препоръчително е да го запомните, а по-добре дори да го запишете. това ще бъде полезно повече от веднъж в процеса на по-нататъшно настройване и използване на VPN сървъра. В това ръководство използвам IP адреса като пример. 4.3.2.1. След като въведете адреса, натиснете бутона Близо

Wireguard Безплатна VPN услуга на AWS

2.2.4. Списък с външни IP адреси

След това ни се представя списък с нашите постоянни публични IP адреси (elastics IP).

Wireguard Безплатна VPN услуга на AWS

2.2.5. Присвояване на външен IP адрес на инстанция

В този списък избираме получения IP адрес и натискаме десния бутон на мишката, за да изведем падащо меню. В него изберете елемента адрес на сътрудникза да го присвоите на инстанцията, която създадохме по-рано.

Wireguard Безплатна VPN услуга на AWS

2.2.6. Външна настройка за присвояване на IP

В следващата стъпка изберете нашето копие от падащия списък и натиснете бутона Сътрудник

Wireguard Безплатна VPN услуга на AWS

2.2.7. Преглед на резултатите от външно IP присвояване

След това можем да видим, че нашето копие и неговият частен IP адрес са обвързани с нашия постоянен публичен IP адрес.

Wireguard Безплатна VPN услуга на AWS

Сега можем да се свържем с нашето новосъздадено копие отвън, от нашия компютър чрез SSH.

3. Свържете се с екземпляр на AWS

SSH е защитен протокол за дистанционно управление на компютърни устройства.

3.1. Свързване чрез SSH от компютър с Windows

За да се свържете с компютър с Windows, първо трябва да изтеглите и инсталирате програмата Putty.

3.1.1. Импортиране на частен ключ за Putty

3.1.1.1. След като инсталирате Putty, трябва да стартирате помощната програма PuTTYgen, която идва с него, за да импортирате ключа на сертификата във формат PEM във формат, подходящ за използване в Putty. За да направите това, изберете елемента в горното меню Конверсии->Импортиране на ключ

Wireguard Безплатна VPN услуга на AWS

3.1.1.2. Избор на AWS ключ във формат PEM

След това изберете ключа, който преди това запазихме в стъпка 2.1.7.1, в нашия случай неговото име wireguard-awskey.pem

Wireguard Безплатна VPN услуга на AWS

3.1.1.3. Задаване на ключови опции за импортиране

На тази стъпка трябва да посочим коментар за този ключ (описание) и да зададем парола и потвърждение за сигурност. Ще бъде поискано всеки път, когато се свържете. По този начин ние защитаваме ключа с парола от неподходяща употреба. Не е нужно да задавате парола, но е по-малко сигурно, ако ключът попадне в неподходящи ръце. След като натиснем бутона Запазване на частния ключ

Wireguard Безплатна VPN услуга на AWS

3.1.1.4. Запазване на импортиран ключ

Отваря се диалогов прозорец за запазване на файл и запазваме личния си ключ като файл с разширение .ppkподходящ за използване в програмата Putty.
Посочете името на ключа (в нашия случай wireguard-awskey.ppk) и натиснете бутона Запазва.

Wireguard Безплатна VPN услуга на AWS

3.1.2. Създаване и конфигуриране на връзка в Putty

3.1.2.1. Създайте връзка

Отворете програмата Putty, изберете категория Сесия (по подразбиране е отворен) и в полето Име на хост въведете публичния IP адрес на нашия сървър, който получихме в стъпка 2.2.3. В полето Запазена сесия въведете произволно име за нашата връзка (в моя случай wireguard-aws-london), след което натиснете бутона Save за да запазим направените от нас промени.

Wireguard Безплатна VPN услуга на AWS

3.1.2.2. Настройване на автоматично влизане на потребителя

Още в категорията Връзка, изберете подкатегория Дата и на полето Потребителско име за автоматично влизане въведете потребителско име Ubuntu е стандартният потребител на екземпляра на AWS с Ubuntu.

Wireguard Безплатна VPN услуга на AWS

3.1.2.3. Избор на частен ключ за свързване чрез SSH

След това отидете на подкатегорията Връзка/SSH/Auth и до терена Файл с личен ключ за удостоверяване натиснете бутона Browse ... за да изберете файл със сертификат за ключ.

Wireguard Безплатна VPN услуга на AWS

3.1.2.4. Отваряне на импортиран ключ

Посочете ключа, който импортирахме по-рано на стъпка 3.1.1.4, в нашия случай това е файл wireguard-awskey.ppk, и натиснете бутона отворен.

Wireguard Безплатна VPN услуга на AWS

3.1.2.5. Запазване на настройките и стартиране на връзка

Връщане към страницата с категории Сесия натиснете отново бутона Save, за да запазите промените, които направихме по-рано в предишните стъпки (3.1.2.2 - 3.1.2.4). И тогава натискаме бутона отворено за да отворите отдалечената SSH връзка, която създадохме и конфигурирахме.

Wireguard Безплатна VPN услуга на AWS

3.1.2.7. Създаване на доверие между хостовете

В следващата стъпка, първия път, когато се опитаме да се свържем, получаваме предупреждение, че нямаме конфигурирано доверие между двата компютъра и пита дали да се доверим на отдалечения компютър. Ще натиснем бутона Да, като по този начин го добавя към списъка с надеждни хостове.

Wireguard Безплатна VPN услуга на AWS

3.1.2.8. Въвеждане на парола за достъп до ключа

След това се отваря терминален прозорец, където се иска паролата за ключа, ако сте я задали по-рано на стъпка 3.1.1.3. При въвеждане на парола не се извършва действие на екрана. Ако направите грешка, можете да използвате ключа Backspace.

Wireguard Безплатна VPN услуга на AWS

3.1.2.9. Приветствено съобщение при успешно свързване

След успешно въвеждане на паролата, в терминала ни се показва приветствен текст, който ни казва, че отдалечената система е готова да изпълни нашите команди.

Wireguard Безплатна VPN услуга на AWS

4. Конфигуриране на сървъра Wireguard

Най-актуалните инструкции за инсталиране и използване на Wireguard с помощта на скриптовете, описани по-долу, могат да бъдат намерени в хранилището: https://github.com/isystem-io/wireguard-aws

4.1. Инсталиране на WireGuard

В терминала въведете следните команди (можете да копирате в клипборда и да поставите в терминала, като натиснете десния бутон на мишката):

4.1.1. Клониране на хранилище

Клонирайте хранилището с инсталационните скриптове на Wireguard

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

4.1.2. Преминаване към директорията със скриптове

Отидете в директорията с клонираното хранилище

cd wireguard_aws

4.1.3 Изпълнение на инициализиращия скрипт

Стартирайте като администратор (root потребител) инсталационния скрипт на Wireguard

sudo ./initial.sh

Процесът на инсталиране ще поиска определени данни, необходими за конфигуриране на Wireguard

4.1.3.1. Вход на точката на свързване

Въведете външния IP адрес и отворете порта на сървъра Wireguard. Получихме външния IP адрес на сървъра в стъпка 2.2.3 и отворихме порта в стъпка 2.1.5. Посочваме ги заедно, като ги разделяме с двоеточие например 4.3.2.1:54321и след това натиснете клавиша Въведете
Примерен резултат:

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. Въвеждане на вътрешния IP адрес

Въведете IP адреса на сървъра Wireguard в защитената VPN подмрежа, ако не знаете какъв е, просто натиснете клавиша Enter, за да зададете стойността по подразбиране (10.50.0.1)
Примерен резултат:

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

4.1.3.3. Задаване на DNS сървър

Въведете IP адреса на DNS сървъра или просто натиснете клавиша Enter, за да зададете стойността по подразбиране 1.1.1.1 (публичен DNS на Cloudflare)
Примерен резултат:

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

4.1.3.4. Задаване на WAN интерфейс

След това трябва да въведете името на външния мрежов интерфейс, който ще слуша вътрешния мрежов интерфейс на VPN. Просто натиснете Enter, за да зададете стойността по подразбиране за AWS (eth0)
Примерен резултат:

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

4.1.3.5. Посочване на името на клиента

Въведете името на VPN потребителя. Факт е, че Wireguard VPN сървърът няма да може да стартира, докато не бъде добавен поне един клиент. В случая въведох името Alex@mobile
Примерен резултат:

Enter VPN user name: Alex@mobile

След това на екрана трябва да се покаже QR код с конфигурацията на новодобавения клиент, който трябва да бъде прочетен с помощта на мобилния клиент Wireguard на Android или iOS, за да го конфигурирате. Освен това под QR кода ще се покаже текстът на конфигурационния файл в случай на ръчна конфигурация на клиенти. Как да направите това ще бъде обсъдено по-долу.

Wireguard Безплатна VPN услуга на AWS

4.2. Добавяне на нов VPN потребител

За да добавите нов потребител, трябва да изпълните скрипта в терминала add-client.sh

sudo ./add-client.sh

Скриптът иска потребителско име:
Примерен резултат:

Enter VPN user name: 

Също така, името на потребителите може да бъде предадено като параметър на скрипт (в този случай Alex@mobile):

sudo ./add-client.sh Alex@mobile

В резултат на изпълнението на скрипта, в директорията с името на клиента по пътя /etc/wireguard/clients/{ИмяКлиента} ще бъде създаден клиентски конфигурационен файл /etc/wireguard/clients/{ИмяКлиента}/{ИмяКлиента}.conf, а екранът на терминала ще покаже QR код за настройка на мобилни клиенти и съдържанието на конфигурационния файл.

4.2.1. Потребителски конфигурационен файл

Можете да изведете съдържанието на .conf файла на екрана за ръчна конфигурация на клиента, като използвате командата cat

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

резултат от изпълнение:

[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

Описание на конфигурационния файл на клиента:

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

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

4.2.2. QR код за конфигурация на клиента

Можете да покажете конфигурационен QR код за предварително създаден клиент на екрана на терминала, като използвате командата qrencode -t ansiutf8 (в този пример се използва клиентът с име Alex@mobile):

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

5. Конфигуриране на VPN клиенти

5.1. Настройване на мобилен клиент за Android

Официалният клиент на Wireguard за Android може да бъде инсталирайте от официалния Google Play Store

След това е необходимо да импортирате конфигурацията, като прочетете QR кода с конфигурацията на клиента (вижте параграф 4.2.2) и му дадете име:

Wireguard Безплатна VPN услуга на AWS

След успешно импортиране на конфигурацията можете да активирате VPN тунела. Успешната връзка ще бъде показана чрез скривалище на ключ в системната област на Android

Wireguard Безплатна VPN услуга на AWS

5.2. Настройка на Windows клиент

Първо трябва да изтеглите и инсталирате програмата TunSafe за Windows е Wireguard клиент за Windows.

5.2.1. Създаване на конфигурационен файл за импортиране

Щракнете с десния бутон, за да създадете текстов файл на работния плот.

Wireguard Безплатна VPN услуга на AWS

5.2.2. Копирайте съдържанието на конфигурационния файл от сървъра

След това се връщаме към терминала Putty и показваме съдържанието на конфигурационния файл на желания потребител, както е описано в стъпка 4.2.1.
След това щракнете с десния бутон върху текста на конфигурацията в терминала Putty, след като изборът приключи, той автоматично ще бъде копиран в клипборда.

Wireguard Безплатна VPN услуга на AWS

5.2.3. Копиране на конфигурацията в локален конфигурационен файл

В това поле се връщаме към текстовия файл, който създадохме по-рано на работния плот, и поставяме конфигурационния текст в него от клипборда.

Wireguard Безплатна VPN услуга на AWS

5.2.4. Запазване на локален конфигурационен файл

Запазете файла с разширение .conf (в този случай наименуван london.conf)

Wireguard Безплатна VPN услуга на AWS

5.2.5. Импортиране на локален конфигурационен файл

След това трябва да импортирате конфигурационния файл в програмата TunSafe.

Wireguard Безплатна VPN услуга на AWS

5.2.6. Настройка на VPN връзка

Изберете този конфигурационен файл и се свържете, като щракнете върху бутона Свържете.
Wireguard Безплатна VPN услуга на AWS

6. Проверка дали връзката е успешна

За да проверите успеха на връзката през VPN тунела, трябва да отворите браузър и да отидете на сайта https://2ip.ua/ru/

Wireguard Безплатна VPN услуга на AWS

Показаният IP адрес трябва да съвпада с този, който получихме в стъпка 2.2.3.
Ако е така, тогава VPN тунелът работи успешно.

От терминала на Linux можете да проверите вашия IP адрес, като напишете:

curl http://zx2c4.com/ip

Или можете просто да отидете в pornhub, ако сте в Казахстан.

Източник: www.habr.com

Добавяне на нов коментар