Диапазон IP-адресов сервера push-уведомлений Google GCM?

Интересно, кто-нибудь здесь случайно знает диапазон ip google-сервера Google (для push-уведомлений Android)?

Мне нужна информация, чтобы наша сетевая команда могла открыть порт брандмауэра для нашей среды UAT для входящего теста UAT.

Я пытался найти на developer.android.com/google/gcm/, но безуспешно.

Наша сетевая команда отказалась открыть весь диапазон IP-адресов от ASN 15169, который является довольно большим списком.

2 ответа

Решение

Я думаю, что существует существующий вопрос IP-адрес для сервера облачных сообщений Google, и человек обнаружил, что они не опубликованы Google. Я тоже однажды пытался найти его, но не смог найти. Я могу ошибаться, но я уверен, что они не публикуют это. Возможно, вместо корпоративного Wi-Fi, вы можете использовать прямой тарифный план 3G или 4G.

В комментарии о том, почему GCM не дает push-уведомления в устройстве Android? Вопрос, который кто-то упомянул, что он открыл порты 5258,29,30, а затем он смог получить regId с сервера GCM за брандмауэром.

Также я думаю, что ответ @ Eran на каком порту и протоколе использует Google Cloud Messaging (GCM)? будет помогать Это говорит:

Устройство обращается к серверам GCM через порты 5228-5230. Если в вашей организации есть брандмауэр, который ограничивает трафик в Интернет или из Интернета, вам необходимо настроить его, чтобы разрешить подключение к GCM. Порты для открытия: 5228, 5229 и 5230. GCM обычно использует только 5228, но иногда использует 5229 и 5230. GCM не предоставляет конкретные IP-адреса. Это часто меняет IP-адреса. Мы не рекомендуем использовать ACL, но если вы должны их использовать, используйте широкий подход, такой как метод, предложенный в этой ссылке поддержки.

Это актуально, если ваше устройство подключено к интернету через WiFi.

Надеюсь это немного поможет.

Обновление:

Согласно ответу Mark Whitaker на подобный вопрос, он упоминает, что:

Более новые версии Android также используют порт 443, если порты 5228-5230 заблокированы брандмауэром.

Хотя официального списка пока нет.

В дополнение к тому, что уже сказал Шобхит Пури, я также попытался найти ответ на этот вопрос, чтобы иметь возможность пробить соответствующие дыры в моем брандмауэре, и очень разочарован Google после того, как пришел к выводу, что IP-адрес, используемый для Google Cloud Messaging, является не получены с помощью запроса DNS или получены с использованием запросов DNS, которые подрывают функцию Always On VPN в Android.

Используя функцию Always On VPN в более поздних версиях Android, я позаботился о том, чтобы весь трафик проходил через один из моих серверов. Это также позволило мне использовать этот сервер в качестве DNS Resolver и, активировав ведение журнала запросов и перезагрузив телефон, я смог получить список всех DNS-запросов, которые он выполняет. Затем, с некоторой магией сценариев, я проверил их все, но ни один из них не разрешил IP-адрес (-ы), которые отображаются в журналах брандмауэра с исходящим портом 5228.

Это приводит меня к выводу, что IP-адреса, используемые для GCM, получены с использованием метода, отличного от DNS, такого как веб-трафик Google Play Store.

Изменить (решение?): После запуска сценария через все мои журналы брандмауэра, возвращаясь к тому, что у меня есть, и извлекая все записи dstport 5228, я смог составить список IP-адресов, которые пытался GCM подключиться к. Я не могу сказать, что это полный список, он, скорее всего, изменится в зависимости от географического положения, но обратите внимание на схему...

74.125.28.188
74.125.129.188
74.125.20.188
173.194.79.188
74.125.142.188
74.125.192.188
74.125.140.188
74.125.139.188
74.125.137.188
74.125.134.188
74.125.130.188
173.194.68.188
173.194.76.188

Я создал группу для всех этих IP-адресов и настроил свой брандмауэр, чтобы использовать его для своего белого списка GCM. Я также настроил отчет, чтобы проверить наличие капель dstport 5228, чтобы сообщить мне, если мне когда-нибудь понадобится вернуться к этому.

Другие вопросы по тегам