Настройте свою сеть для FCM

В этом документе описываются конфигурации сети, необходимые для корректной работы FCM в вашей сетевой среде.

Настройте свою сеть для отправки сообщений в FCM

Прежде чем начать, вам необходимо убедиться, что ваша система взаимодействует с серверами FCM для отправки сообщений и управления подписками.

Для отправки сообщений FCM или управления подписками вашей сети потребуется взаимодействовать со следующими серверами по протоколу https:

  • fcm.googleapis.com (отправка сообщений)
  • accounts.google.com (аутентификация для отправки сообщений)
  • iid.googleapis.com (подписка на темы и управление группами устройств)

Этот список может со временем измениться. Мы не можем предоставить список разрешённых IP-адресов для этих конечных точек.

Настройте сеть для устройств Android с помощью FCM

В этом разделе подробно описано, как настроить сеть для поддержки трафика FCM для устройств Android.

Порты FCM и ваш брандмауэр

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

Параметры брандмауэра

Вариант Что мы делаем Конкретные правила Примечания
Нет ( предпочтительно ) - - -
Фильтрация на основе портов (второй вариант) Ограничить трафик определенными портами

TCP-порты для открытия:

  • 5228
  • 5229
  • 5230
  • 443
Это самое простое правило, которое позволяет избежать зависимости от вещей, которые с большей вероятностью изменятся со временем.
Фильтрация по имени хоста Использование специальной конфигурации брандмауэра для разрешения определённым записям TLS SNI прохождения через брандмауэр. Это можно сочетать с фильтрацией по портам.

Имена хостов для открытия:

  • mtalk.google.com
  • mtalk4.google.com
  • mtalk-staging.google.com
  • mtalk-dev.google.com
  • alt1-mtalk.google.com
  • alt2-mtalk.google.com
  • alt3-mtalk.google.com
  • alt4-mtalk.google.com
  • alt5-mtalk.google.com
  • alt6-mtalk.google.com
  • alt7-mtalk.google.com
  • alt8-mtalk.google.com
  • android.apis.google.com
  • device-provisioning.googleapis.com
  • firebaseinstallations.googleapis.com
Не все брандмауэры поддерживают эту функцию, но многие её поддерживают. Этот список довольно стабилен, но мы не будем уведомлять вас о его изменениях.
Фильтрация по IP (настоятельно не рекомендуется) Используйте очень большой статический список IP-адресов. Добавьте все IP-адреса, перечисленные в файле goog.json , в белый список. Этот список регулярно обновляется, и рекомендуется обновлять правила ежемесячно . Проблемы, вызванные ограничениями IP-адресов брандмауэра, часто возникают периодически и их сложно диагностировать. Мы меняем наш список IP-адресов очень часто и без предупреждения, поэтому вам придется заходить в этот большой список и часто его обновлять.

Кроме того, мы часто видим опечатки, когда люди пытаются ввести списки разрешенных IP-адресов в правила брандмауэра.

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

Кроме того, размер списка может оказаться слишком большим для некоторых маршрутизаторов.

Межсетевые экраны с трансляцией сетевых адресов или проверкой состояния пакетов

Если в вашей сети реализованы трансляция сетевых адресов (NAT) или анализ состояния пакетов (SPI), установите тайм-аут не менее 30 минут для наших подключений через порты 5228–5230. Это позволит нам обеспечить надёжное соединение и снизить расход заряда батареи мобильных устройств ваших пользователей.

FCM и прокси

Протокол FCM для доставки push-уведомлений на устройства не поддерживает проксирование через сетевые прокси-серверы. Поэтому вам необходимо убедиться, что подключение FCM с устройств в вашей сети может быть напрямую подключено к нашим серверам.

VPN-взаимодействие и обходимость

Firebase Cloud Messaging предпринимает различные меры для обеспечения надёжности и максимальной доступности push-сообщений между телефоном и сервером. Использование VPN усложняет этот процесс.

VPN-сети маскируют базовую информацию, необходимую FCM для настройки соединения с целью максимальной надежности и экономии заряда батареи. В некоторых случаях VPN-сети активно разрывают долговременные соединения, что приводит к ухудшению пользовательского опыта из-за пропущенных или задержанных сообщений, а также к высокому расходу заряда батареи. Если VPN настроен таким образом, мы обходим VPN, используя зашифрованное соединение (по базовой сети Wi-Fi или LTE), чтобы обеспечить надежное и экономичное использование батареи. Использование FCM обходимых VPN характерно для канала push-уведомлений FCM . Другой трафик FCM , например, трафик регистрации, использует VPN, если он активен. Когда соединение FCM обходит VPN, оно теряет дополнительные преимущества, которые может предоставлять VPN, такие как маскировка IP-адресов.

У разных VPN-сервисов разные методы контроля возможности обхода. Инструкции см. в документации к вашей VPN-сети.

Если VPN не настроена на обход, Firebase Cloud Messaging будет использовать VPN-сеть для подключения к серверу. Это может привести к задержкам в доставке сообщений и повышенному расходу заряда батареи, поскольку Cloud Messaging пытается поддерживать соединение через VPN.