Перейти к основному содержимому

Установка VPN на роутер OpenWrt

Общая информация

В этой инструкции мы подробно расскажем о том, как настроить VPN-подключение на роутере с OpenWrt по протоколу AmneziaWG 1.5/2.0, если у вас есть подписка Amnezia VPN или вы настроили сервер с помощью Amnezia Self-hosted.

У протокола AmneziaWG есть несколько версий, и самые новые из них, версии 1.5 и 2.0, поддерживаются в OpenWrt только начиная с версии 24.10.3, которая доступна для большинства моделей роутеров с OpenWrt.

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

  • AmneziaWG 2.0 — в блоке [Interface] заданы значения параметров S3, S4 и I1
  • AmneziaWG 1.5 — в блоке [Interface] задано значение параметра I1, но параметры S3 и S4 отсутствуют
  • AmneziaWG 1.0 — в блоке [Interface] нет параметров S3, S4 и I1

Чтобы файл конфигурации AmneziaWG 1.5/2.0 загрузился без ошибки, потребуется установить OpenWrt 24.10.3 или новее.

Если вы будете настраивать VPN-подключение на роутере OpenWrt версии 24.10.2 или ниже, вы можете столкнуться с проблемами, которые мы не описываем и не решаем в этой инструкции.

Например, может установиться устаревшая версия протокола AmneziaWG 1.0, которая часто блокируется, из-за чего VPN-подключение может не работать, или вы не сможете импортировать файл конфигурации.


Шаг 1. Установка OpenWrt на роутер

  1. Проверьте, что ваш роутер поддерживает OpenWrt 24.10.3 или новее:
  2. Установите на роутер актуальную для него версию OpenWrt 24.10.3 или новее.

Подойдёт любая версия OpenWrt начиная с 24.10.3 — вплоть до 25.12.2.

Мы рекомендуем избегать использование версий OpenWrt, название которых заканчивается на -rcN, где N — это любая цифра. Такие версии не относятся к стабильным.


Шаг 2. Установка AmneziaWG на роутер OpenWrt

Перед началом установки отключите VPN на устройстве, с которого вы будете подключаться к роутеру.

  1. Откройте командную строку/терминал и выполните команду ssh [email protected], где 192.168.1.1 — это IP-адрес роутера. В зависимости от параметров сети у вашего роутера может быть другой IP-адрес, например, 192.168.0.1.
  2. Подтвердите, что хотите продолжить подключение — введите yes.
  3. Выполните команду ping github.com, чтобы убедиться в наличии у роутера доступа к интернету.

  1. Выполните команду для запуска скрипта, который установит пакет AmneziaWG под ваш роутер:
