IP-адрес, маска и шлюз: как работает IPv4 и IPv6

IP-адрес, маска и шлюз: как работает IPv4 и IPv6

Ноутбук подключён к Wi-Fi, значок сети активен, а сайт не открывается. Причина может находиться на разных уровнях: устройство не получило адрес, не видит шлюз, использует неверный DNS или не может подключиться к самому серверу. Чтобы не исправлять всё случайной перезагрузкой роутера, полезно понимать четыре параметра: IP-адрес, длину префикса, маршрут и DNS-сервер.

В этом руководстве разберём, как компьютер выбирает получателя пакета, чем отличаются IPv4 и IPv6 и как читать сетевые настройки. Диагностические команды можно выполнять на своей машине: они не меняют конфигурацию. Адреса в примерах учебные; конкретный адрес интерфейса или шлюза берите из своей сети.

Что обозначает IP-адрес

IP-адрес — адрес сетевого уровня, используемый для доставки пакетов. На практике адрес назначают интерфейсу: Ethernet, Wi-Fi, VPN или виртуальному адаптеру. Один компьютер может иметь несколько интерфейсов, а каждый интерфейс — несколько адресов. Поэтому выражение «IP компьютера» без уточнения иногда вводит в заблуждение.

IPv4 записывают четырьмя десятичными числами от 0 до 255, например 192.168.50.23. Внутри это 32 бита. IPv6 использует 128 бит и шестнадцатеричную запись, например 2001:db8:50::23. Префикс 2001:db8::/32 предназначен для документации и не подходит для настоящего выхода в интернет.

Где разместить проект

Для сайтов, ботов и pet-проектов можно использовать Beget: виртуальный хостинг от 420 ₽/мес., VPS от 330 ₽/мес. и тестовый период.

Перейти на Beget →

IP-адрес не равен MAC-адресу. MAC используется для доставки кадров на локальном канальном сегменте, IP — для маршрутизации между сетями. При прохождении через обычный маршрутизатор канальный заголовок меняется, а конечный IP назначения обычно сохраняется; трансляция NAT является отдельным исключением.

Зачем нужна маска или длина префикса

Запись 192.168.50.23/24 означает: первые 24 бита определяют сетевую часть, остальные 8 — адрес внутри этой сети. Для IPv4 это соответствует маске 255.255.255.0. Сетевой адрес здесь 192.168.50.0, а обычный широковещательный адрес — 192.168.50.255.

Маска не описывает скорость подключения и не является настройкой безопасности. Она участвует в определении локальной сети и создании связанного маршрута. Если два соседних компьютера используют разные маски, они могут по-разному решать, нужно ли отправлять пакет через шлюз. Результат — странная односторонняя связь, которая ошибочно выглядит как неисправность DNS.

Для обычной IPv4-подсети /24 доступно 254 адреса узлов, но часть из них занимают шлюз, серверы и резервирования. Формула «все адреса минус два» не универсальна: для /31 на соединениях точка-точка и /32 используются другие правила. Подробный расчёт с границами диапазона приведён в руководстве по подсетям и CIDR.

Когда нужен шлюз

Пусть у ноутбука адрес 192.168.50.23/24, а у принтера — 192.168.50.40/24. Если оба находятся в одном локальном сегменте и нет препятствий канального уровня, ноутбук может доставлять кадры принтеру непосредственно. Для IPv4 адрес соседа обычно выясняется через ARP.

Если ноутбук обращается к адресу другой сети, он выбирает подходящий маршрут. При отсутствии более конкретного маршрута используется маршрут по умолчанию, например через 192.168.50.1. Этот адрес принадлежит следующему маршрутизатору, а не конечному серверу. В Ethernet-кадре будет MAC шлюза, но IP назначения останется адресом удалённого сервера.

Правило выбора обычно начинается с наиболее длинного совпадающего префикса. Маршрут /24 к конкретной сети предпочтительнее /0, даже если у /0 меньше метрика. При нескольких таблицах и policy routing решение также зависит от правил маршрутизации. Поэтому один только список default-маршрутов не всегда объясняет поведение VPN.

Частный, публичный и специальный адрес

RFC 1918 выделяет частные IPv4-диапазоны 10.0.0.0/8, 172.16.0.0/12 и 192.168.0.0/16. Их можно использовать во внутренних сетях, но они не имеют глобально уникального назначения. Частным является не весь диапазон 172: адрес 172.40.1.1 не входит в 172.16/12.

Диапазон 100.64.0.0/10 относится к shared address space и часто используется операторами для CGNAT. Это не ещё один блок RFC 1918. Адрес 127.0.0.1 означает loopback: обращение к собственной системе. Адрес из 169.254.0.0/16 может появиться как IPv4 link-local, например когда автоматическое получение обычных настроек не удалось.

