Публичное и приватное адресное пространство
Публичный IP
192.0.2.10
глобально уникален — маршрутизируется отовсюду
Приватные диапазоны
не маршрутизируются в публичном интернете
Публичные и частные IP-адреса: в чём разница
Загляните в сетевые настройки — и вы, возможно, увидите 192.168.1.5. Зайдите на сайт, показывающий ваш IP-адрес, — и там будет совершенно другое значение. Ни одно из них не ошибочно: у вас действительно два адреса, действующих в разных областях.
Публичное и приватное адресное пространство
Публичный IP
192.0.2.10
глобально уникален — маршрутизируется отовсюду
Приватные диапазоны
не маршрутизируются в публичном интернете
Две области действия
| Частный IP | Публичный IP | |
|---|---|---|
| Область действия | Только ваша локальная сеть | Весь интернет |
| Уникален? | Только внутри вашей сети | Глобально уникален |
| Кем назначается | Вашим роутером (DHCP) | Вашим провайдером или хостинг-провайдером |
| Маршрутизируется в интернете? | Нет: роутеры отбрасывают его | Да |
| Пример | 192.168.1.5 | 93.184.216.34 |
| Кто его видит | Устройства в вашей сети | Каждый посещаемый вами сайт |
Ключевой вывод
Частные адреса одновременно повторно используются в миллионах отдельных сетей и никогда не маршрутизируются через интернет. Публичные адреса глобально уникальны, и именно по ним интернет на самом деле вас находит.
Зарезервированные частные диапазоны
RFC 1918 выделяет три блока IPv4 для частного использования. Использовать их внутри сети может кто угодно, и ни один роутер публичного интернета не станет их пересылать.
| Диапазон | Адресов | Обычно используется |
|---|---|---|
10.0.0.0/8 | 16,7 миллиона | Крупные корпоративные сети, облачные VPC |
172.16.0.0/12 | 1 миллион | Сети среднего размера, значения Docker по умолчанию |
192.168.0.0/16 | 65 536 | Домашние роутеры и роутеры малых офисов |
Ещё несколько диапазонов зарезервированы для смежных целей и тоже никогда не появляются как допустимый публичный ответ:
127.0.0.0/8— loopback (петля).127.0.0.1— это всегда ваша собственная машина.169.254.0.0/16— link-local, назначается самостоятельно при сбое DHCP. Если вы его видите, обычно это значит, что устройство не смогло связаться с роутером.100.64.0.0/10— carrier-grade NAT, используется провайдерами, которые не могут выдать каждому клиенту публичный адрес.
NAT: как частные адреса всё-таки выходят в интернет
Если частные адреса не маршрутизируются, как ноутбук с адресом 192.168.1.5 загружает сайт? С помощью трансляции сетевых адресов (NAT), которую выполняет ваш роутер.
Устройство отправляет пакет
Источник —
192.168.1.5, получатель — публичный адрес сайта.Роутер переписывает источник
Он заменяет частный адрес источника своим публичным адресом и записывает подмену в таблицу трансляции, помечая её номером порта.
Сайт отвечает роутеру
С точки зрения сервера, он общается с публичным адресом вашего роутера. О вашем ноутбуке он ничего не знает.
Роутер транслирует обратно
Он обращается к таблице, определяет, какому внутреннему устройству принадлежит этот порт, переписывает адрес получателя и пересылает пакет на
192.168.1.5.
Поэтому все устройства в вашем доме выглядят для сайтов как один и тот же адрес, и поэтому IP-адрес идентифицирует соединение, а не человека.
Как узнать оба своих адреса
Ваш частный адрес
ipconfigip addr show
# or, on macOS:
ifconfig | grep "inet "Ваш публичный адрес
Изнутри собственной сети его не узнать — нужно спросить что-то снаружи, что и делают сервисы «какой у меня IP». Из терминала:
curl ifconfig.meПочему домен никогда не должен разрешаться в частный адрес
Публичный домен, разрешающийся в 10.0.0.5 или 127.0.0.1, — либо ошибка конфигурации, либо умысел, и в любом случае это проблема для любого сервиса, разрешающего пользовательские домены.
Атака проста: направьте подконтрольный вам домен на 169.254.169.254, отправьте его сервису, который загружает URL на стороне сервера, — и сервис прочитает собственные облачные метаданные от вашего имени. Вариант DNS rebinding заставляет запись меняться между проверкой и фактической загрузкой.
Защита — проверять разрешённый адрес, а не присланное имя хоста; именно это происходит здесь, и поэтому домен, разрешающийся во внутренний адрес, просто сообщается как неразрешаемый, не раскрывая этой детали. Полная цепочка проверки описана на странице о принципе работы.
Нужно проверить публичные DNS-адреса домена? Воспользуйтесь инструментом Domain IP Lookup.
Бесплатные инструменты по этой теме
Часто задаваемые вопросы
Читайте также
Две схемы адресации, работающие бок о бок
IPv4
192.0.2.10
32 бита — ~4,3 млрд адресов — исчерпаны
IPv6
2606:4700::6810:84e5
128 бит — 340 ундециллионов адресов
Что такое IP-адрес: IPv4 и IPv6 простыми словами
Числовая метка за каждым сайтом, сервером и телефоном в интернете: что она означает, как её читать и почему существуют две несовместимые версии.
Что на самом деле стоит за разрешённым адресом
Общий IP
Много сайтов на одном адресе — ваш определяется заголовком Host
Выделенный IP
Только вы — вы управляете его обратным DNS
Edge-сервер CDN
Не исходный сервер — соединение завершается на edge
Общий и выделенный IP-адрес: что вам нужно
Честный ответ: большинству сайтов выделенный IP не нужен. Когда он действительно важен и какие мнимые преимущества — мифы.
Рекурсивный DNS-запрос: шаг за шагом
Браузер
нужен example.com
Резолвер
ваш провайдер / 1.1.1.1
Корень + TLD
кто отвечает за .com?
Авторитетный
настоящий ответ
Каждый шаг цепочки — тоже DNS-запрос, и его ответ потом кэшируется
Как узнать IP-адрес сайта: 5 надёжных способов
Онлайн-инструмент, ping, nslookup, dig или DevTools: пять способов разрешить домен с точными командами для Windows, macOS и Linux.