ADS 468x60

2022-04-25

Свій VPN сервер з WireGuard.

Більшість з нас вважає, що налаштування власного VPN сервера - це складно. Насправді це не зовсім так, так було колись, с кожним днем більшість компаній які надають хмарні послуги намагаються полегшити або спростити процеси використання їх сервісів, а також створення хмарних серверів, наприклад  Amazon lightsail (AWS) або Droplets від Digital Ocean.

Інструкція щодо створення хмарного сервера у Digital Ocean на базі якого будемо створювати свій VPN сервер, а тут інформація щодо створення сервера на Amazon lightsail (AWS).


В цьому нотатку розглянемо встановлення та налаштування одного з найпростіших VPN сервера з використанням протоколу WireGuard.

Коротко про WireGuard - це протокол зв'язку та безкоштовне програмне забезпечення з відкритим вихідним кодом, що реалізує зашифровані віртуальні приватні мережі, та був розроблений з урахуванням простоти використання, високої продуктивності та низької поверхні для атак.

Почнемо з підключення до сервера Ubuntu 20.04.4 LTS який був створено раніше на Digital Ocean. Підключатись будемо за допомогою web консолі (у розділі “Droplet” з випадаючого меню обираємо  “Access Console” та натиснути на кнопку "Launch Droplet Console")

Після підключення до сервера виконуємо дії щодо оновлення серверу, вводимо команду “apt update && apt upgrade -y”

Увага! Всі команди необхідно вводити без лапок “”

 

Дочекаємось успішного оновлення і почнемо встановлення VPN серверу WireGuard, вводимо команду “apt install -y wireguard”.

Як тільки всі необхідні пакети будуть завантажені та встановлені на сервер переходимо до створення/генерування ключів сервера, вводимо команду “wg genkey | tee /etc/wireguard/privatekey | wg pubkey | tee /etc/wireguard/publickey”

Наступним шагом нам необхідно надати/змінити права доступу до приватного ключа “chmod 600 /etc/wireguard/privatekey”

Для подальшого конфігурування серверної частини необхідно перевірити як називається ваш мережевий інтерфейс, введіть команду “ip a” та зверніть увагу на строку де знаходиться ваша зовнішня IP адреса.

У більшості випадків мережевий інтерфейс буде eth0, як на скриншоті, але можуть бути й інші назви. А тепер створюємо саме конфігураційний файл введіть команду “nano /etc/wireguard/wg0.conf” я використовую редактор nano, ви можете використовувати будь-який зручний для вас.
Скопіюйте конфігурацію та вставте її у створений вами файл, має бути як на знімок з екрана ниже:

[Interface]

PrivateKey = <privatekey>

Address = 10.0.0.1/24

ListenPort = 51830

PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE


Зверніть увагу що саме в строках PostUp і PostDown використовується мережевий інтерфейс 
eth0, якщо у вас інша назва замініть на вашу.
Щоб додати “PrivateKey” серверу, треба зберегти створений файл “/etc/wireguard/wg0.conf” комбінацією клавіш “Control + O”, після збереження вийти з файлу комбінацією клавіш “Control + X” та виконати команду cat /etc/wireguard/privatekey”.
Виділіть і скопіюйте інформацію в буфер комбінацією клавіш Control + С, знову відкрийте файл конфігурації “nano /etc/wireguard/wg0.conf” - переведіть курсор в строку “PrivateKey = <privatekey>” та замість “<privatekey>” вставити скопійований ключ який ви отримали під час виконання командиcat /etc/wireguard/privatekey

Наступним кроком необхідно налаштувати IP форвардинг, це можна зробити перейшовши в файл конфігурації “/etc/sysctl.conf” розкоментував відповідну строку, а можна зробити просто, виконати команду “echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf” - ця команда не розкоментує строку, а просто додасть необхідний параметр в кінець файлу конфігурації. Після виконання команди необхідно оновити/перезавантажити конфігурацію системи с новим параметром, виконайте команду “sysctl -p”

Активуємо, включаємо та перевіряємо статус необхідної служби wireguard, по черзі виконайте наступні команди:

“systemctl enable wg-quick@wg0.service”

“systemctl start wg-quick@wg0.service”

“systemctl status wg-quick@wg0.service”


Після того як було сконфігуровано серверну частину, переходимо до створення клієнтського підключення. Спочатку необхідно створити відповідні ключі та конфігураційні файли для вашого обладнання, наприклад, я створив ключі та конфігурацію для свого комп'ютера. Для створення ключів клієнта виконайте наступну команду “wg genkey | tee /etc/wireguard/kaloshin_privatekey | wg pubkey | tee /etc/wireguard/kaloshin_publickeyУвага! Змініть назви ваших ключів з kaloshin_privatekey та kaloshin_publickey на your_name_privatekey та your_name_publickey

