Серый IP-адрес — адрес из приватных диапазонов, определённых в RFC 1918 (1996). Такие адреса маршрутизируются только внутри частной сети: роутеры публичного интернета их отбрасывают. Снаружи устройство с серым IP недоступно напрямую — нужен NAT или прокси.
Диапазоны серых адресов
10.0.0.0 — 10.255.255.255(/8) — 16 777 216 адресов, корпоративные сети.172.16.0.0 — 172.31.255.255(/12) — 1 048 576 адресов.192.168.0.0 — 192.168.255.255(/16) — 65 536 адресов, домашние и малые офисные сети.
RFC 6598 зарезервировал дополнительно 100.64.0.0/10 для Carrier-Grade NAT — его называют «полусерым» или shared address space.
Как работает на практике
Провайдер выдаёт VPS серый IP из своей внутренней сети. Исходящий трафик проходит через NAT на белый IP провайдера. Входящие соединения к серому IP снаружи невозможны без настройки проброса портов на шлюзе.
В облачных инфраструктурах серые адреса — стандарт для внутренних коммуникаций между нодами: трафик не покидает дата-центр, не тарифицируется и работает быстрее публичной сети. База данных и веб-сервер общаются через 10.0.0.x, не расходуя внешний трафик.
История
В начале 1990-х стало очевидно, что адресов IPv4 (4,29 млрд) не хватит на все устройства. IANA зарезервировала приватные диапазоны, в 1994 году появился NAT (RFC 1631), а RFC 1918 формализовал три приватных блока в феврале 1996 года. Именно серые адреса с NAT позволили интернету проработать ещё 20 лет до массового внедрения IPv6.
Серый IP в хостинге: плюсы и ограничения
VPS с серым IP дешевле — провайдер не расходует дефицитные публичные адреса. Подходит для задач без входящей доступности: парсинг, обработка данных, внутренние микросервисы, базы данных.
Ограничения: нельзя принять входящее соединение без NAT/прокси, нельзя получить SSL-сертификат Let's Encrypt напрямую по HTTP-валидации, нельзя настроить PTR-запись для почтового сервера.
Отличие от белого IP
Белый IP маршрутизируется в глобальном интернете и уникален в масштабе всей сети. Серый IP уникален только внутри конкретной частной сети — два разных провайдера могут использовать одинаковый серый адрес независимо друг от друга.
Как работает выход в интернет через серый IP
Провайдер использует NAT: на его оборудовании тысячи абонентов с «серыми» IP из диапазонов RFC 1918 (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) выходят в интернет через несколько публичных IP-адресов провайдера. Для исходящих соединений это прозрачно: сайты и сервисы отвечают на IP провайдера, который перенаправляет ответ нужному абоненту.
Ограничения серого IP: невозможность принять входящее TCP/UDP-соединение извне без пробива NAT, проблемы с VPN-протоколами (IPSec в туннельном режиме сложнее проходит NAT), геолокационные сервисы видят IP провайдера, а не местоположение пользователя. Для хостинга сайтов серый IP неприемлем — нужен белый публичный IP.
Пробив NAT (NAT traversal)
Для P2P-соединений (VoIP, мессенджеры, торренты) используется NAT traversal через STUN/TURN/ICE протоколы. STUN (Session Traversal Utilities for NAT) помогает клиенту узнать свой публичный IP и порт. TURN (Traversal Using Relays around NAT) — релей-сервер для случаев, когда прямое соединение невозможно. WebRTC (видеозвонки в браузере) использует ICE — комбинацию STUN и TURN.
WireGuard работает за NAT через UDP hole punching: оба клиента за NAT могут установить P2P-туннель, если один из них отправит пакет первым. Это делает WireGuard удобным для VPN-сервисов даже для клиентов с серыми IP.