Как создавать понятные логические (L3) схемы сети

в 20:13, , рубрики: диаграммы, Сетевые технологии, сети, системное администрирование, схемы

Cамая большая проблема, с которой я сталкиваюсь при работе с сетями предприятий — это отсутствие чётких и понятных логических схем сети. В большинстве случаев я сталкиваюсь с ситуациями, когда заказчик не может предоставить никаких логических схем или диаграмм. Сетевые диаграммы (далее L3-схемы) являются чрезвычайно важными при решении проблем, либо планировании изменений в сети предприятия. Логические схемы во многих случаях оказываются более ценными, чем схемы физических соединений. Иногда мне встречаются «логически-физически-гибридные» схемы, которые практически бесполезны. Если вы не знаете логическую топологию вашей сети, вы слепы. Как правило, умение изображать логическую схему сети не является общим навыком. Именно по этой причине я пишу эту статью про создание чётких и понятных логических схем сети.

Какая информация должна быть представлена на L3-схемах?

Для того, чтобы создать схему сети, вы должны иметь точное представление о том, какая информация должна присутствовать и на каких именно схемах. В противном случае вы станете смешивать информацию и в итоге получится очередная бесполезная «гибридная» схема. Хорошие L3-схемы содержат следующую информацию:

  • подсети
    • VLAN ID (все)
    • названия VLAN'ов
    • сетевые адреса и маски (префиксы)

  • L3-устройства
    • маршрутизаторы, межсетевые экраны (далее МСЭ) и VPN-шлюзы (как минимум)
    • наиболее значимые серверы (например, DNS и пр.)
    • ip-адреса этих серверов
    • логические интерфейсы

  • информацию протоколов маршрутизации

Какой информации НЕ должно быть на L3-схемах?

Перечисленной ниже информации не должно быть на сетевых схемах, т.к. она относится к другим уровням [модели OSI, прим. пер.] и, соответственно, должна быть отражена на других схемах:

  • вся информация L2 и L1 (в общем случае)
  • L2-коммутаторы (может быть представлен только интерфейс управления)
  • физические соединения между устройствами

Используемые обозначения

Как правило, на логических схемах используются логические символы. Большинство из них не требуют пояснений, но т.к. я уже видел ошибки их применения, то позволю себе остановиться и привести несколько примеров:

  • Подсеть, представленная как трубка или линия:
    Как создавать понятные логические (L3) схемы сети
  • VRF или другая не известная точно зона представляется в виде облака:

    Как создавать понятные логические (L3) схемы сети

Какая информация необходима для создания L3-схемы?

Для того, чтобы создать логическую схему сети, понадобится следующая информация:

  • Схема L2 (или L1) — представление физических соединений между устройствами L3 и коммутаторами
  • Конфигурации устройств L3 — текстовые файлы либо доступ к GUI, и т.д.
  • Конфигурации устройств L2 — текстовые файлы либо доступ к GUI, и т.д.
Пример

В данном примере мы будем использовать простую сеть. В ней будут присутствовать коммутаторы Cisco и МСЭ Juniper Netscreen. Нам предоставлена схема L2, также как и конфигурационные файлы большинства представленных устройств. Конфигурационные файлы пограничных маршрутизаторов ISP не предоставлены, т.к. в реальной жизни такую информацию ISP не передаёт. Ниже представлена L2-топология сети:

Как создавать понятные логические (L3) схемы сети

А здесь представлены файлы конфигурации устройств. Оставлена только необходимая информация:

asw1

!
vlan 210
name Servers1
!
vlan 220
name Servers2
!
vlan 230
name Servers3
!
vlan 240
name Servers4
!
vlan 250
name In-mgmt
!
interface GigabitEthernet0/1
switchport mode trunk
switchport trunk encapsulation dot1q
!
interface GigabitEthernet0/2
switchport mode trunk
switchport trunk encapsulation dot1q
!
interface vlan 250
ip address 192.168.10.11 255.255.255.128
!
ip default-gateway 192.168.10.1