Отсутствие адреса в списке RFC 1918 ещё не означает, что он общедоступный: существуют документационные, multicast и другие специальные диапазоны. Установить тип неизвестного диапазона помогает реестр IANA, а не догадка по первым цифрам.

NAT и проброс портов

Домашний роутер часто подменяет исходный частный адрес и порт на внешний адрес и порт. Благодаря таблице трансляций несколько клиентов используют один внешний IPv4. При этом трансляция не заменяет правила межсетевого экрана: разрешённость входящих соединений — отдельное решение.

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

Что меняется в IPv6

В IPv6 нет IPv4-style broadcast. Обнаружение соседей выполняется механизмами Neighbor Discovery поверх ICMPv6. Link-local-адреса, обычно начинающиеся с fe80:, используются на локальном канале; глобальный адрес имеет другое назначение и область действия. Для link-local назначения иногда требуется указать интерфейс, например суффиксом %enp1s0.

В обычной сети со SLAAC часто используется /64. Маршрут по умолчанию хост получает из Router Advertisement, а не из DHCPv6. Настройки DNS могут поступать разными способами, включая RA и DHCPv6. Нельзя автоматически переносить схему DHCPv4 на IPv6 и ожидать одинакового поведения.

Не блокируйте весь ICMPv6: он необходим для корректной работы IPv6, включая обнаружение соседей и Path MTU Discovery. Наличие глобального IPv6 также не отменяет firewall. В dual-stack-сети проверьте обе версии протокола: проблема может проявляться только по одной из них.

Диагностика в Linux и Windows

# Linux: посмотреть адреса и выбранный маршрут
ip -br address
ip route
ip -6 route
ip route get 192.0.2.10
ip neigh

# Linux с systemd-resolved
resolvectl status

ip route get показывает решение о маршруте и исходном адресе, но сам по себе не подтверждает доступность получателя. В выводе ip neigh состояние FAILED помогает заподозрить отсутствие канальной связи с соседом. STALE само по себе не означает поломку: запись просто требует последующего подтверждения.

# PowerShell в Windows
Get-NetIPConfiguration
Get-NetRoute -AddressFamily IPv4
Get-DnsClientServerAddress
Test-NetConnection example.com -Port 443

Проверяйте по очереди интерфейс, адрес, доступность своего шлюза, маршрут, разрешение имени и порт приложения. Успешный ping не доказывает работу HTTPS, а неуспешный ping не доказывает, что узел выключен: ICMP может фильтроваться.

Учебная задача с ответом

Узел A имеет адрес 192.168.50.23/24, B — 192.168.50.40/24, C — 192.168.60.40/24. Кто находится с A в одной IP-подсети? Ответ: B. Для связи с C нужен подходящий маршрут. DNS здесь ничего не меняет: даже если имя C успешно разрешается, маршрутизация должна существовать отдельно.

Вторая задача: VPN и домашняя сеть используют одинаковый диапазон 192.168.50.0/24. Почему подключение к офисному серверу нестабильно? Потому что назначения пересекаются, и система должна выбрать один из конфликтующих путей. Практическое решение — согласовать адресный план; постоянное ручное добавление случайных маршрутов скрывает исходную проблему.

Частые вопросы

Шлюз и DNS обязательно один адрес?

Нет. Домашний роутер может выполнять обе роли, но в корпоративной сети это часто разные узлы. Удалённый DNS доступен через обычную IP-маршрутизацию.

Можно ли назначить любой свободный IP?

Нужно знать подсеть, резервирования, DHCP-пул и ограничения площадки. Отсутствие ответа на ping не доказывает, что адрес свободен.

Статический адрес безопаснее динамического?

Сам по себе нет. Это способ назначения адреса, а безопасность определяется доступом, сегментацией и настройками сервисов.

Что изучать дальше

Перейдите к расчёту CIDR и VLSM, затем разберите работу DNS. Так сетевые параметры перестанут выглядеть независимыми полями панели настроек.

Источники: RFC 1918, RFC 8200, реестр специальных IPv4-адресов IANA.

Хотите системно изучить программирование?

Подборка онлайн-курсов для разработчиков — Python, Java, веб и DevOps.

Смотреть курсы →

Бесплатные инструменты

Калькулятор подсетей · SSH-конфиг · Nginx · Docker Compose

Нужно настроить сервер, сайт или автоматизацию?

Разберём задачу по VPS/Linux, DNS, WordPress, Telegram-ботам и интеграциям. Стоимость определяется после оценки объёма.

Обсудить задачу → 8 918 532 81 08

Статья может содержать партнёрские ссылки. Это не влияет на стоимость для вас, но помогает развивать блог.