Proton VPN Configs: настройка OpenVPN и WireGuard для роутеров, Docker и Linux

Подробное руководство по настройке Proton VPN configs: получение конфигурационных файлов, использование в OpenVPN, WireGuard, Docker (Gluetun) и Linux, фильтры серверов, проброс портов и устранение неполадок.

Что такое Proton VPN configs и зачем они нужны

Proton VPN configs — это конфигурационные файлы, которые позволяют подключаться к серверам Proton VPN с помощью сторонних клиентов и устройств, не используя официальные приложения. Они необходимы, когда вы хотите настроить VPN на роутере, в Docker-контейнере, на устройстве с нестандартной ОС или в сценариях, требующих тонкой настройки.

Официальные приложения Proton VPN удобны, но не всегда подходят для продвинутых пользователей. Например, для маршрутизации трафика отдельных приложений, автоматического переключения серверов или интеграции с домашней сетью требуются именно конфигурационные файлы. Они поддерживают два основных протокола: OpenVPN и WireGuard, каждый из которых имеет свои особенности.

OpenVPN — это проверенный временем протокол с широкой совместимостью, но он требует отдельных учётных данных (OpenVPN/IKEv2 username и password), которые отличаются от логина и пароля вашего аккаунта Proton VPN. WireGuard — более современный и быстрый протокол, использующий приватный ключ, который генерируется на сайте Proton VPN. Оба варианта доступны для скачивания в личном кабинете.

Как получить конфигурационные файлы Proton VPN

Чтобы скачать конфигурационные файлы, войдите в свой аккаунт Proton VPN на сайте account.protonvpn.com. Перейдите в раздел Downloads → OpenVPN configuration files или Downloads → WireGuard configuration. В зависимости от выбранного протокола вы увидите список стран и серверов.

Для OpenVPN важно выбрать правильную платформу (Windows, Linux, Android и т.д.), так как от этого зависит, будут ли включены в файл настройки, предотвращающие DNS-утечки. Также можно выбрать протокол UDP (рекомендуется для скорости) или TCP (полезен при медленном соединении, так как использует порт 443).

Для WireGuard достаточно сгенерировать конфигурацию, которая включает приватный ключ и список серверов. Обратите внимание, что приватный ключ одинаков для всех серверов, поэтому вы можете использовать один файл для подключения к любой локации, изменив лишь адрес сервера. Скачанные файлы можно использовать в любом клиенте, поддерживающем соответствующий протокол.

Настройка OpenVPN с Proton VPN configs на Linux

В Linux для подключения к Proton VPN через OpenVPN необходимо установить пакет openvpn. После установки скопируйте скачанные .ovpn файлы в каталог /etc/openvpn/client/ и сделайте резервную копию оригиналов. Затем выполните команду:

sudo openvpn /etc/openvpn/client/your-config.ovpn

При подключении система запросит OpenVPN/IKEv2 username и password, которые можно найти в личном кабинете Proton VPN в разделе Account → OpenVPN/IKEv2. Чтобы не вводить их каждый раз, создайте файл login.conf в том же каталоге, содержащий имя пользователя и пароль в двух строках, и добавьте в конфигурационный файл строку:

auth-user-pass /etc/openvpn/client/login.conf

Для автоматического запуска VPN при загрузке системы можно настроить systemd-сервис, как описано в документации OpenVPN. Также убедитесь, что весь трафик идёт через VPN, проверив маршруты и DNS.

Настройка WireGuard с Proton VPN configs на Linux

WireGuard — это более лёгкий и быстрый протокол, который набирает популярность. Для его использования в Linux установите пакеты wireguard-tools и systemd-resolvconf (последний необходим для корректной работы DNS). Скачайте конфигурационные файлы WireGuard с сайта Proton VPN и переместите их в каталог /etc/wireguard.

Имена файлов .conf не должны быть слишком длинными, иначе WireGuard может работать некорректно. Чтобы подключиться, выполните:

sudo wg-quick up /etc/wireguard/wgnet0.conf

Проверить статус соединения можно командой sudo wg, а для отключения используйте sudo wg-quick down /etc/wireguard/wgnet0.conf. Если вы хотите разрешить IPv6-трафик, вам потребуется изменить конфигурацию, следуя официальным инструкциям Proton VPN. По умолчанию серверы Proton VPN используют IPv6, но при использовании сторонних клиентов могут возникать утечки, поэтому рекомендуется отключить IPv6 или настроить его явно.

