Kак создавать понятные логические (L3) схемы сети
ПЕРЕВОД взят с habrahabr.ru
Оригинал: Jaakko Rautanen
Cамая большая проблема, с которой я сталкиваюсь при работе с сетями предприятий — это отсутствие чётких и понятных логических схем сети. В большинстве случаев я сталкиваюсь с ситуациями, когда заказчик не может предоставить никаких логических схем или диаграмм. Сетевые диаграммы (далее L3-схемы) являются чрезвычайно важными при решении проблем, либо планировании изменений в сети предприятия. Логические схемы во многих случаях оказываются более ценными, чем схемы физических соединений. Иногда мне встречаются «логически-физически-гибридные» схемы, которые практически бесполезны. Если вы не знаете логическую топологию вашей сети, вы слепы. Как правило, умение изображать логическую схему сети не является общим навыком. Именно по этой причине я пишу эту статью про создание чётких и понятных логических схем сети.
Какая информация должна быть представлена на L3-схемах?
Для того, чтобы создать схему сети, вы должны иметь точное представление о том, какая информация должна присутствовать и на каких именно схемах. В противном случае вы станете смешивать информацию и в итоге получится очередная бесполезная «гибридная» схема. Хорошие L3-схемы содержат следующую информацию:
подсети
VLAN ID (все)
названия VLAN\’ов
сетевые адреса и маски (префиксы)
L3-устройства
маршрутизаторы, межсетевые экраны (далее МСЭ) и VPN-шлюзы (как минимум)
наиболее значимые серверы (например, DNS и пр.)
ip-адреса этих серверов
логические интерфейсы
информацию протоколов маршрутизации
Какой информации НЕ должно быть на L3-схемах?
Перечисленной ниже информации не должно быть на сетевых схемах, т.к. она относится к другим уровням [модели OSI, прим. пер.] и, соответственно, должна быть отражена на других схемах:
вся информация L2 и L1 (в общем случае)
L2-коммутаторы (может быть представлен только интерфейс управления)
физические соединения между устройствами
Используемые обозначения
Как правило, на логических схемах используются логические символы. Большинство из них не требуют пояснений, но т.к. я уже видел ошибки их применения, то позволю себе остановиться и привести несколько примеров:
Подсеть, представленная как трубка или линия:
VRF или другая не известная точно зона представляется в виде облака:
Какая информация необходима для создания L3-схемы?
Для того, чтобы создать логическую схему сети, понадобится следующая информация:
Схема L2 (или L1) — представление физических соединений между устройствами L3 и коммутаторами
Конфигурации устройств L3 — текстовые файлы либо доступ к GUI, и т.д.
Конфигурации устройств L2 — текстовые файлы либо доступ к GUI, и т.д.
В данном примере мы будем использовать простую сеть. В ней будут присутствовать коммутаторы Cisco и МСЭ Juniper Netscreen. Нам предоставлена схема L2, также как и конфигурационные файлы большинства представленных устройств. Конфигурационные файлы пограничных маршрутизаторов ISP не предоставлены, т.к. в реальной жизни такую информацию ISP не передаёт. Ниже представлена L2-топология сети:
А здесь представлены файлы конфигурации устройств. Оставлена только необходимая информация:
asw1
asw2
asw3
csw1
csw2
fw1
fw2
outsw1
outsw2
Сбор информации и её визуализация
Хорошо. Теперь, когда мы имеем всю необходимую информацию, можно приступать к визуализации.
Процесс отображения шаг за шагом
Сбор информации:
Для начала откроем файл конфигурации (в данном случае ASW1).
Возьмём оттуда каждый ip-адрес из разделов интерфейсов. В данном случае есть только один адрес (192.168.10.11) с маской 255.255.255.128. Имя интерфейса — vlan250, и имя vlan 250 — In-mgmt.
Возьмём все статические маршруты из конгфигурации. В данном случае есть только один (ip default-gateway), и он указывает на 192.168.10.1.
Отображение:
Теперь давайте отобразим информацию, которую мы собрали. Во-первых, нарисуем устройство ASW1. ASW1 является коммутатором, поэтому используем символ коммутатора.
Нарисуем подсеть (трубку). Назначим ей имя In-mgmt, VLAN-ID 250 и адрес 192.168.10.0/25.
Соединим ASW1 и подсеть.
Вставляем текстовое поле между символами ASW1 и подсети. Отобразим в нём имя логического интерфейса и ip-адрес. В данном случае имя интерфейса будет vlan250, и последний октет ip-адреса — .11 (это является общей практикой — отображать только последний октет ip-адреса, т.к. ip-адрес сети уже присутствует на схеме).
Также в сети In-mgmt есть другое устройство. Или, как минимум, должно быть. Нам ещё неизвестно имя этого устройства, но его IP-адрес 192.168.10.1. Мы узнали это потому, что ASW1 указывает на этот адрес как на шлюз по-умолчанию. Поэтому давайте отобразим это устройство на схеме и дадим ему временное имя \»??\». Также добавим его адрес на схему — .1 (кстати, я всегда выделяю неточную/неизвестную информацию красным цветом, чтобы глядя на схему можно было сразу понять, что на ней требует уточнения).
На этом этапе мы получаем схему, подобную этой:
Повторите этот процесс шаг за шагом для каждого сетевого устройства. Соберите всю информацию, относящуюся к IP, и отобразите на этой же схеме: каждый ip-адрес, каждый интерфейс и каждый статический маршрут. В процессе ваша схема станет очень точной. Убедитесь, что устройства, которые упомянуты, но пока неизвестны, отображены на схеме. Точно так же, как мы делали ранее с адресом 192.168.10.1. Как только вы выполните всё перечисленное для всех известных сетевых устройств, можно начать выяснение неизвестной информации. Вы можете использовать для этого таблицы MAC и ARP (интересно, стоит ли писать следующий пост, рассказывающий подробно об этом этапе?).
В конечном счёте мы будем иметь схему наподобие этой:
Нарисовать логическую схему сети можно очень просто, если вы обладаете соответствующими знаниями. Это продолжительный процесс, выполняемый вручную, но это отнюдь не волшебство. Как только у вас есть L3-схема сети, достаточно нетрудно поддерживать её в актуальном состоянии. Получаемые преимущества стоят приложенных усилий:
вы можете планировать изменения быстро и точно;
решение проблем занимает гораздо меньше времени, чем до этого. Представим, что кому-то нужно решить проблему недоступности сервиса для 192.168.0.200 до 192.168.1.200. После просмотра L3-схемы можно с уверенностью сказать, что МСЭ не является причиной данной проблемы.
Вы можете легко соблюдать корректность правил МСЭ. Я видел ситуации, когда МСЭ содержали правила для трафика, который никогда бы не прошёл через этот МСЭ. Этот пример отлично показывает, что логическая топология сети неизвестна.
Обычно как только L3-схема сети создана, вы сразу заметите, какие участки сети не имеют избыточности и т.д. Другими словами, топология L3 (а также избыточность) является такой же важной как избыточность на физическом уровне.