Как создать свой VPN-сервер на Raspberry Pi для телефона — пошагово, без лишней воды

Как создать свой VPN-сервер на Raspberry Pi для телефона — пошагово, без лишней воды

Ты устал от того, что Wi-Fi в кафе отслеживает твои запросы? Или боишься, что провайдер знает, какие сайты ты заходишь? Или просто хочешь безопасно смотреть сериалы, когда едешь в командировку за границу? Тогда тебе не нужен платный VPN-сервис — тебе нужен свой, личный, полностью твой сервер. И да, его можно собрать на Raspberry Pi за пару часов. Не теория. Не реклама. Я сам так делал — и пользуюсь уже три года.

Зачем вообще это нужно?

Платные VPN-сервисы — это как аренда квартиры. Ты платишь, тебе дают доступ, но ты не знаешь, кто там внутри, что с твоими данными делают и не перепродадут ли их третьим лицам. А если ты настроишь свой сервер — ты единственный, кто знает, что на нём хранится. Даже если ты не шпион и не хакер, это даёт спокойствие. Особенно когда ты:

  • Пользуешься публичным Wi-Fi в аэропорту или отеле
  • Ездишь за границу и хочешь получить доступ к российским сервисам
  • Не доверяешь компаниям, которые обещают «анонимность» за 500 рублей в месяц
  • Хочешь, чтобы твой трафик не тормозил из-за перегрузки серверов

На Raspberry Pi ты не получишь скорость 1 Гбит/с — но для телефонного трафика (почта, мессенджеры, YouTube в 720p) хватит с запасом. И это будет твой личный тоннель — никто кроме тебя не может его использовать.

Что тебе понадобится

Всё это можно купить за 2000–3000 рублей, если ещё не купил:

  • Raspberry Pi 3B+ или 4 (4GB RAM — оптимально, 2GB — минимально)
  • MicroSD-карта 16 ГБ (класс 10, от SanDisk или Samsung)
  • Блок питания 5 В / 3 А (лучше официальный, или с сертификатом)
  • Корпус с вентилятором (не обязательно, но если Pi будет работать 24/7 — лучше)
  • Кабель Ethernet (если будешь подключать по проводу — надёжнее, чем Wi-Fi)

И ещё: у тебя должен быть роутер с доступом к настройкам (всё, что не «модем-роутер» от МТС/Ростелеком с закрытым интерфейсом). Если твой роутер не даёт доступ к пробросу портов — ты не сможешь подключаться к серверу извне. Это критично.

Шаг 1: Установи Raspberry Pi OS

Скачай Raspberry Pi Imager с официального сайта. Запусти его на компьютере (Windows, Mac или Linux — без разницы). Выбери:

  1. ОС: Raspberry Pi OS (32-bit) — стабильнее, чем 64-битная, для этого кейса
  2. Карта: вставь MicroSD в адаптер и выбери её в списке
  3. Нажми «Write» — жди, пока не закончится запись

После записи вынь карту, вставь в Pi, подключи питание и Ethernet-кабель. Не подключай монитор — ты будешь работать удалённо.

Шаг 2: Включи SSH и найди IP-адрес