Использование Proton VPN configs в Docker с Gluetun

Gluetun — это популярный Docker-образ, который позволяет подключаться к VPN-провайдерам и предоставляет сетевой интерфейс для других контейнеров. Он поддерживает Proton VPN из коробки, используя встроенный список серверов, что избавляет от необходимости вручную скачивать конфигурационные файлы.

Для настройки Gluetun с Proton VPN вам понадобятся учётные данные OpenVPN (username и password) или приватный ключ WireGuard. В Docker Compose файл может выглядеть так:

services:
  gluetun:
    image: qmcgaw/gluetun
    cap_add:
      - NET_ADMIN
    devices:
      - /dev/net/tun
    environment:
      - VPN_SERVICE_PROVIDER=protonvpn
      - VPN_TYPE=wireguard
      - WIREGUARD_PRIVATE_KEY=your_private_key
      - SERVER_COUNTRIES=Netherlands

Gluetun автоматически выберет случайный сервер в указанной стране. Вы можете фильтровать серверы по регионам, городам, хостам, а также по функциям: бесплатные, для стриминга, Secure Core, Tor и с поддержкой проброса портов. Фильтры комбинируются по логике И, что позволяет точно настроить выбор.

Фильтрация серверов и выбор оптимальной локации

При использовании Proton VPN configs в Gluetun или вручную вы можете выбирать серверы по различным критериям. Основные фильтры включают:

  • Географические: страна, регион, город, точное имя хоста.
  • По функциям: бесплатные серверы, оптимизированные для стриминга, Secure Core (многохоповые), Tor-over-VPN, поддержка проброса портов.

Например, чтобы выбрать сервер в Нидерландах с поддержкой проброса портов, вы можете установить SERVER_COUNTRIES=Netherlands и PORT_FORWARD_ONLY=on. Если вам нужен Secure Core, используйте SECURE_CORE_ONLY=on и укажите страну входа и выхода.

Имейте в виду, что фильтр SERVER_HOSTNAMES является самым узким: если указанный хост будет удалён из списка серверов, контейнер не сможет подключиться. Поэтому его стоит использовать только при необходимости. Для просмотра доступных серверов и их свойств используйте команду просмотра списка серверов Gluetun.

Проброс портов (Port Forwarding) в Proton VPN

Проброс портов необходим для P2P-приложений, игровых серверов и некоторых других сервисов. Proton VPN поддерживает проброс портов для платных подписок, но порт назначается случайным образом. В Gluetun для включения проброса портов установите VPN_PORT_FORWARDING=on и рекомендуется PORT_FORWARD_ONLY=on, чтобы выбрать сервер, поддерживающий эту функцию.

Для OpenVPN необходимо добавить суффикс +pmp к вашему OpenVPN username (например, user123+pmp). Для WireGuard дополнительных изменений не требуется. Проброшенный порт будет записан в файл /gluetun/forwarded_port (если смонтирован том) и доступен через HTTP-контроллер по адресу GET /v1/portforward.

Если ваше приложение не умеет работать со случайными портами, Gluetun поддерживает перенаправление трафика с проброшенного порта на фиксированный локальный порт. Однако учтите, что некоторые P2P-приложения транслируют порт, на котором слушают, что может не совпадать с проброшенным, и это может вызвать проблемы с подключением.

Secure Core и Moderate NAT: дополнительные возможности

Secure Core — это функция Proton VPN, которая маршрутизирует трафик через несколько стран для повышения конфиденциальности. В Gluetun для использования Secure Core установите SECURE_CORE_ONLY=on и укажите географические фильтры. Также можно задать конкретный хост в формате {entry-country}-{exit-country}-{server-number}.protonvpn.com, например ch-us-01a.protonvpn.com для входа через Швейцарию и выхода в США.

Moderate NAT (NAT Type 2) — это функция для платных подписчиков, которая улучшает совместимость с P2P и играми, используя менее строгий NAT. Для OpenVPN добавьте суффикс +nr к вашему username (можно комбинировать с +pmp, например user+pmp+nr). Для WireGuard необходимо сгенерировать новый конфигурационный файл на сайте Proton VPN с включённой опцией Moderate NAT и использовать полученный приватный ключ.

Эти функции могут быть полезны для геймеров и пользователей, которым нужна максимальная конфиденциальность, но они требуют платной подписки.

Устранение неполадок и защита от утечек