Збережіть створений “your_name_publickey”, якій необхідно буде додати в конфігураційний файл сервера, додаємо конфігурацію клієнта, виконайте команду “nano /etc/wireguard/wg0.conf” та додайте в кінці файлу наступне:


[Peer]

PublicKey = <your_name_publickey>

AllowedIPs = 10.0.0.2/32

Якщо ви не зберегли свій <your_name_publickey>, вийдіть з редагування, не забудьте попередньо зберегти зміни Control + O, виконайте команду “cat /etc/wireguard/your_name_publickey” вашого ключа, збережіть його в буфері “Control + С” та знов перейдіть до редагування файлу “nano /etc/wireguard/wg0.conf”.

Після того як внесли до конфігураційного файлу “/etc/wireguard/wg0.conf” параметри підключення та зберегли його, необхідно знову перезавантажити необхідні сервіси для того, щоб вони прийняли нові параметри, виконайте послідовно наступні команди:

“systemctl restart wg-quick@wg0”

“systemctl status wg-quick@wg0”


На вашому комп'ютері необхідно створити конфігураційний файл для програми/застосунку WireGuard, для цього ви можете використати текстовий редактор “Блокнот” (notepad), або будь-якій інший редактор.

Створюємо файл “your_name_.conf” в який додайте наступні строки:


[Interface]

PrivateKey = <your_name_PRIVATE-KEY>

Address = 10.0.0.2/32

DNS = 8.8.8.8


[Peer]

PublicKey = <SERVER-PUBKEY>

Endpoint = <SERVER-IP>:51830

AllowedIPs = 0.0.0.0/0

PersistentKeepalive = 20


PrivateKey = <CLIENT-PRIVATE-KEY> замінюємо на результат виконання команди “cat /etc/wireguard/your_name_privatekey”.

PublicKey = <SERVER-PUBKEY> замінюємо на результат виконання команди “cat /etc/wireguard/publickey” на сервері.

Endpoint = <SERVER-IP> <SERVER-IP> замінюємо на IP адресу вашого сервера.
Зберігаємо створений файл “your_name_.conf”

Якщо у вас не встановлено програма WireGuard клієнт на вашому комп'ютері то встановіть, зайдіть на сайт завантажте програму під вашу операційну систему (WireGuard клієнт існує майже для всіх операційних систем).

Після завантаження і встановлення програми WireGuard запустіть її, натисніть на знак додавання “+” та оберіть “Імпорт тунелів із файлу” після чого відкрийте створений “your_name_.conf” конфігураційний файл.

Як файл буде додано і він з'явиться у вікні зліва - тисніть на кнопку “Під'єднатися”.

Якщо вам необхідно додати ще одного клієнта або вирішили використовувати VPN з вашого телефону, заходимо в конфігураційний файл сервера та додаємо ще один “[Pear]” як на малюнку ниже:

Зверніть увагу що для нового користувача/клієнта необхідно створити свій privatekey та publickey, а також додати 1 до IP адреси у конфігураційному файлі сервера :)

Якщо у вас будуть питання, або необхідна якась допомога пищить мені електронну пошту адреса якої знаходиться у розділі Contacts.

UPD: 27.04.2022

Хочу поділитись ще одним способом передачі конфігурації підключення мобільного телефону до VPN серверу WireGuard. Якщо ви створили конфігураційний файл “your_name_.conf” для вашого телефону безпосередньо то, вам необхідно додатково встановити генератор QR code, для цього виконайте команду “sudo apt install qrencode”. Після встановлення програми поверніться в каталог/тека в якій знаходиться ваш “your_name_.conf” та виконайте наступну команду “qrencode -t ansiutf8 < your_name_.conf
Після того як вам відобразиться QR code вашого підключення, запустіть програму WireGuard у вашому телефоні, натисніть на кнопку “+”, виберіть з меню “Create from QR code” та наведіть камеру на QR code.
Як тільки програма просканує QR code вам буде запропоновано дати ім'я/назву цьому підключенню.


1 comments:

egzxid7ozm said...

With 50 tables waiting for you, odds are you’re in for the time of your life. Roll the 온라인카지노 dice on this exciting sport that gives quick paced motion with immediate payouts. When you play at Four Winds New Buffalo, excitement has a seat at each table.

Post a Comment

Популярне за тиждень