После включения Pi загрузится. Чтобы подключиться к нему с компьютера, тебе нужно знать его IP. Лучший способ — зайти в панель управления своего роутера (обычно http://192.168.1.1 или http://192.168.0.1), найти список подключённых устройств и искать устройство с именем raspberrypi.

Если не знаешь, как зайти в роутер — включи SSH до подключения. Для этого: перед тем, как вставить карту в Pi, на компьютере открой папку с записанной системой, найди файл ssh (без расширения). Создай его, если нет — просто создай пустой текстовый файл и назови его ssh. Это включит SSH при первой загрузке.

Теперь с компьютера открой терминал (Mac/Linux) или PuTTY (Windows) и введи:

ssh pi@192.168.x.x

Пароль по умолчанию: raspberry. Сразу после входа смени его:

passwd

Пиши новый пароль дважды — и не используй простые варианты вроде 12345678. Это сервер, который будет открыт в интернет — безопасность важна.

Шаг 3: Установи WireGuard

WireGuard — это самый быстрый и лёгкий VPN-протокол на сегодня. Он работает на уровне ядра Linux, потребляет меньше ресурсов, чем OpenVPN, и стабильнее. Установи его одной командой:

sudo apt update && sudo apt install wireguard resolvconf -y

После установки сгенерируй ключи:

umask 077
wg genkey | tee privatekey | wg pubkey > publickey

Ты увидишь две строки — это твои ключи. Сохрани их — они понадобятся. Первый — privatekey (он на сервере), второй — publickey (его ты дашь телефону).

Шаг 4: Настрой сервер

Создай конфигурационный файл:

sudo nano /etc/wireguard/wg0.conf

Вставь туда это (замени значения на свои):

[Interface]
PrivateKey = твой_приватный_ключ_из_предыдущего_шага
Address = 10.8.0.1/24
ListenPort = 51820
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

[Peer]
PublicKey = твой_публичный_ключ_с_телефона
AllowedIPs = 10.8.0.2/32

Пояснения:

  • Address = 10.8.0.1/24 — это IP-сеть, которую будет использовать сервер. Оставь как есть.
  • ListenPort = 51820 — порт, который ты будешь пробрасывать на роутере. Не меняй, если только не знаешь, что делаешь.
  • PostUp и PostDown — включают маршрутизацию трафика. Без них твой телефон не выйдет в интернет.
  • AllowedIPs = 10.8.0.2/32 — это IP, который получит твой телефон. Он будет автоматически назначен, но ты должен его указать заранее.

Сохрани файл: Ctrl+OEnterCtrl+X.

Шаг 5: Включи и запусти сервер

Запусти WireGuard:

sudo wg-quick up wg0

Проверь, что он работает:

sudo wg

Ты должен увидеть что-то вроде:

interface: wg0
  public key: ...
  private key: (hidden)
  listening port: 51820

peer: ...
  endpoint: [null]
  allowed ips: 10.8.0.2/32

Если есть «listening port» — всё в порядке. Теперь включи автозапуск:

sudo systemctl enable wg-quick@wg0

Шаг 6: Проброс порта на роутере

Это критичный шаг. Без него ты не подключишься к серверу с улицы.

Зайди в настройки роутера (через браузер, как в шаге 2). Найди раздел Port Forwarding, NAT или Virtual Server. Добавь правило:

  • Внешний порт: 51820
  • Внутренний IP: твой_IP_от_Raspberry_Pi (например, 192.168.1.100)
  • Внутренний порт: 51820
  • Протокол: UDP

Сохрани. Перезагрузи роутер, если нужно. Теперь твой сервер доступен из интернета.

Шаг 7: Настрой телефон

На Android установи WireGuard. На iPhone — тоже WireGuard.

Открой приложение → «Добавить туннель» → «Создать из нуля».

Заполни:

  • Имя: Мой Pi
  • Приватный ключ: сгенерируй его в приложении — нажми «Создать ключ»
  • Адрес: 10.8.0.2/24
  • DNS: 1.1.1.1 (Cloudflare) или 8.8.8.8 (Google)

Теперь в секции «Пир»:

  • Публичный ключ: вставь публичный ключ с сервера (из шага 3)
  • Endpoint: введи свой внешний IP-адрес (найди его на сайте whatismyipaddress.com) и добавь :51820. Например: 123.45.67.89:51820
  • Allowed IPs: 0.0.0.0/0 — это значит «весь трафик идёт через VPN»

Сохрани. Включи туннель — и ты подключён.

Сравнение: Raspberry Pi vs Платные VPN

Критерий Raspberry Pi (свой сервер) Платный VPN (NordVPN, ExpressVPN и т.п.)
Скорость Зависит от твоего интернета (обычно 50–150 Мбит/с) Может быть медленнее из-за перегрузки серверов
Доступность Только если твой Pi включён и интернет работает Доступен 24/7, даже если ты в отпуске
Конфиденциальность Ты один знаешь, что происходит Ты доверяешь компании — и их политике
Стоимость Одноразово: 2000–3000 руб. 500–1500 руб./месяц
Управление Тебе нужно следить за обновлениями, перезагрузками, безопасностью Всё делают за тебя
Доступ из-за границы Да, если твой IP не заблокирован Да, но могут блокировать IP серверов

Что выбрать — если ты не технарь?

Если ты:

  • Хочешь просто безопасно смотреть видео в поездке — купи платный VPN на месяц. Сложно? Нет. Быстро? Да. И не нужно ничего настраивать.
  • Пользуешься VPN ежедневно и не хочешь платить каждый месяц — собирай Pi. Через год ты уже сэкономил больше, чем заплатил бы за сервис.
  • Ненавидишь технические настройки — не трогай Pi. Платные VPN с приложением на телефоне — твой выбор.
  • Хочешь контролировать всё, даже если это неудобно — Pi идеален. Ты не просто используешь VPN — ты его хозяин.

Частые ошибки — и как их избежать

  1. Не проброшен порт — самая частая ошибка. Ты подключаешься к серверу, но он не отвечает. Проверь: на сайте canyouseeme.org введи порт 51820. Если «FAILED» — порт не проброшен. Проверь роутер, убедись, что IP Pi не изменился.
  2. Неправильный DNS — если не указал DNS в приложении, интернет может не работать. Всегда ставь 1.1.1.1 или 8.8.8.8.
  3. Используешь Wi-Fi для Pi — если Pi подключён по Wi-Fi, а ты пробрасываешь порт — он может потерять IP при перезагрузке. Используй Ethernet.
  4. Забыл включить автозапуск — после перезагрузки Pi не запустит VPN. Команда sudo systemctl enable wg-quick@wg0 — обязательна.
  5. Используешь слабый блок питания — если Pi выключается или перезагружается сам — это не сбой системы. Это нехватка тока. Бери 3 А и официальный адаптер.

Как сделать лучше — советы от практика

  • Настрой статический IP для Pi — в настройках роутера назначь ему постоянный IP (например, 192.168.1.100), чтобы он не менялся при перезагрузке.
  • Используй DDNS, если у тебя динамический IP — если твой провайдер даёт тебе не фиксированный IP, а меняет его раз в неделю — используй бесплатный сервис вроде dynv6.com. Он привяжет твой IP к имени вроде твой_сервер.dynv6.net. В настройке WireGuard на телефоне вместо IP пиши это имя.
  • Обновляй систему раз в месяцsudo apt update && sudo apt upgrade. Без этого ты рискуешь остаться с уязвимостями.
  • Не открывай SSH наружу — если ты не используешь его извне, отключи его. В файле /etc/ssh/sshd_config замени PermitRootLogin yes на no и перезапусти службу: sudo systemctl restart ssh.
  • Сделай резервную копию конфигов — скопируй файлы /etc/wireguard/wg0.conf и ключи на флешку или в облако. Если Pi сломается — ты восстановишь всё за 10 минут.

Итог: что делать прямо сейчас

Если ты хочешь:

  • Попробовать и понять, стоит ли это того — купи Raspberry Pi 3B+ (около 1500 руб.) и MicroSD (500 руб.). Потратишь 2 часа — и у тебя будет работающий сервер. Если не понравится — продай на Avito за 1000 руб. Потеряешь 1000 — но узнаешь, как это работает.
  • Использовать VPN ежедневно и не платить каждый месяц — собирай сервер. Через 10–12 месяцев он окупится. И ты будешь знать, что твой трафик не продан рекламщикам.
  • Не тратить время на настройки — купи подписку на NordVPN или ProtonVPN. Скачай приложение — включи — и забудь. Это не хуже, если тебе не важен контроль.

Я не рекомендую ни один из вариантов как «лучший». Я рекомендую тот, который соответствует твоим целям. Если тебе важна простота — платный VPN. Если важна свобода и контроль — Raspberry Pi. И да, я сам пользуюсь Pi. Потому что когда я еду в командировку в Прагу — я не хочу, чтобы мой VPN-сервис блокировал мне доступ к Яндексу. А мой Pi — не знает, что такое Яндекс. Он просто шифрует трафик. И это работает.

Информация в статье носит ознакомительный характер. Настройка сервера и использование VPN могут иметь юридические последствия в зависимости от законодательства вашей страны. Перед использованием убедитесь, что это разрешено в вашем регионе.

Virtual SIM — eSIM и виртуальные номера по всему миру