В прошлой части мы настроили адрес четырьмя командлетами из модуля NetTCPIP. Любое руководство старше 2012 года сделает то же самое одной строкой netsh interface ip set address, а разметку диска доверит diskpart. Обе утилиты никуда не делись: они есть на каждом Windows от XP до Server 2025, работают в среде восстановления, где модулей PowerShell может не быть, и умеют несколько вещей, для которых командлетов так и не написали. Поэтому администратору нужно знать обе: и чтобы читать чужие скрипты, и чтобы не остаться без инструмента, когда PowerShell недоступен.
Эта часть устроена как словарь в обе стороны: что делает старая утилита, каким командлетом это делается сейчас, и где командлета нет.
Это первая статья серии «Windows Server для самых маленьких». Серия для тех, кто хочет понять, как устроен Windows Server и Active Directory изнутри: что происходит между нажатием Ctrl+Alt+Del и появлением рабочего стола, как контроллеры договариваются между собой, что лежит в каталоге и как это читать. К концу серии мы будем ходить по каталогу через LDAP, разбирать билеты Kerberos по полям и переносить роли между контроллерами.
У серии два принципа.
Первый: о каждом компоненте — не только зачем он нужен, но и как он работает. Какие объекты появляются в каталоге, какие пакеты идут по сети, что ломается и почему. Поэтому почти в каждой части будет вывод команд, журналы событий и разбор того, что в них написано.
В современных реалиях иногда бывает так, что кто-то очень хочет, чтобы вы не попали на какой-то ресурс. Кто именно и что это за ресурс — для этой статьи неважно: механика везде одна.
Сначала блокируют по-простому: адрес сайта вносят в чёрный список, ответ DNS подменяют. От этого спасает любой VPN или прокси — трафик уходит на чужой сервер за пределами блокировки, и тот сам ходит на нужный сайт. На следующем шаге этот кто-то ставит DPI, и обычные средства перестают помогать: VPN не подключается, прокси рвётся через секунду после начала. DPI не нужно знать, что внутри туннеля, — он узнаёт сам туннель по виду трафика и обрывает его, как бы надёжно туннель ни был зашифрован.
Что такое DPI и на что он смотрит, разберём ниже по порядку. А сама статья — о связке, сделанной против этого: Xray с протоколом VLESS, потоком XTLS Vision и маскировкой REALITY. Со стороны такое соединение выглядит как обычный HTTPS к большому зарубежному сайту, и даже если проверяющий подключится к серверу сам, он увидит этот сайт с его настоящим сертификатом.
Двадцать две части подряд мы говорили «TLS» одной фразой: «шифрование поверх TCP, на котором работает HTTPS». Пора разобрать его как протокол. IPsec защищал пакеты на сетевом уровне, и приложения о нём не знали; TLS, Transport Layer Security, делает обратное: он живёт внутри одного TCP-соединения (десятая часть), и приложение само решает им пользоваться. Зато ему не нужны ни шлюзы, ни туннели, ни права администратора: библиотека в браузере и библиотека на сервере — и всё. Поэтому именно TLS защищает подавляющую часть трафика в интернете: HTTPS, почту между серверами, DNS в DoT и DoH из двенадцатой части, OpenVPN из двадцатой.
Половина этой части — не о шифровании, а о доверии: откуда браузер знает, что разговаривает именно с www.example.com, а не с тем, кто встал посередине. Шифрование без этого бесполезно, и ответ на этот вопрос — сертификаты.
OSPF из прошлой части строит карту одной сети и считает по ней кратчайшие пути. Интернет — это семьдесят с лишним тысяч независимых сетей, у каждой свой владелец, свои деньги и свои интересы, и никто не согласится отдать соседу карту своей сети, а «кратчайший путь» там не критерий: провайдер повезёт трафик туда, где ему дешевле, а не ближе. Для этого нужен протокол другого рода — не про расстояния, а про политику. Это BGP, Border Gateway Protocol, версия 4, RFC 4271, 1994 год: единственный протокол маршрутизации между сетями, и единственный, на котором держится интернет целиком.
У меня в блоге уже есть серия о BGP на практике — там кластер Kubernetes анонсирует адреса роутеру. Здесь — сам протокол с нуля.
В шестой части таблица маршрутов роутера заполнялась тремя способами: подключённые сети появлялись сами, статические писал администратор, а динамические «приходили от протоколов маршрутизации, по которым роутеры рассказывают друг другу о своих сетях». Пора разобрать, как именно рассказывают. Внутри одной организации — офиса, кампуса, дата-центра, сети провайдера — это почти всегда OSPF, Open Shortest Path First, RFC 2328. Между организациями — BGP, и он в следующей части.
В девятнадцатой части мы разобрали IPsec и IKEv2 как протоколы: пакеты, обмены, ключи. Сегодня — что из них получается на машине пользователя, когда он нажимает «Подключиться», и чем это отличается от другого способа пустить трафик через чужой сервер — прокси. Слово «VPN» затёрто до неузнаваемости: им называют и туннель между офисами, и кнопку в браузере, и это разные вещи с разной механикой. Серия построена на уровнях, и именно уровни дают точный ответ: VPN работает на сетевом уровне, прокси — на транспортном или прикладном. Всё остальное из этого следует.
Всё, что мы разбирали до сих пор, ходило по сети открытым текстом: заголовки, данные, пароли в PAP из четвёртой части, запросы DNS. Защиту мы встречали только выше транспорта — TLS, протокол шифрования внутри TCP-соединения, на котором работает HTTPS: он защищает данные одного приложения, и только если приложение его использует. IPsec делает защиту на сетевом уровне: шифрует и подписывает IP-пакеты целиком, так что приложения о ней не знают, а защищённым оказывается всё — любой протокол, любой порт. На IPsec построены туннели между офисами, подключение сотрудников к корпоративной сети и, как увидим в следующей части, большинство «VPN» в настройках телефона.
IPsec — это два слоя. IPsec в узком смысле — формат защищённых пакетов и правила их обработки: что шифровать, каким ключом, как проверять. IKE — Internet Key Exchange, протокол, по которому две стороны договариваются об алгоритмах, проверяют друг друга и вырабатывают ключи для первого слоя. Разберём снизу вверх.
VLAN из прошлой части режет один коммутатор на много сетей. Но у него два ограничения, которые в дата-центре становятся стенами. Первое — номеров всего 4094, а облачный провайдер хочет изолированную сеть каждому клиенту, и клиентов у него сотни тысяч. Второе важнее: VLAN — это L2, и она заканчивается там, где начинается роутер. Виртуальная машина, переезжающая с сервера в одной стойке на сервер в другой, хочет сохранить IP-адрес и остаться в «своей» сети, а между стойками — маршрутизаторы. Растягивать L2 через весь дата-центр на VLAN и STP значит получить один огромный домен широковещания с одним деревом STP, и это не работает уже на нескольких сотнях коммутаторов.
VXLAN, Virtual eXtensible LAN, RFC 7348, решает обе задачи одним приёмом из первой части — протокол внутри протокола: кадр Ethernet заворачивается в UDP-датаграмму и едет через любую IP-сеть, как обычный пакет. Для хостов внутри это L2-сегмент, для сети снаружи — UDP-трафик между серверами.
Во второй части коммутатор делил домены коллизий, но не домен широковещания: ARP-запрос, DHCP DISCOVER и Router Advertisement получали все, кто воткнут в коммутатор. Один коммутатор — одна сеть, одна подсеть IP. В офисе с бухгалтерией, гостевым Wi-Fi, телефонами и серверами это означало бы по коммутатору и по кабелю на каждую сеть. VLAN, Virtual LAN, IEEE 802.1Q, решает задачу иначе: один коммутатор и один кабель несут несколько независимых сетей, которые друг друга не видят, как будто это разные коммутаторы. Это самая часто используемая технология сегментации, и, как обычно, нас интересует, что для этого добавили в кадр и что делает с ним коммутатор.