У своїй роботі я часто користуюся різними VPN-серверами. Готові сервіси — це цілком ок, але згодом я прийшов до того, що розроблений самостійно VPN має суттєві переваги.
Щоб зрозуміти переваги власного VPN-серверу у порівнянні з готовим, варто згадати, для чого взагалі використовують VPN:
Тут усе доволі зрозуміло, тож перейдемо до найцікавішого: які переваги використання власного сервісу та як його створити. Я розписав чекліст з покроковою інструкцією по створенню та налаштуванню VPN-сервера, який використовую у своїй роботі.
Важливо: ця інструкція розрахована на те, що ви:
✔️ знаєте як використовувати SSH-клієнт;
✔️ вмієте на базовому рівні користуватися терміналом: Terminal, Console Powershell тощо.
Як бачимо, більшість проблем від користування VPN зникає, якщо використовувати власний сервер.
Поширена думка, що власний сервер – це дорого, довго, складно. Простіше купити готовий сервіс та не паритися. Але знаючи суттєві переваги власного VPN-cерверу, хочу розвіяти основні міфи щодо його створення.
VPN можна підняти на будь-якому хостингу, який надає віртуальні машини: AWS, Azure, Linode, Digitalocean, Hetzner та інші. Можна вкластися у суму $4 на місяць, і такого сервера цілком вистачить для потреб однієї людини.
Так, готовий сервіс дійсно пропонує користувачам декілька варіантів локацій, між якими досить легко перемикатися. Але у власному теж можливо створити сервер у будь-якому з доступних у сервісі регіонів на ваш вибір. Питання лише у бюджеті. Та давайте будемо чесними: зазвичай нам не потрібно часто змінювати локацію. Для постійного використання цілком вистачає однієї-двох.
Насправді створення власного сервера — справа декількох кліків. За наступною інструкцією можна це зробити протягом 10 хвилин (перевірено особисто).
Розберемо на прикладі DigitalOcean та його серверу Droplet.
Якщо у вас раптом вже є акаунт на DigitalOcean – можете переходити до наступного пункту. Якщо ні – спершу пройдіть реєстрацію (там інтуїтивно зрозумілі всі кроки).
Оберіть дата-центр, з якого плануєте виходити в інтернет. Я вирішив працювати з Frankfurt, тому що він територіально знаходиться найближче до України, а це позитивно впливає на швидкість роботи.
Для графи Image оберіть Markerplace, Docker on Ubuntu. Потім у графі Size оберіть план підписки, який вам підходить по бюджету.
У Hostname впишіть ім‘я, наприклад, vpn-server
. Це ні на що не впливає й потрібно лише для зручності. Потім натисніть кнопку Create Droplet.
Зачекай, поки створиться сервер. Зазвичай це займає до однієї хвилини. Після цього ти отримаєш ІP-адресу свого сервера.
Відкриваємо Terminal у MacOS/Linux (або PowerShell/putty у Windows) і підключаємося по SSH до нашого сервера, використовуючи ім’я користувача root та IP-адресу нашого сервера.
Це можна зробити за допомогою:
ssh root@{your-ip-address}
> введи свій пароль
Після цього ви маєте під’єднатися.
Я зберіг свій код, тому просто скопіюйте та створіть свій файл з усім вмістом з цього ресурсу. Цей файл — конфігурація вашого сервера.
Ви можете створити файл або прямо через SSH, використовуючи консольні редактори тексту (nano/vim), або за допомогою SFTP-клієнта. Я використовував консольний редактор через SSH.
У тому ж вікні SSH робимо наступне:
> nano docker-compose.yml
Вставляємо вміст. В доданому тексті змінюємо наступні параметри під себе:
my-shared-secret
– на власне секретне слово;my-username
– на особистий логін;my-password
– на свій пароль.Зверніть увагу, наскільки це просто – у файлі лише 14 рядків, які нам потрібні. За це я й люблю Doker 🙂
Виходимо, затиснувши Ctrl+X, потім Y, й далі натискаємо Enter.
Використовуємо те ж вікно SSH, в якому ми щойно створили файл.
> docker compose up -d
Вітаю! Ваш VPN-сервер запущений і працює. Як тепер під’єднатися до нього?
Я використовую IPsec, тому що клієнти для цього VPN вже вбудовані у MacOS/Windows і не доведеться нічого встановлювати локально. Потрібно лише створити нове VPN-підключення за такими параметрами:
my-username
(або те, на яке ви його змінили);my-password
(або той варіант, на який ви його змінювали);my-shared-secret
(або змінений раніше варіант).Для MacOS нічого встановлювати не потрібно, достатньо лише налаштувати ось так:
Для Windows ці налаштування виглядатимуть трохи інакше:
На жаль, у Windows не все так просто і доведеться посерфити в реєстрі й дозволити NAT-T.
Для користувачів Linux також додаю скрін з налаштуваннями (використовував в Ubuntu 22.04):
Перед налаштуванням потрібно встановити пакет network-manager-l2tp-gnome
. Робиться це через консоль:
> sudo apt-get install network-manager-l2tp-gnome
Також можна під’єднатися з телефону, нічого додатково встановлювати не треба. Налаштування на iPhone виглядає ось так:
Готово! Підключайтеся й перевірте IP-адресу, наприклад, на Whoer за лінком. Тепер для всього інтернету ви фізично знаходитесь у регіоні, де створили свій VPN-сервер, а IP — це IP-сервера. Все не так страшно, не довго і не дорого, як могло вам здаватися 🙂
Якщо враховувати питання безпеки вашого власного сервера, то наостанок я рекомендую:
Блогер та розробник Джозеф Круз розповів, чому не варто писати ідеальний код та чому це…
Днями я завзято нила про щось ChatGPT (експериментую між сеансами з живим терапевтом). І от…
«Крутіть колесо, щоб отримати знижку до 50%!» «Натисніть тут, щоб відкрити таємничу пропозицію!» «Зареєструйтесь зараз,…
Дуже хочеться робити якісь десктопні апки. Сумую за часами коли всі програми були offline-first, і…
Надсилаючи криптовалюту, багато новачків ставлять запитання: як працюють комісії та чому вони відрізняються в різних…
Нова афера набирає обертів — ось детальний розбір того, як фальшиві потенційні роботодавці намагаються вкрасти…