При использовании Proton VPN configs могут возникать типичные проблемы. Если официальный клиент Proton VPN не подключается с ошибкой "Unknown reason occurred", убедитесь, что установлены NetworkManager и network-manager-applet, и они запущены. Для сторонних клиентов проверьте, что вы используете правильные учётные данные OpenVPN (не путайте с логином аккаунта).

Утечки IPv6 — распространённая проблема при ручной настройке. Серверы Proton VPN по умолчанию поддерживают IPv6, но если ваш клиент не настроен должным образом, возможны утечки. Рекомендуется отключить IPv6 или настроить его явно, следуя документации вашей ОС. Для WireGuard можно изменить конфигурацию, чтобы разрешить IPv6-трафик, но это требует дополнительных шагов.

Также проверьте, что DNS-запросы не выходят за пределы VPN-туннеля. В конфигурационных файлах OpenVPN, скачанных с сайта Proton VPN, обычно уже включены настройки для предотвращения DNS-утечек, но при использовании сторонних клиентов это может потребовать ручной настройки.

Автоматизация и запуск только нужных приложений через VPN

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

Это позволяет, например, запускать торрент-клиент через VPN, а браузер — без VPN. Для настройки vopono потребуется скачать конфигурационные файлы Proton VPN и указать их в настройках инструмента. Альтернативно, можно вручную настроить маршрутизацию с помощью iptables и ip rules, но это сложнее.

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

Вопросы и ответы

Чем отличаются учётные данные OpenVPN от обычного логина Proton VPN?

Для подключения через OpenVPN или IKEv2 Proton VPN использует отдельные учётные данные, которые не совпадают с логином и паролем вашего аккаунта. Их можно найти в личном кабинете в разделе Account → OpenVPN/IKEv2. Имя пользователя обычно имеет формат username+suffix, а пароль можно сгенерировать или скопировать. Эти данные нужны для аутентификации в сторонних клиентах OpenVPN.

Можно ли использовать один WireGuard-ключ для всех серверов Proton VPN?

Да, приватный ключ WireGuard, сгенерированный в личном кабинете Proton VPN, одинаков для всех серверов. Вы можете использовать его в конфигурационном файле, меняя только адрес сервера (Endpoint) для подключения к разным локациям. Это удобно, если вы хотите быстро переключаться между странами без генерации новых ключей.

Как включить проброс портов в Proton VPN при использовании OpenVPN?

Для проброса портов в OpenVPN необходимо добавить суффикс +pmp к вашему OpenVPN username. Например, если ваш username user123, то в конфигурации укажите user123+pmp. Также убедитесь, что выбранный сервер поддерживает проброс портов (в Gluetun используйте фильтр PORT_FORWARD_ONLY=on). Проброшенный порт будет случайным и доступен через файл или HTTP-контроллер.

Что такое Secure Core и как его настроить в Gluetun?

Secure Core — это функция Proton VPN, которая маршрутизирует трафик через несколько стран для повышения конфиденциальности. В Gluetun установите SECURE_CORE_ONLY=on и при необходимости укажите географические фильтры. Также можно задать конкретный хост в формате {entry-country}-{exit-country}-{server-number}.protonvpn.com, например ch-us-01a.protonvpn.com для входа через Швейцарию и выхода в США.

Почему возникают утечки IPv6 и как их предотвратить?

Утечки IPv6 возникают, когда VPN-клиент не маршрутизирует IPv6-трафик через туннель, и он уходит напрямую через ваш интернет-провайдер. Proton VPN поддерживает IPv6, но при ручной настройке это может быть не настроено. Чтобы предотвратить утечки, отключите IPv6 на вашем устройстве или настройте его маршрутизацию через VPN. Для WireGuard можно изменить конфигурацию, добавив правила для IPv6.

Можно ли использовать Proton VPN configs на роутере?

Да, Proton VPN предоставляет конфигурационные файлы OpenVPN и WireGuard, которые можно использовать на роутерах с поддержкой этих протоколов. На сайте Proton VPN есть отдельные инструкции для настройки на роутерах. Также можно использовать Gluetun в Docker на роутерах с поддержкой Docker, что упрощает управление и фильтрацию серверов.

Как запустить только определённые приложения через Proton VPN в Linux?

Для этого можно использовать инструмент vopono, который создаёт сетевые пространства имён и запускает приложения только через VPN. Скачайте конфигурационные файлы Proton VPN, настройте vopono и укажите, какие приложения должны работать через VPN. Альтернативно, можно вручную настроить маршрутизацию с помощью iptables, но это сложнее.