Маршрутизация и доступ в интернет: NAT, VPN, IPv6
В прошлых статьях мы разобрали уровни OSI/TCP-IP, IP-адресацию и подсети, а также L2-механику локальной сети (Ethernet, ARP, VLAN, STP). Следующий логичный шаг для системного администратора — понять, как трафик выходит за пределы своей подсети, попадает в интернет, как подключаются удаленные пользователи и почему в современных сетях все чаще появляется IPv6.
Эта статья отвечает на практические вопросы:
Как хост решает, куда отправлять пакет: напрямую или через шлюз
Что делает маршрутизатор и как работает таблица маршрутов
Почему без NAT частные адреса не выходят в интернет
Чем отличаются SNAT, DNAT и проброс портов
Что такое VPN с точки зрения маршрутизации
Какие базовые принципы IPv6 нужны администраторуГде это находится в модели TCP/IP
Интернет-уровень (L3): маршрутизация IP-пакетов между сетями.
Транспортный уровень (L4): порты и соединения, которые NAT часто изменяет.
Канальный уровень (L2): на каждом участке пути маршрутизатору все равно нужно доставить кадр до следующего узла (через Ethernet, VLAN и L2-адресацию), а для IPv4 в локальном сегменте для этого используется ARP.Маршрутизация простыми словами
Маршрутизация — это выбор пути для IP-пакета между разными сетями.
Внутри одной подсети хост доставляет трафик напрямую на L2 (из прошлой статьи: ARP нужен, чтобы узнать MAC назначения).
В другие подсети хост отправляет трафик на шлюз по умолчанию (обычно это маршрутизатор).Как хост принимает решение: “свой” или “чужой”
У хоста есть минимум три критичных параметра:
IP-адрес
маска (префикс)
шлюз по умолчаниюЛогика такая:
Хост сравнивает IP назначения со своей подсетью.
Если назначение в той же подсети, хост отправляет пакет напрямую, узнав MAC через ARP.
Если назначение в другой подсети, хост отправляет пакет на шлюз по умолчанию (и через ARP узнает MAC шлюза).Практическая связь с предыдущими статьями:
Ошибка в маске или шлюзе (из темы подсетей) ломает доступ в другие сети.
Неправильный VLAN или проблемы L2 (из темы VLAN/ARP/STP) часто проявляются как “шлюз не пингуется”, а значит и маршрутизации не будет.Таблица маршрутов: что это такое
Таблица маршрутов — список правил, куда отправлять пакеты к разным сетям.
У маршрута обычно есть:
сеть назначения (например, 10.10.0.0/16)
следующий узел (next hop) или выходной интерфейс
иногда метрика (предпочтительность)Самое важное правило: если подходит несколько маршрутов, выбирается самый “точный” (с самым длинным префиксом). На практике это означает: маршрут в конкретную сеть важнее, чем “маршрут по умолчанию”.
Маршрут по умолчанию
Маршрут по умолчанию — правило “если не нашел более точного маршрута, отправляй сюда”.
В IPv4 это обычно 0.0.0.0/0.
В IPv6 это обычно ::/0.На рабочей станции “маршрут по умолчанию” почти всегда указывает на офисный/домашний роутер.
Что делает маршрутизатор
Маршрутизатор (router) принимает IP-пакет на одном интерфейсе и решает, куда отправить его дальше.
Упрощенный цикл работы:
Получить пакет.
Посмотреть IP назначения.
Найти подходящий маршрут в таблице маршрутизации.
Отправить пакет следующему узлу.При этом на каждом участке пути маршрутизатору нужно доставить пакет по L2, то есть:
в Ethernet-сегменте он должен знать MAC следующего узла
для IPv4 это обычно достигается через ARPМежвлановая маршрутизация
Из прошлой статьи: VLAN разделяет сеть на изолированные L2-сегменты. Чтобы устройства из разных VLAN общались, нужна маршрутизация между VLAN.
Типовые варианты:
Маршрутизатор с подключением trunk (часто называют router-on-a-stick).
L3-коммутатор, у которого есть SVI-интерфейсы (виртуальные интерфейсы VLAN) и включена маршрутизация.Практическая мысль: VLAN “режет” L2, а маршрутизатор “склеивает” L3 по правилам доступа.
!Межвлановая маршрутизация и выход в интернет
Статические и динамические маршруты
Статическая маршрутизация
Статический маршрут администратор задает вручную.
Используется, когда:
сеть небольшая и топология почти не меняется
нужно строго контролировать путь
нужно добавить маршрут до удаленной подсети через конкретный VPN-шлюзМинус: при изменениях сети нужно обновлять маршруты руками.
Динамическая маршрутизация
Динамическая маршрутизация строит маршруты автоматически с помощью протоколов.
В базовой админской практике полезно хотя бы знать названия и назначение:
OSPF — распространен внутри организаций.
BGP — основа маршрутизации между автономными системами в интернете.Если вы администрируете среднюю/крупную сеть, вы почти неизбежно столкнетесь с динамической маршрутизацией на ядре.
Диагностика маршрутизации
Команды, которые нужны регулярно
| Задача | Windows | Linux |
|---|---|---|
| Посмотреть IP и шлюз | ipconfig /all | ip a |
| Посмотреть таблицу маршрутов | route print | ip route |
| Проверить связность по IP | ping | ping |
| Посмотреть путь | tracert | traceroute или tracepath |
Почему traceroute показывает маршрутизаторы
Идея упрощенно такая:
Отправляется пакет с маленьким TTL.
Первый маршрутизатор уменьшает TTL до нуля и отвечает служебным сообщением.
Затем отправляется пакет с большим TTL, и так далее.Поэтому вы видите последовательность “хопов” (узлов маршрута). Это полезно, когда “пинг есть до шлюза, но дальше непонятно где ломается”.
NAT: как частные адреса выходят в интернет
Зачем нужен NAT
Из темы IP-адресации: в локальных сетях часто используются частные диапазоны RFC 1918 (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16). Они не маршрутизируются в интернете.
Чтобы множество внутренних устройств могли использовать один (или несколько) публичных IPv4-адресов, на границе сети часто включают NAT (Network Address Translation).
Важно не путать:
маршрутизация решает, куда отправить пакет
NAT изменяет адреса (и часто порты) в пакетах при прохождении границыSNAT и PAT: исходящий доступ
Чаще всего под “NAT в интернет” имеют в виду исходящий NAT:
SNAT (Source NAT): меняется IP-адрес источника.
PAT (Port Address Translation), часто называют NAT overload: кроме IP источника меняется еще и порт источника, чтобы много соединений “упаковать” в один публичный IP.Что это дает на практике:
ПК с адресом 192.168.1.100 может ходить в интернет, хотя это частный адрес.
Снаружи “виден” публичный адрес вашего роутера/провайдера.!Как SNAT/PAT переписывает исходящий трафик
DNAT и проброс портов: входящий доступ
Если вам нужно, чтобы из интернета можно было попасть на внутренний сервер, применяют:
DNAT (Destination NAT): меняется адрес назначения.
в быту это обычно называется проброс портов (port forwarding)Пример:
публичный адрес роутера: 203.0.113.10
внутри стоит сервер: 192.168.1.10:443
правило: 203.0.113.10:443 перенаправлять на 192.168.1.10:443Типичная админская ошибка: проброс сделан, но сервер недоступен из-за локального firewall на сервере или из-за того, что сервис слушает только 127.0.0.1.
Ограничения NAT
NAT решает проблему дефицита IPv4, но создает побочные эффекты:
ломает принцип “конец-конец” (не всегда можно легко подключиться к хосту из внешней сети)
усложняет некоторые протоколы и P2P-сценарии
может мешать входящим соединениям и автодетекту сервисовТакже существует CGNAT у провайдеров (когда NAT делаете не вы, а оператор связи). Симптом: у вас на роутере “WAN IPv4” выглядит как частный адрес, а проброс портов “не работает”, потому что вы не владеете публичным адресом.
VPN: удаленный доступ и объединение сетей
VPN (Virtual Private Network) — это защищенный туннель поверх другой сети (обычно поверх интернета).
С точки зрения администратора важно понимать VPN именно как сетевую историю:
появляется виртуальный интерфейс
добавляются или меняются маршруты
трафик к определенным подсетям идет “в туннель”Основные сценарии VPN
Remote access: пользователь подключается из дома к корпоративной сети.
Site-to-site: две сети (например, офис и облако) соединяются туннелем.Full tunnel и split tunnel
Два режима, которые часто определяют “что сломается” и “что будет видно”:
Full tunnel: весь трафик пользователя идет через VPN (включая интернет).
Split tunnel: через VPN идет только трафик в корпоративные подсети, а интернет идет напрямую.Практические последствия:
В full tunnel проще контролировать безопасность (весь трафик через корпоративные правила), но возрастает нагрузка и задержки.
В split tunnel часто меньше нагрузка, но важнее аккуратно настроить маршруты и DNS, иначе появляются утечки запросов или конфликт маршрутов.!Разница split tunnel и full tunnel
Технологии VPN на практике
В базовом курсе достаточно ориентироваться в назначении популярных вариантов:
IPsec: часто используется для site-to-site, может работать и для клиентов.
WireGuard: современный, часто проще в настройке, распространен для remote access и site-to-site.
OpenVPN: популярный “классический” вариант, часто встречается в компаниях.Независимо от технологии, админская логика диагностики похожа:
Поднялся ли туннель (есть ли виртуальный интерфейс).
Появились ли нужные маршруты.
Не конфликтуют ли подсети (например, дома у пользователя тоже 192.168.1.0/24, а в офисе такой же диапазон).
Правильно ли настроен DNS (частая причина “внутренние имена не открываются”).IPv6: основы, которые нужно знать администратору
IPv6 — это не “какая-то другая сеть”, а следующий протокол IP-уровня. Он решает проблему дефицита адресов IPv4 и меняет некоторые привычные механики.
Базовый документ: Internet Protocol, Version 6 (IPv6) Specification.
Как выглядит IPv6-адрес
IPv6-адрес — это запись в шестнадцатеричном виде, например 2001:db8:1234:5678::10.
Практические правила чтения:
можно сокращать последовательности нулей с помощью :: (обычно один раз в адресе)
в обычных LAN-сетях префикс сети почти всегда /64!Структура IPv6-адреса и смысл /64
Типы IPv6-адресов, которые встречаются чаще всего
Global Unicast: глобальные адреса для интернета (похоже на публичные IPv4).
ULA (Unique Local Address): “локальные” адреса для внутренних сетей, аналог частных IPv4. Часто используют диапазон fc00::/7. Описано в Unique Local IPv6 Unicast Addresses.
Link-local: адреса вида fe80::/10, есть на интерфейсе почти всегда, используются для работы внутри канала (например, как адрес шлюза по умолчанию в IPv6).В IPv6 нет broadcast. Вместо этого используется multicast.
SLAAC, RA и DHCPv6
В IPv4 хост часто получает адрес по DHCP. В IPv6 распространены два механизма:
SLAAC: хост сам формирует адрес в подсети, получив от маршрутизатора информацию о префиксе.
RA (Router Advertisement): сообщения маршрутизатора, которые говорят хостам “вот префикс, вот параметры, вот как жить”.
DHCPv6: может использоваться для выдачи адресов и параметров (в зависимости от политики сети).Важно для практики: в IPv6 “шлюз по умолчанию” часто указывается как link-local адрес маршрутизатора (из fe80::/10), потому что именно он объявляет себя через RA.
NDP вместо ARP
В IPv4 сопоставлением IP→MAC занимается ARP. В IPv6 вместо него используется Neighbor Discovery Protocol (NDP).
Базовый документ: Neighbor Discovery for IP version 6 (IPv6).
Практический вывод:
если вы ищете “аналог ARP”, смотрите NDP/neighbor table
диагностика “кто мой сосед и кто шлюз” в IPv6 похожа по смыслу, но другими протоколамиНужен ли NAT в IPv6
Технически IPv6 позволяет обойтись без NAT, потому что адресов достаточно, чтобы выдавать уникальные адреса устройствам.
Что обычно делают на границе:
маршрутизацию IPv6
firewall-политику, которая контролирует входящие подключенияТо есть “скрытие за NAT” заменяется нормальной фильтрацией и сегментацией.
Переход к IPv6: как это выглядит в реальности
Чаще всего встречаются варианты:
Dual stack: в сети одновременно работают IPv4 и IPv6.
NAT64/DNS64: доступ из IPv6-сети к IPv4-ресурсам через шлюз трансляции. Базовый документ по NAT64: Stateful NAT64: Network Address and Protocol Translation from IPv6 Clients to IPv4 Servers.Для администратора ключевое: многие “странные” проблемы доступа появляются, когда приложение выбирает IPv6, а политика/маршрутизация/фильтрация для IPv6 настроены хуже, чем для IPv4.
Практический чек-лист “нет доступа в интернет”
Удобный порядок, который связывает все темы курса:
Проверить физику и линк (L1).
Проверить VLAN и L2-связность до шлюза (L2, ARP/NDP).
Проверить IP/маску/шлюз и таблицу маршрутов на хосте (L3).
Проверить, что на границе есть маршрут по умолчанию и работает NAT (для IPv4).
Проверить DNS (из прошлой статьи): “по IP работает, по имени нет” обычно про DNS.
Если есть VPN, проверить виртуальный интерфейс и маршруты (часто проблема именно там).Минимальный словарь статьи
Маршрутизация: пересылка IP-пакетов между сетями.
Таблица маршрутов: правила, куда отправлять трафик к разным сетям.
Маршрут по умолчанию: правило для “всего остального” (0.0.0.0/0, ::/0).
Next hop (следующий узел): адрес маршрутизатора, куда надо отправить пакет на следующем шаге.
NAT: трансляция адресов при прохождении границы сети.
SNAT: замена адреса источника (часто для исходящего доступа).
PAT: SNAT с заменой портов, чтобы много клиентов делили один публичный IP.
DNAT: замена адреса назначения (часто для проброса портов на внутренний сервер).
VPN: защищенный туннель, который добавляет виртуальный интерфейс и маршруты.
SLAAC: автоконфигурация IPv6-адреса на хосте.
RA: объявления маршрутизатора в IPv6.
NDP: “аналог ARP” для IPv6.Источники
Address Allocation for Private Internets (RFC 1918)
Traditional IP Network Address Translator (Traditional NAT) (RFC 3022)
Internet Protocol, Version 6 (IPv6) Specification (RFC 8200)
Neighbor Discovery for IP version 6 (IPv6) (RFC 4861)
Unique Local IPv6 Unicast Addresses (RFC 4193)
Stateful NAT64 (RFC 6146)