Как настроить NordLayer WireGuard на iPhone и Android
Практическое руководство по импорту туннеля NordLayer WireGuard на устройства iOS и Android, проверке рукопожатия и выходного адреса, а также устранению проблем, характерных для мобильных устройств, которые нарушают соединения WireGuard.
Обзор
NordLayer WireGuard предоставляет туннели WireGuard корпоративного уровня через выделенные шлюзы с фиксированной ежемесячной оплатой, что подходит командам, которым нужно, чтобы несколько сотрудников подключались с телефонов и планшетов, а не с управляемых ноутбуков. Поскольку WireGuard — это стандартный протокол, рабочий процесс на мобильных устройствах одинаков, независимо от того, поступают ли ваши туннели от NordLayer или от другого провайдера с поддержкой WireGuard: вы импортируете конфигурацию пира, поднимаете туннель и убеждаетесь, что трафик действительно выходит через шлюз.
В этом руководстве рассматриваются официальные клиенты WireGuard на iOS и Android, методы импорта, поддерживаемые каждой платформой, а также шаги проверки и устранения неполадок, которые помогают выявить наиболее распространенные сбои на мобильных устройствах.
Предварительные требования
- Активное место или учетная запись NordLayer, выданная администратором вашей организации, с созданным пиром WireGuard для этого конкретного устройства.
- Детали туннеля: закрытый ключ интерфейса, адрес туннеля, DNS-резолвер, открытый ключ шлюза и конечная точка шлюза (хост и UDP-порт).
- Либо QR-код, либо файл
.conf, предоставленный тем, кто управляет шлюзом. - Официальный клиент WireGuard, установленный из App Store или Google Play.
- Разрешение на добавление VPN-конфигурации на устройство. На телефонах под управлением MDM это может быть заблокировано до одобрения администратором.
Что делает каждое поле
| Поле | Пример | Назначение |
|---|---|---|
PrivateKey |
строка base64 | Идентифицирует это устройство для шлюза. Никогда не делитесь им. |
Address |
10.8.0.14/32 |
IP-адрес туннеля, назначенный этому устройству. |
DNS |
10.8.0.1 |
Резолвер, доступный через туннель. |
PublicKey |
строка base64 | Ключ шлюза, используемый для шифрования трафика к нему. |
Endpoint |
gateway.example.com:51820 |
Куда устройство отправляет пакеты рукопожатия. |
AllowedIPs |
0.0.0.0/0, ::/0 или 10.8.0.0/24 |
Какой трафик направляется в туннель. |
Шаблон туннеля в формате .conf выглядит так:
[Interface]
PrivateKey = <this-device-private-key>
Address = 10.8.0.14/32
DNS = 10.8.0.1
[Peer]
PublicKey = <gateway-public-key>
AllowedIPs = 0.0.0.0/0, ::/0
Endpoint = <gateway-host>:51820
PersistentKeepalive = 25
Установите AllowedIPs в 0.0.0.0/0, ::/0, чтобы направлять весь трафик через шлюз, или только во внутреннюю подсеть, если ваш администратор хочет использовать раздельный туннель. PersistentKeepalive со значением 25 — распространенный выбор в мобильных сетях, поскольку в противном случае NAT оператора сбрасывает неактивные сессии.
Шаги
- Убедитесь, что туннель предназначен для этого устройства. Каждый телефон должен иметь свою собственную пару ключей пира. Импорт одной и той же конфигурации на два устройства приводит к сбоям рукопожатия и разрывам соединения на обоих.
- Установите официальный клиент WireGuard. На iOS найдите WireGuard в App Store и установите приложение, опубликованное WireGuard Development Team. На Android установите аналогичное приложение из Google Play. Избегайте сторонних VPN-клиентов, которые просто включают в себя WireGuard.
- Импорт на iOS. Откройте приложение, нажмите кнопку плюса, затем выберите Создать из QR-кода и отсканируйте код, предоставленный вашим администратором, или выберите Создать из файла или архива и выберите файл
.confиз Файлов. Дайте туннелю узнаваемое имя, напримерNordLayer-Gateway-EU, нажмите Сохранить и примите системный запрос на добавление VPN-конфигурации. - Импорт на Android. Откройте приложение, нажмите кнопку плюса, затем выберите Сканировать QR-код или Импорт из файла или архива. Выберите файл
.confв файловом менеджере, разрешите приложению добавить VPN-профиль и подтвердите имя туннеля. - Проверьте импортированные настройки перед подключением. Откройте запись туннеля и убедитесь, что
Endpoint,AllowedIPsиDNSсоответствуют тому, что предоставил ваш администратор. Усеченный QR-код или устаревший файл — наиболее распространенная причина туннеля, который никогда не завершает рукопожатие. - Подключите туннель. Переключите переключатель рядом с туннелем. Статус должен измениться на Активен в течение пары секунд, и ОС покажет индикатор VPN в строке состояния.
- Проверьте рукопожатие и выходной адрес. Используйте проверки из следующего раздела. Не думайте, что туннель работает, только потому, что переключатель включен.
- Настройте поведение по требованию, если это уместно. На iOS откройте туннель, нажмите Изменить и включите По требованию с правилом, подходящим для устройства. На Android используйте системную настройку в Настройки → Сеть и интернет → VPN → WireGuard, чтобы включить Постоянную VPN и, при необходимости, Блокировать соединения без VPN. Доступность этих параметров зависит от версии ОС и политики MDM.
- Проверьте туннель как в Wi-Fi, так и в сотовой сети. Мобильные сети часто блокируют или ограничивают UDP, поэтому туннель, работающий в офисном Wi-Fi, может не работать в сети оператора.
- Храните и обновляйте конфигурацию. Держите офлайн-копию
.confв менеджере паролей или зашифрованном хранилище и удаляйте старые пиры со шлюза, когда устройство выводится из эксплуатации. Меняйте ключи, если телефон потерян.
Проверка туннеля
Приложение WireGuard — самый надежный диагностический инструмент на мобильных устройствах. Откройте активный туннель и проверьте Последнее рукопожатие и счетчики передачи:
- Последнее рукопожатие должно показывать значение в пределах последних двух минут, пока туннель неактивен с включенным keepalive.
- Передача должна показывать увеличение как полученных, так и отправленных байтов при просмотре.
- Рукопожатие, которое остается на Никогда, означает, что устройство не может достичь конечной точки, а не то, что туннель подключен, но неактивен.
Чтобы узнать, какой адрес видит интернет, откройте страницу эхо-IP в браузере телефона и сравните результат с адресом, который ваш администратор ожидает для этого выделенного шлюза. Если у вас есть ноутбук на том же шлюзе, вы можете сначала подтвердить ожидаемое значение:
# Run from a device already using the same gateway.
# Whatever this prints is the address a phone on the same gateway should also report.
curl -s https://ifconfig.me
Ожидаемый вывод — один IP-адрес без завершающего текста:
203.0.113.42
Поскольку NordLayer использует выделенные шлюзы, а не общий пул, этот адрес должен оставаться стабильным между сессиями, что полезно, когда внутренние службы или партнеры добавляют конкретный IP в белый список.
Устранение неполадок
| Симптом | Вероятная причина | Решение |
|---|---|---|
| Статус показывает подключено, рукопожатие остается на Никогда | UDP заблокирован мобильным оператором или порталом авторизации | Переключитесь на другую сеть, отключитесь от портала авторизации или попросите администратора предоставить шлюз на другом порту |
| Рукопожатие завершается, сайты не загружаются | DNS недоступен через туннель или AllowedIPs настроен неверно |
Убедитесь, что резолвер топологически находится внутри туннеля; повторно импортируйте свежую конфигурацию |
| Внутренние инструменты работают, публичные сайты — нет | Раздельный туннель с AllowedIPs, ограниченным внутренней подсетью |
Ожидаемое поведение; добавьте 0.0.0.0/0, ::/0, только если требуется полное туннелирование |
| Работает в Wi-Fi, не работает в сотовой сети | NAT оператора или фильтрация UDP | Включите PersistentKeepalive = 25, повторите попытку и протестируйте с другого оператора при необходимости |
| Туннель отключается после нескольких минут простоя | Отсутствует keepalive или агрессивное управление батареей ОС | Установите keepalive и исключите приложение WireGuard из оптимизации батареи на Android |
| Два устройства отключают друг друга | Один и тот же ключ пира импортирован на оба | Запросите у администратора отдельный пир для каждого устройства |
| Импорт не удается или приложение сообщает о недействительном ключе | Усеченный QR-код или поврежденный файл .conf |
Запросите конфигурацию повторно и импортируйте из файла, а не из QR-кода |
| Батарея заметно разряжается | Правило по требованию поддерживает туннель на каждой сети | Сузьте правило по требованию до ненадежных сетей или используйте раздельный туннель, если политика позволяет |
Резюме
- WireGuard на iOS и Android следует стандартному процессу «импорт, затем проверка»; NordLayer предоставляет детали туннеля, а остальное делает официальный клиент.
- Всегда импортируйте конфигурацию, предназначенную для этого конкретного устройства, и никогда не используйте один ключ пира на двух телефонах.
- Считайте счетчик рукопожатий, а не переключатель вкл/выкл, доказательством того, что туннель работает.
- Установите
PersistentKeepalive = 25на мобильных устройствах, чтобы NAT оператора не убивал неактивные сессии незаметно. - Тестируйте как в сотовой сети, так и в Wi-Fi, и храните офлайн-копию конфигурации, чтобы можно было быстро заменить потерянный или очищенный телефон.