Как собрать VPN-тревел-роутер на Raspberry Pi
Важное: Raspberry Pi не спасёт от уязвимостей на самом устройстве — обновляйте пакеты и используйте сильные пароли.

Введение
Подключаться к открытым Wi‑Fi сетям без защиты — рискованно. VPN защищает трафик, но если у вас несколько устройств, каждый должен подключаться отдельно. Решение — превратить Raspberry Pi в портативный маршрутизатор, через который все ваши устройства будут ходить в интернет через VPN. Это даёт централизованную защиту и удобство: достаточно подключиться к одной защищённой сети.
В этой статье пошагово объясняется, что нужно, как установить OpenWRT, настроить интерфейсы, подключить VPN, обойти captive portal (публичные порталы авторизации), а также как тестировать и закрепить безопасность. Включены чек‑листы, варианты отладки и план действий на случай проблем.
Для кого это подходит
- Путешественники, которые носят с собой ноутбук, телефон и планшет и хотят иметь единый защищённый выход в сеть.
- Техники и инженеры, которым нужен лёгкий и управляемый VPN‑роутер.
- Любители DIY, желающие получить портативную сеть с минимальным весом и энергопотреблением.
Краткое определение: VPN — это шифрованный туннель между вашим устройством и сервером провайдера, который скрывает трафик от локальной сети.
Что потребуется
- Raspberry Pi (рекомендуется Pi 3 или Raspberry Pi Zero W) и защитный корпус.
- Один USB Wi‑Fi адаптер (или два, если модель Pi не имеет встроенного Wi‑Fi или если адаптер не поддерживает режимы одновременно).
- microSD карта минимум 8 ГБ, кардридер.
- Качественный блок питания для Raspberry Pi.
- ПК с SSH‑клиентом (на Windows — PuTTY или встроенный OpenSSH в PowerShell) и SCP клиентом (WinSCP или scp в терминале).
- Подписка на VPN с поддержкой OpenVPN и файл конфигурации .ovpn.
Важно: некоторые USB‑адаптеры не поддерживают режимы Access Point и Client одновременно; в таких случаях нужен второй адаптер.
Выбор модели и совместимость
Совет: если вы часто путешествуете и хотите компактность — выбирайте Raspberry Pi Zero W + отдельный USB‑адаптер. Если предпочитаете производительность и стабильность — Pi 3 или выше.
Таблица совместимости (ориентировочно):
- Raspberry Pi Zero W: встроенный Wi‑Fi (может быть использован как AP или Client), но ограничен в количестве интерфейсов; часто нужен USB‑адаптер.
- Raspberry Pi 3/4: встроенный Wi‑Fi + USB порты — лучше для dual‑radio конфигураций.
Совместимость с OpenWRT зависит от версии ОС; проверяйте страницу OpenWRT для вашей модели.
Шаг 1: Установка OpenWRT на microSD
- Скачайте актуальный образ OpenWRT для вашей модели Raspberry Pi с вики OpenWRT.
- Распакуйте архив (7zip, unzip).
- Запишите образ на microSD с помощью Etcher или аналогичного инструмента.
Инструкция для Etcher:
- Выберите файл образа (.img).
- Выберите карту памяти (убедитесь, что выбран правильный диск).
- Нажмите «Flash» и дождитесь окончания.
После завершения вставьте microSD в Raspberry Pi и запустите устройство.
Совет: при первой загрузке некоторые образы расширяют файловую систему автоматически; дайте устройству пару минут.
Шаг 2: Первичная конфигурация по SSH
OpenWRT по умолчанию использует IP 192.168.1.1. Чтобы избежать конфликтов с вашей локальной сетью, мы сменим LAN IP на 192.168.38.1.
- Подключите Raspberry Pi к ПК кабелем Ethernet.
- На ПК временно назначьте статический IP в сети 192.168.1.x (например, 192.168.1.2/24) если нужно, чтобы иметь доступ к 192.168.1.1.
- Подключитесь по SSH: ssh root@192.168.1.1 (или используйте PuTTY на Windows).
При первом подключении согласитесь с предупреждением RSA ключа и задайте пароль командой:
passwdРедактирование сетевых файлов
Откройте файл конфигурации сети:
vim /etc/config/networkНажмите I для перехода в режим вставки и замените/дополните содержимое следующим конфигом (здесь мы меняем LAN на 192.168.38.1 и добавляем интерфейсы wwan и vpnclient):
config interface 'loopback'
option ifname 'lo'
option proto 'static'
option ipaddr '127.0.0.1'
option netmask '255.0.0.0'
config interface 'lan'
option type 'bridge'
option ifname 'eth0'
option force_link '1'
option proto 'static'
option ipaddr '192.168.38.1'
option netmask '255.255.255.0'
option ip6assign '60'
config interface 'wwan'
option proto 'dhcp'
option peerdns '0'
option dns '8.8.8.8 8.8.4.4'
config interface 'vpnclient'
option ifname 'tun0'
option proto 'none'Сохраните и выйдите: нажмите Esc, затем введите :wq и Enter.
Отредактируйте брандмауэр:
vim /etc/config/firewallНайдите или добавьте секцию для зоны wan, чтобы она выглядела так:
config zone
option name wan
option network 'wan wan6 wwan'
option input ACCEPT
option output ACCEPT
option forward REJECT
option masq 1
option mtu_fix 1Затем перезагрузите систему:
rebootПосле перезагрузки LAN‑IP OpenWRT будет 192.168.38.1.
Шаг 3: Обновление пакетов и драйверов
Теперь подключитесь к Wi‑Fi сети с Raspberry Pi, чтобы иметь доступ в интернет и обновить пакеты.
- Измените IP вашего ПК на тот же подсети, например 192.168.38.2/24.
- Откройте браузер и введите http://192.168.38.1 для доступа в LuCI (веб‑интерфейс OpenWRT).
- На вкладке Network → Wireless выполните Scan и Join для вашей домашней/гостевой сети, введите пароль WPA.
- В Advanced Settings установите правильный Country Code.
Перезапустите SSH‑сессию, подключившись к новому IP, и обновите пакеты:
opkg updateПодтвердите установку при появлении запроса Y.
Установка драйверов USB Wi‑Fi и OpenVPN
Если у вас RT2870‑совместимый адаптер, можно установить пакеты так:
opkg install kmod-rt2800-lib kmod-rt2800-usb kmod-rt2x00-lib kmod-rt2x00-usb kmod-usb-core kmod-usb-uhci kmod-usb-ohci kmod-usb2 usbutils openvpn-openssl luci-app-openvpn nano
ifconfig wlan1 up
rebootЕсли адаптер другой, выполните сначала базовые пакеты и lsusb для определения устройства:
opkg install kmod-usb-core kmod-usb-uhci kmod-usb-ohci kmod-usb2 usbutils
lsusbПоищите по идентификатору устройства (Vendor:Product) в интернете и найдите пакет kmod для соответствующего чипсета.
Подсказка: иногда нужно установить дополнительные пакеты для поддержки hostapd или wpa_supplicant в зависимости от чипсета.
Шаг 4: Настройка точки доступа и клиентского Wi‑Fi
В LuCI вы увидите radio0 (встроенный модуль) и radio1 (USB‑адаптер). Конфигурация будет следующей:
- radio0 — режим Access Point, сеть lan, ESSID по вашему выбору, WPA2‑PSK.
- radio1 — режим Client (join) — подключается к внешней Wi‑Fi как wwan.
Пошагово:
- В LuCI → Network → Wireless нажмите Add на radio0.
- Установите Mode = Access Point.
- ESSID = имя вашей новой защищённой сети (например TravelVPN).
- Network = lan.
- Wireless Security: Encryption = WPA2‑PSK, введите Key.
- Save and Apply.
Для radio1 выполните Join network, введите пароль от хоста, сохраните. Это позволит Pi подключаться к внешнему Wi‑Fi и получать интернет для всех клиентов вашей точки доступа.
Проверьте подключение с телефона: подключитесь к вашей новой сети и попробуйте открыть страницу — если всё работает, отключите Ethernet.
Шаг 5: Подключение OpenVPN
Загрузите ваш .ovpn файл от VPN‑провайдера на Raspberry Pi. Используйте WinSCP или scp:
scp vpnclient.ovpn root@192.168.38.1:/etc/openvpn/vpnclient.ovpnЗатем в LuCI → Services → OpenVPN импортируйте профиль или создайте конфиг, ссылающийся на /etc/openvpn/vpnclient.ovpn. Альтернативно можно настроить вручную через /etc/config/openvpn.
Убедитесь, что в конфигурации используется tun0 (или соответствующий интерфейс) и что интерфейс vpnclient в /etc/config/network настроен как option ifname ‘tun0’ и proto ‘none’ (как выше).
После включения сервиса OpenVPN проверьте статус в LuCI: vpnclient должен показываться как Started = yes.
Проверьте внешний IP с любого клиента, подключённого к вашей точке доступа: посетите страницу проверки IP (например ipinfo.io) и убедитесь, что адрес соответствует VPN‑серверу.
Если IP не поменялся, перезагрузите Pi и проверьте логи OpenVPN (logread или /var/log/openvpn.log) для диагностики.
Шаг 6: Авторизация через публичный портал (captive portal)
Многие гостиницы и аэропорты требуют авторизации через captive portal. Когда OpenVPN запущен автоматически, портал не отобразится — соединение будет блокировано. Решение: временно клонировать MAC адрес вашего телефона (или другого устройства), пройти авторизацию, затем вернуть MAC обратно или оставить клонированный MAC.
Создадим скрипт, который при старте подставляет нужный MAC для wwan (поменяйте XX:XX… на MAC вашего телефона):
nano /etc/init.d/wan-changerВставьте:
#!/bin/sh /etc/rc.common
START=10
start() {
uci set wireless.@wifi-iface[1].macaddr='XX:XX:XX:XX:XX:XX'
uci commit network
}Сделайте скрипт исполняемым и включите автозапуск:
chmod +x /etc/init.d/wan-changer
/etc/init.d/wan-changer enable
rebootПосле перезагрузки адаптер будет иметь ваш клонированный MAC, вы сможете авторизоваться через портал с телефона, и затем все устройства подключённые к Pi получат доступ.
Важно: клонирование MAC может нарушать правила некоторых сетей; используйте с осторожностью.
Тестирование и проверка утечек
Проверьте следующие пункты:
- Пингуется ли VPN‑сервер с Pi: ping -c 3
- Статус OpenVPN: logread | grep openvpn или проверка в LuCI
- Тест DNS‑утечек: подключитесь к вашему VPN и посетите страницу проверки DNS (н-р, dnsleaktest.com) — убедитесь, что DNS‑запросы идут через VPN
- Проверка IP: сравните внешний IP до и после подключения к VPN
Критерии приёмки:
- Все подключаемые клиенты получат маршрутизацию через tun0.
- Веб‑страницы загружаются без редиректов на внешний IP.
- DNS‑утечек нет.
Безопасность и лучшие практики
- Всегда меняйте пароль root и пароль Wi‑Fi сети.
- По возможности используйте ключи TLS/ сертификаты для OpenVPN вместо простых паролей.
- Отключите неиспользуемые службы (FTP, Telnet и т. п.).
- Регулярно обновляйте пакеты opkg: opkg update && opkg list-upgradable | xargs -r opkg upgrade
- Используйте UFW или встроенные правила firewall в OpenWRT для ограничения входящих соединений.
Риск‑матрица (качественная):
- Уязвимость в OpenWRT: риск средний — смягчение: обновления и минимизация установленных пакетов.
- Компрометация VPN учётных данных: риск высокий — смягчение: использование сертификатов и сложных паролей.
- DNS‑утечка: риск умеренный — смягчение: настройка DNS через VPN и проверка при старте.
Отладка частых проблем
- Нет интернет‑доступа у клиентов: проверьте, что wwan имеет интернет и что NAT включён (option masq 1 в firewall).
- OpenVPN не стартует: проверьте логи, правильность путей к .ovpn и наличие openvpn‑openssl.
- USB‑адаптер не виден: проверьте lsusb и установленные kmod пакеты, перезагрузите устройство.
Мини‑сценарии тестирования (acceptance):
- Подключить телефон к точке доступа Pi и убедиться, что web‑трафик идёт через VPN.
- Перезагрузить Pi и подтвердить, что OpenVPN автоматически стартует и клиенты получают доступ.
- Смоделировать смену Wi‑Fi — подключиться к новой сети через LuCI → Wireless и проверить работоспособность.
Роли и чек‑листы
Для путешественника:
- Упаковать Raspberry Pi, кабель питания, USB адаптер, microSD с OpenWRT.
- Перед поездкой проверить обновления и работоспособность VPN.
- Запомнить пароль к LuCI и ESSID.
Для системного администратора:
- Автоматизировать бэкапы /etc/config/*.
- Настроить мониторинг статуса OpenVPN и логирование.
- Настроить резервный профиль VPN на случай недоступности сервера.
Для новичка:
- Пройти шаги по установке OpenWRT трижды дома, пока всё не станет привычным.
- Выполнить базовый тест DNS и IP перед поездкой.
Альтернативные подходы
- Использовать стандартный ноутбук в режиме маршрутизатора (Windows / macOS): проще для начала, но менее энергоэффективно.
- Покупка готового travel‑роутера с поддержкой OpenVPN: удобнее, но дороже и менее гибко.
- Использовать мобильный телефон с функцией VPN и раздачей Wi‑Fi: самый простой вариант, но уровень контроля и гибкости ниже.
Когда это не подойдёт:
- Если вам нужна высокая пропускная способность (например, потоковое 4K) — Raspberry Pi Zero/3 может быть узким местом.
- Если провайдер не поддерживает OpenVPN — придётся искать WireGuard или иной протокол и переделывать конфигурацию.
Планы на случай инцидента и отката
Стандартный план восстановления:
- Если OpenVPN не стартует, отключите автозапуск и подключитесь напрямую к внешней сети.
- Откат конфигурации: восстановите /etc/config/* из резервной копии.
- Если устройство не загружается, смонтируйте microSD на компьютере и откатите образ.
Rollback: сохраняйте последний рабочий образ microSD (dd или использование backup‑функций в OpenWRT LuCI).
Краткий чек‑лист перед поездкой
- Образ OpenWRT записан и проверен.
- VPN профиль загружен и проверен.
- Wi‑Fi AP настроен, ключ известен.
- Тесты DNS и IP пройдены.
- Наличие запасного USB‑адаптера и кабелей.
Дополнительные заметки по приватности и соответствию локальному законодательству
- Убедитесь, что использование VPN и клонирование MAC адресов не нарушает правил гостиницы или законодательства страны пребывания.
- OpenWRT хранит логи — при необходимости отключайте/минимизируйте запись логов для защиты приватности.
Пример схемы принятия решения (Mermaid)
flowchart TD
A[Выбираете Raspberry Pi?] --> B{Нужен компактный размер}
B -- Да --> C[Выберите Pi Zero W + USB адаптер]
B -- Нет --> D[Pi 3/4 для стабильности]
C --> E{Адаптер поддерживает AP+Client?}
E -- Да --> F[Нужен 1 USB адаптер]
E -- Нет --> G[Берём 2 адаптера]
D --> F
F --> H[Устанавливаем OpenWRT и настраиваем]
G --> HГлоссарий — 1‑строчные определения
- OpenWRT: легковесная Linux‑сборка для маршрутизаторов.
- LuCI: веб‑интерфейс OpenWRT.
- wwan: беспроводной интерфейс как клиент внешней сети.
- AP: точка доступа для ваших устройств.
- tun0: виртуальный сетевой интерфейс VPN.
Социальные тексты
OG заголовок: Raspberry Pi как VPN‑тревел‑роутер
OG описание: Превратите Raspberry Pi в портативный маршрутизатор с OpenWRT и OpenVPN — защищайте все устройства в поездке.
Короткое объявление (100–200 слов):
Создайте собственный VPN‑тревел‑роутер на базе Raspberry Pi и OpenWRT. Это компактное решение позволит всем вашим устройствам в поездке выходить в интернет через шифрованный VPN‑туннель, без настройки каждого устройства по отдельности. Руководство подробно описывает выбор железа, установку OpenWRT, настройку двух радиоинтерфейсов (точка доступа и клиент), импорт .ovpn от провайдера, обход captive portal и проверку утечек DNS. Включены чек‑листы, тесты приёмки и план отката. Идеально для путешественников, техников и энтузиастов DIY.
Резюме
- Raspberry Pi + OpenWRT дают портативный VPN‑роутер, удобный для путешествий.
- Необходимы как минимум один USB‑адаптер (или два при ограничениях) и .ovpn от провайдера.
- Ключевые шаги: установить OpenWRT, настроить сеть и брандмауэр, поднять AP, подключить OpenVPN, пройти авторизацию captive portal через клон MAC.
- Обязательно тестируйте DNS/IP и применяйте меры безопасности: обновления, сильные пароли, минимизация логов.
Короткие выводы:
- Это баланс между стоимостью, портативностью и контролем над соединением.
- Для большинства путешественников решение удобно и безопасно при соблюдении правил эксплуатации.
Спасибо за чтение — безопасных путешествий и надёжного соединения.