asw2

!
vlan 210
name Servers1
!
vlan 220
name Servers2
!
vlan 230
name Servers3
!
vlan 240
name Servers4
!
vlan 250
name In-mgmt
!
interface GigabitEthernet0/1
switchport mode trunk
switchport trunk encapsulation dot1q
!
interface GigabitEthernet0/2
switchport mode trunk
switchport trunk encapsulation dot1q
!
interface vlan 250
ip address 192.168.10.12 255.255.255.128
!
ip default-gateway 192.168.10.1

asw3
!
vlan 210
name Servers1
!
vlan 220
name Servers2
!
vlan 230
name Servers3
!
vlan 240
name Servers4
!
vlan 250
name In-mgmt
!
interface GigabitEthernet0/1
switchport mode trunk
switchport trunk encapsulation dot1q
!
interface GigabitEthernet0/2
switchport mode trunk
switchport trunk encapsulation dot1q
!
interface vlan 250
ip address 192.168.10.13 255.255.255.128
!
ip default-gateway 192.168.10.1

csw1

!
vlan 200
name in-transit
!
vlan 210
name Servers1
!
vlan 220
name Servers2
!
vlan 230
name Servers3
!
vlan 240
name Servers4
!
vlan 250
name In-mgmt
!
interface GigabitEthernet0/1
switchport mode trunk
switchport trunk encapsulation dot1q
!
interface GigabitEthernet0/2
switchport mode trunk
switchport trunk encapsulation dot1q
channel-group 1 mode active
!
interface GigabitEthernet0/3
switchport mode trunk
switchport trunk encapsulation dot1q
channel-group 1 mode active
!
interface GigabitEthernet0/4
switchport mode trunk
switchport trunk encapsulation dot1q
!
interface GigabitEthernet0/5
switchport mode trunk
switchport trunk encapsulation dot1q
!
interface GigabitEthernet0/6
switchport mode trunk
switchport trunk encapsulation dot1q
!
interface Port-channel 1
switchport mode trunk
switchport trunk encapsulation dot1q
!
interface vlan 200
ip address 10.0.0.29 255.255.255.240
standby 1 ip 10.0.0.28
!
interface vlan 210
ip address 192.168.0.2 255.255.255.128
standby 2 ip 192.168.0.1
!
interface vlan 220
ip address 192.168.0.130 255.255.255.128
standby 3 ip 192.168.0.129
!
interface vlan 230
ip address 192.168.1.2 255.255.255.128
standby 4 ip 192.168.1.1
!
interface vlan 240
ip address 192.168.1.130 255.255.255.128
standby 5 ip 192.168.1.129
!
interface vlan 250
ip address 192.168.10.2 255.255.255.128
standby 6 ip 192.168.10.1
!
ip route 0.0.0.0 0.0.0.0 10.0.0.17

csw2

!
vlan 200
name in-transit
!
vlan 210
name Servers1
!
vlan 220
name Servers2
!
vlan 230
name Servers3
!
vlan 240
name Servers4
!
vlan 250
name In-mgmt
!
interface GigabitEthernet0/1
switchport mode trunk
switchport trunk encapsulation dot1q
!
interface GigabitEthernet0/2
switchport mode trunk
switchport trunk encapsulation dot1q
channel-group 1 mode active
!
interface GigabitEthernet0/3
switchport mode trunk
switchport trunk encapsulation dot1q
channel-group 1 mode active
!
interface GigabitEthernet0/4
switchport mode trunk
switchport trunk encapsulation dot1q
!
interface GigabitEthernet0/5
switchport mode trunk
switchport trunk encapsulation dot1q
!
interface GigabitEthernet0/6
switchport mode trunk
switchport trunk encapsulation dot1q
!
interface Port-channel 1
switchport mode trunk
switchport trunk encapsulation dot1q
!
interface vlan 200
ip address 10.0.0.30 255.255.255.240
standby 1 ip 10.0.0.28
!
interface vlan 210
ip address 192.168.0.3 255.255.255.128
standby 2 ip 192.168.0.1
!
interface vlan 220
ip address 192.168.0.131 255.255.255.128
standby 3 ip 192.168.0.129
!
interface vlan 230
ip address 192.168.1.3 255.255.255.128
standby 4 ip 192.168.1.1
!
interface vlan 240
ip address 192.168.1.131 255.255.255.128
standby 5 ip 192.168.1.129
!
interface vlan 250
ip address 192.168.10.3 255.255.255.128
standby 6 ip 192.168.10.1
!
ip route 0.0.0.0 0.0.0.0 10.0.0.17

fw1

set interface ethernet0/1 zone untrust
set interface ethernet0/1.101 tag 101 zone dmz
set interface ethernet0/1.102 tag 102 zone mgmt
set interface ethernet0/2 zone trust
set interface ethernet0/1 ip 10.0.0.1/28
set interface ethernet0/1 manage-ip 10.0.0.2
set interface ethernet0/1.101 ip 10.0.0.33/28
set interface ethernet0/1.102 ip 10.0.0.49/28
set interface ethernet0/2 ip 10.0.0.17/28
set interface ethernet0/2 manage-ip 10.0.0.18
set vrouter trust-vr route 0.0.0.0/0 interface ethernet0/1 gateway 10.0.0.12

fw2

set interface ethernet0/1 zone untrust
set interface ethernet0/1.101 tag 101 zone dmz
set interface ethernet0/1.102 tag 102 zone mgmt
set interface ethernet0/2 zone trust
set interface ethernet0/1 ip 10.0.0.1/28
set interface ethernet0/1 manage-ip 10.0.0.3
set interface ethernet0/1.101 ip 10.0.0.33/28
set interface ethernet0/1.102 ip 10.0.0.49/28
set interface ethernet0/2 ip 10.0.0.17/28
set interface ethernet0/2 manage-ip 10.0.0.19
set vrouter trust-vr route 0.0.0.0/0 interface ethernet0/1 gateway 10.0.0.12

outsw1

!
vlan 100
name Outside
!
vlan 101
name DMZ
!
vlan 102
name Mgmt
!
interface GigabitEthernet1/0
description To-Inet-rtr1
switchport mode access
switchport access vlan 100
!
interface GigabitEthernet1/1
switchport mode trunk
switchport trunk encapsulation dot1q
!
interface GigabitEthernet1/3
switchport mode trunk
switchport trunk encapsulation dot1q
channel-group 1 mode active
!
interface GigabitEthernet1/4
switchport mode trunk
switchport trunk encapsulation dot1q
channel-group 1 mode active
!
interface Port-channel 1
switchport mode trunk
switchport trunk encapsulation dot1q
!
interface vlan 102
ip address 10.0.0.50 255.255.255.240
!
ip default-gateway 10.0.0.49

outsw2

!
vlan 100
name Outside
!
vlan 101
name DMZ
!
vlan 102
name Mgmt
!
interface GigabitEthernet1/0
description To-Inet-rtr2
switchport mode access
switchport access vlan 100
!
interface GigabitEthernet1/1
switchport mode trunk
switchport trunk encapsulation dot1q
!
interface GigabitEthernet1/3
switchport mode trunk
switchport trunk encapsulation dot1q
channel-group 1 mode active
!
interface GigabitEthernet1/4
switchport mode trunk
switchport trunk encapsulation dot1q
channel-group 1 mode active
!
interface Port-channel 1
switchport mode trunk
switchport trunk encapsulation dot1q
!
interface vlan 102
ip address 10.0.0.51 255.255.255.240
!
ip default-gateway 10.0.0.49
Сбор информации и её визуализация

Хорошо. Теперь, когда мы имеем всю необходимую информацию, можно приступать к визуализации.

Процесс отображения шаг за шагом

  1. Сбор информации:
    1. Для начала откроем файл конфигурации (в данном случае ASW1).
    2. Возьмём оттуда каждый ip-адрес из разделов интерфейсов. В данном случае есть только один адрес (192.168.10.11) с маской 255.255.255.128. Имя интерфейса — vlan250, и имя vlan 250 — In-mgmt.
    3. Возьмём все статические маршруты из конгфигурации. В данном случае есть только один (ip default-gateway), и он указывает на 192.168.10.1.

  2. Отображение:
    1. Теперь давайте отобразим информацию, которую мы собрали. Во-первых, нарисуем устройство ASW1. ASW1 является коммутатором, поэтому используем символ коммутатора.
    2. Нарисуем подсеть (трубку). Назначим ей имя In-mgmt, VLAN-ID 250 и адрес 192.168.10.0/25.
    3. Соединим ASW1 и подсеть.
    4. Вставляем текстовое поле между символами ASW1 и подсети. Отобразим в нём имя логического интерфейса и ip-адрес. В данном случае имя интерфейса будет vlan250, и последний октет ip-адреса — .11 (это является общей практикой — отображать только последний октет ip-адреса, т.к. ip-адрес сети уже присутствует на схеме).
    5. Также в сети In-mgmt есть другое устройство. Или, как минимум, должно быть. Нам ещё неизвестно имя этого устройства, но его IP-адрес 192.168.10.1. Мы узнали это потому, что ASW1 указывает на этот адрес как на шлюз по-умолчанию. Поэтому давайте отобразим это устройство на схеме и дадим ему временное имя "??". Также добавим его адрес на схему — .1 (кстати, я всегда выделяю неточную/неизвестную информацию красным цветом, чтобы глядя на схему можно было сразу понять, что на ней требует уточнения).

На этом этапе мы получаем схему, подобную этой:

Как создавать понятные логические (L3) схемы сети

Повторите этот процесс шаг за шагом для каждого сетевого устройства. Соберите всю информацию, относящуюся к IP, и отобразите на этой же схеме: каждый ip-адрес, каждый интерфейс и каждый статический маршрут. В процессе ваша схема станет очень точной. Убедитесь, что устройства, которые упомянуты, но пока неизвестны, отображены на схеме. Точно так же, как мы делали ранее с адресом 192.168.10.1. Как только вы выполните всё перечисленное для всех известных сетевых устройств, можно начать выяснение неизвестной информации. Вы можете использовать для этого таблицы MAC и ARP (интересно, стоит ли писать следующий пост, рассказывающий подробно об этом этапе?).

В конечном счёте мы будем иметь схему наподобие этой:

Как создавать понятные логические (L3) схемы сети

Заключение

Нарисовать логическую схему сети можно очень просто, если вы обладаете соответствующими знаниями. Это продолжительный процесс, выполняемый вручную, но это отнюдь не волшебство. Как только у вас есть L3-схема сети, достаточно нетрудно поддерживать её в актуальном состоянии. Получаемые преимущества стоят приложенных усилий:

  • вы можете планировать изменения быстро и точно;
  • решение проблем занимает гораздо меньше времени, чем до этого. Представим, что кому-то нужно решить проблему недоступности сервиса для 192.168.0.200 до 192.168.1.200. После просмотра L3-схемы можно с уверенностью сказать, что МСЭ не является причиной данной проблемы.
  • Вы можете легко соблюдать корректность правил МСЭ. Я видел ситуации, когда МСЭ содержали правила для трафика, который никогда бы не прошёл через этот МСЭ. Этот пример отлично показывает, что логическая топология сети неизвестна.
  • Обычно как только L3-схема сети создана, вы сразу заметите, какие участки сети не имеют избыточности и т.д. Другими словами, топология L3 (а также избыточность) является такой же важной как избыточность на физическом уровне.

Автор: qaz

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js