Выбирайте адресное пространство VPN по распределению, а не по незаметности
Диапазоны для бенчмаркинга, общие и документационные имеют каждый своего владельца и назначение. Выберите пространство VPN из реестра, затем спланируйте перекрытие, которое нельзя устранить.
Необычно выглядящий префикс кажется выходом из конфликта адресов между домом и офисом, и обычно им не является. У каждого блока в реестре IPv4 специального назначения есть владелец, назначение и причина существования, а заимствование одного из-за того, что он выглядит тихим, переносит конфликт вместо того, чтобы устранить его. Выполняйте это как последовательность: прочитайте распределение, проведите инвентаризацию того, что уже пересекается, и только затем решите, перенумеровываете ли вы, транслируете или создаёте новое пространство. Порядок важен, потому что третий шаг зависит от того, что нашли первые два.
Прочитайте распределение, прежде чем заимствовать диапазон
Реестр специального назначения IANA отделяет диапазоны, являющиеся многоразовым частным пространством, от диапазонов, служащих одной конкретной технической цели. Частное использование, общее адресное пространство, бенчмаркинг и документационные блоки выглядят в таблице одинаково и ведут себя совершенно по-разному, как только маршрутизируются.
| Range | Category | What it means for a VPN plan |
|---|---|---|
| 172.16.0.0/12, 192.168.0.0/16, 10.0.0.0/8 | RFC 1918 private use | Reusable by any network, so remote sites may already use the same numbers |
| 100.64.0.0/10 | Shared address space | Intended for provider-side carrier-grade NAT arrangements, not a second private pool |
| 198.18.0.0/15 | Benchmarking | Reserved for test traffic measurement; not spare production space |
| 203.0.113.0/24, 198.51.100.0/24, 192.0.2.0/24 | Documentation (RFC 5737) | Illustration only; a guide that uses them is not assigning them to you |
| 169.254.0.0/16, 240.0.0.0/4 | Link-local, reserved | Never a routed site subnet, whatever the prefix length suggests |
Два префикса, различающиеся только во втором октете, — не один и тот же блок: 198.18.0.0/15 несёт резервирование для бенчмаркинга, а 192.18.0.0/16 не несёт ничего подобного. Число, которое лишь похоже на зарезервированный диапазон, не наследует его смысл. Эта путаница достаточно распространена, чтобы заслуживать второго взгляда до того, как попадёт в правило межсетевого экрана.
Продукты иногда намеренно используют специальный диапазон внутри согласованного наложения, и это их архитектура, которую нужно документировать. Это не делает тот же диапазон свободным пространством для несвязанной локальной сети. Публичное пространство тоже не укрытие: частный маршрут к адресу, принадлежащему кому-то другому, уводит трафик, предназначенный его законному получателю.
Проведите инвентаризацию уже имеющихся перекрытий
Прежде чем выбирать префикс, перечислите каждую сеть, которая будет доступна из туннеля. Площадки, пулы клиентов, облачные VPC и партнёрские соединения все учитываются, и именно партнёрское соединение люди забывают, пока первая попытка подключения не провалится.
ip -4 route show table all ip -6 route show ip -br addr ip route get 192.168.1.10
Поместите результаты в одну таблицу с владельцем каждого диапазона рядом. Диапазон, для которого вы не можете назвать владельца, — это диапазон, который вы не сможете перенумеровать позже, и именно инвентаризация превращает спор о «необычных» префиксах в решение о конкретных числах. Она также сообщает, реально ли противоречие, которого вы пытаетесь избежать, или воображаемо.
Если домашняя сеть удалённого сотрудника использует тот же префикс, что и офисная локальная сеть, это противоречие видно в инвентаризации и может быть разрешено явно. Это не доказательство, что блок для бенчмаркинга был бы разумным выбором, и именно такой подход создаёт следующее столкновение.
Создайте уникальный ULA вместо копирования префикса
IPv6 решает проблему повторного использования другим механизмом, а не более красивым числом. RFC 4193 определяет локально назначенные уникальные локальные адреса с псевдослучайным 40-bit глобальным идентификатором, что даёт вам /48 для площадки, которая очень маловероятно столкнётся с чужой. Вероятность высока, но не абсолютна, и префикс ULA по-прежнему не обеспечивает доступности в интернете.
openssl rand -hex 5
Десять шестнадцатеричных цифр — это сорок бит. Поставьте перед ними fd и сгруппируйте в /48: вывод 3f9c1a7b02 становится fd3f:9c1a:7b02::/48. Создайте по одному на площадку и запишите его, вместо того чтобы вставлять один и тот же удобный fd00::/48 в каждое развёртывание.
Затем убедитесь, что весь путь действительно говорит на IPv6. Клиенты, шлюз, маршруты, частный DNS и политика сервисов должны согласовываться, и назначение префикса туннелю не заставляет приложение, работающее только с IPv4, использовать его.
Спланируйте перекрытие, которое нельзя устранить
Некоторые перекрытия постоянны, обычно потому что партнёр не будет перенумеровывать, а вы не можете его заставить. Тогда вы сознательно выбираете поддерживаемый механизм: перенумерацию на своей стороне, изолированный контекст маршрутизации или явную трансляцию на границе. Сознательный выбор означает записать, какой именно выбран и почему два других отклонены. Именно эту заметку будущий обзор изменений действительно прочитает.
Трансляция должна сохранять обратный путь, то есть записывать и исходный, и представленный префикс и сопоставлять их с частными именами DNS, которые в них разрешаются. Сопоставленный псевдоним может сделать одно соединение однозначным; он не делает исходные адреса глобально уникальными и не выдержит второго перекрывающегося партнёра без второго сопоставления.
Запишите распределение вместе с его исключением
Завершите документом, который перечисляет каждый префикс, его категорию, владельца и причину выбора. Добавьте исключения с их правилом трансляции или перенумерации и датой, когда кто-то их утвердил. Держите его рядом с правилами межсетевого экрана, которые его реализуют, а не в вики, которую никто не открывает во время инцидента. Документ — это результат, а не его краткое изложение.
Именно эта запись мешает следующему инженеру искать более странно выглядящее число, и именно так эта проблема заново открывается каждые несколько лет под новым названием. Она также даёт обзору изменений что-то конкретное для утверждения вместо мнения о префиксах. Напишите её один раз, в конце распределения, пока обоснование ещё перед вами.