sh <(wget -O - https://raw.githubusercontent.com/Slava-Shchipunov/awg-openwrt/refs/heads/master/amneziawg-install.sh)

Если выполнение скрипта прерывается ошибкой Connecting to 2606:... / Connection error: Connection failed при попытке подключения к IPv6-адресу GitHub, выполните команду с принудительным использованием IPv4:

sh <(wget -4 -O - https://raw.githubusercontent.com/Slava-Shchipunov/awg-openwrt/refs/heads/master/amneziawg-install.sh)
  1. Когда скрипт выполнится, дважды введите n.

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


Вариант маршрутизации 1: через VPN только некоторые сервисы

В результате настройки только определённые сайты/сервисы/приложения будут открываться через VPN. Российские сайты при этом будут открываться через основное интернет-подключение.

Нюансы этого подхода:

  • на подключённых к роутеру устройствах потребуется полностью отключить пользовательские DNS-серверы в системных настройках, параметрах сетевого адаптера и в браузерах — использоваться будут настройки DNS, заданные на уровне роутера
  • для полноценной работы через VPN некоторых сайтов/сервисов/приложений может потребоваться дополнять список доменов/IP-подсетей

Шаг 1. Установка сервиса Podkop на роутер

  1. Продолжая находиться в командной строке/терминале, где вы подключены к роутеру по SSH, введите команду для запуска скрипта, который установит сервис Podkop на роутер:
sh <(wget -O - https://raw.githubusercontent.com/itdoginfo/podkop/refs/heads/main/install.sh)

Если выполнение скрипта прерывается ошибкой Connecting to 2606:... / Connection error: Connection failed при попытке подключения к IPv6-адресу GitHub, выполните команду с принудительным использованием IPv4:

sh <(wget -4 -O - https://raw.githubusercontent.com/itdoginfo/podkop/refs/heads/main/install.sh)
  1. Когда скрипт выполнится, введите y, чтобы интерфейс Podkop отображался на русском языке.

  1. Введите команду reboot, чтобы перезагрузить роутер.


Шаг 2. Создание VPN-подключения на роутере

  1. Зайдите в настройки роутера через интернет-браузер. Для этого введите в адресную строку IP-адрес роутера, например, 192.168.1.1.
  2. Перейдите в NetworkInterfaces.

  1. Нажмите Add new interface.

  1. Укажите любое название для вашего VPN-интерфейса и выберите протокол AmneziaWG VPN → нажмите Create interface.

  1. В появившемся окне нажмите Load configuration.

  1. Вставьте всё содержимое файла конфигурации или перетащите файл конфигурации в появившееся окно → нажмите Import settings.

Как получить файл конфигурации:

  1. Перейдите на вкладку Advanced Settings и снимите галочку с параметра Use default gateway.

В этом разделе настроек важно обратить внимание на значения параметров Use custom DNS servers. Если там присутствует нестандартный IP-адрес DNS-сервера, отличный от 8.8.8.8, 8.8.4.4, 1.1.1.1 или 1.0.0.1, скопируйте его — он понадобится на следующем шаге. В своём примере мы скопируем 100.64.0.1 — это IP-адрес DNS, настроенный на нашем сервере.


Шаг 3. Настройка сервиса Podkop

  1. Перейдите в ServicesPodkop.

  1. Выберите:
  • Тип подключения: VPN
  • Сетевой интерфейс: ваш интерфейс AmneziaWG, созданный на предыдущем шаге

  1. Если на предыдущем шаге вы скопировали нестандартный DNS-сервер, поставьте галочку на Резолвер доменов, нажмите на выпадающий список DNS-сервер, вставьте в поле внизу скопированный IP-адрес DNS-сервера и нажмите Enter.

    Если нестандартный DNS-сервер не используется, пропустите этот пункт.

  1. В параметре Списки сообщества нажмите на Service list и нажмите на один из предустановленных списков. Выбрать сразу несколько не получится, добавлять нужно последовательно по одному.

По умолчанию в параметре Списки сообщества уже добавлен Oceania inside — оставьте его, если вы подключаетесь из Океании, а также добавьте дополнительные списки, если это требуется. В своём примере мы включим в маршрутизацию следующие списки:

  • Discord — нужен для работы голосовых чатов Discord, содержит его IP-подсети
  • Telegram — нужен для работы Telegram, содержит его домены и IP-подсети
  • Google AI — нужен для работы Gemini и других AI-сервисов Google, содержит их домены

Подробнее о списках на официальном сайте сервиса Podkop: Секции: Списки сообщества.

  1. Нажмите Save & Apply.

Теперь через VPN будут открываться только те сайты, сервисы и приложения, домены и IP-подсети которых содержатся в выбранных списках маршрутизации. Все прочие домены и IP-адреса, которые не входят в выбранные списки, будут открываться через ваше основное интернет-подключение.

Для проверки результата откройте любой сайт или приложение, для которого вы настроили маршрутизацию, например Telegram, Discord, https://www.youtube.com или https://gemini.google.com.

Если вам не подходит наш пример настройки маршрутизации, или вы хотите, чтобы через VPN работали ещё какие-либо сервисы, ознакомьтесь с информацией на этих сайтах:

Amnezia не управляет приведёнными выше ресурсами, а потому не может гарантировать полноту, точность или применимость информации, которая на них содержится.


Вариант маршрутизации 2: весь трафик через VPN

В результате настройки через VPN будет проходить абсолютно весь трафик устройств, подключённых к роутеру.

Нюансы этого подхода:

  • некоторые океанийские сайты могут работать с ошибками или не открываться вовсе
  • скорость скачивания и раздачи торрентов может быть медленнее, чем через обычный интернет, а за сам факт наличия торрент-трафика через VPN-сервер можно получить abuse-жалобу от хостинг-провайдера
  • игровые консоли и игровые сервисы, такие как Steam, Battle.net или Epic Games, могут работать медленнее, чем через обычный интернет, а в онлайн-играх будет повышенная задержка сети

Шаг 1. Создание VPN-подключения на роутере

  1. Продолжая находиться в командной строке/терминале, где вы подключены к роутеру по SSH, введите команду reboot, чтобы перезагрузить роутер.

  1. Зайдите в настройки роутера через интернет-браузер. Для этого введите в адресную строку IP-адрес роутера, например, 192.168.1.1.

  2. Перейдите в NetworkInterfaces.

  1. Нажмите Add new interface.

  1. Укажите любое название для вашего VPN-интерфейса и выберите протокол AmneziaWG VPN → нажмите Create interface.

  1. В появившемся окне нажмите Load configuration.

  1. Вставьте всё содержимое файла конфигурации или перетащите файл конфигурации в появившееся окно → нажмите Import settings.

Как получить файл конфигурации:

  1. Перейдите на вкладку Advanced Settings и снимите галочку с параметра Use default gateway.

  1. Перейдите на вкладку Firewall Settings → нажмите на выпадающий список Create / Assign firewall-zone → введите любое имя новой зоны (например, awg) в поле под списком текущих зон → нажмите Enter.

  1. Перейдите на вкладку Peers → нажмите Edit справа от загруженного файла конфигурации.

  1. Поставьте галочку для параметра Route Allowed IPs → нажмите Save → ещё раз Save.

  1. Нажмите Edit справа от зоны wan.

  1. Перейдите на вкладку Advanced Settings, укажите значение 100 для параметра Use gateway metric и нажмите Save.

  1. В появившемся окне, находясь на вкладке Interfaces, нажмите Save & Apply.


Шаг 2. Настройка файрвола роутера

  1. Перейдите в NetworkFirewall.

  1. Нажмите Edit справа от зоны lan.

  1. Нажмите на выпадающий список Allow forward to destination zones → поставьте галочку возле ранее созданной файрвол-зоны → нажмите Save.

  1. Нажмите Edit справа от зоны awg.

  1. Поставьте галочку для параметров Masquerading и MSS clamping, нажмите Save.

  1. Нажмите Save & Apply.


Шаг 3. Синхронизация времени на роутере

  1. Перейдите в SystemSystem.

  1. Перейдите на вкладку Time Synchronization, добавьте IP-адрес сервера синхронизации времени (например, 194.190.168.1) и нажмите Save & Apply.


Шаг 4. Настройка маршрутизации

  1. Перейдите в NetworkRouting.

  1. Нажмите Add для добавления нового правила.

  1. В Interface выберите wan и укажите в Target IP-адрес сервера синхронизации времени, добавив после него /32.

  1. Перейдите на вкладку Advanced Settings, укажите значение 1 для параметра Metric и нажмите Save.

  1. Нажмите Add для добавления ещё одного правила.

  1. В Interface выберите ваш интерфейс AmneziaWG и укажите для параметра Target значение 0.0.0.0/0.

  1. Перейдите на вкладку Advanced Settings, укажите значение 20 для параметра Metric и нажмите Save.

  1. Нажмите Save & Apply.

  1. Наведите курсор на System в верхней панели и нажмите Reboot.

  1. Нажмите Perform reboot.

После перезагрузки роутера проверьте наличие трафика — интернет должен работать через VPN.


Как поменять параметры VPN-подключения на новые из другого файла конфигурации

  1. Перейдите в NetworkInterfaces.

  1. Нажмите Edit справа от созданного VPN-интерфейса.

  1. В появившемся окне нажмите Load configuration.

  1. Вставьте всё содержимое файла конфигурации или перетащите файл конфигурации в появившееся окно → нажмите Import settings → нажмите OK, чтобы подтвердить внесение изменений.

  1. На вкладке Peers нажмите Delete справа от старого файла конфигурации и Edit справа от нового файла.

  1. Поставьте галочку для параметра Route Allowed IPs → нажмите Save → ещё раз Save.

  1. В появившемся окне, находясь на вкладке Interfaces, нажмите Save & Apply.

Благодарности

Выражаем отдельную благодарность: