Содержание
- 1 Задача по сетям:
- 2 Зачем так делать?
- 3 Распределяем адреса на узлы.
- 4 Итак, все адреса раздали. Самое время настроить VLAN.
- 5 Далее, настраиваем VTP и Trunk.
- 6 Тест 1. Проверка канального уровня.
- 7 Используем центральный свитч как роутер.
- 8 Включаем маршрутизацию:
- 9 Тест 2. Проверка доступности центрального коммутатора.
- 10 Нам нужно только создать новый лист правил.
Картинка тут простая. Простая? Да это ж… кошмар!
Ну на самом деле всё намного проще. Итак, мы имеем:
- Три коммутатора уровня распределения.
- Один центральный коммутатор (выполняющий роль роутера).
- Сервер.
- Три подсети по 2 узла в каждой, привязанных (это я специально) к разным устройствам.
Цветом я выделил примерные VLAN-ы. Разумеется, можно добавить VLAN куда-нибудь ещё, в любое место и убедиться, что система будет работать.
Задача по сетям:
Для любого VLAN могут быть доступны только узлы этого же VLAN и серверные хосты (у нас – один), остальное запрещено.
Зачем так делать?
- Выделение узлов в отдельные VLAN позволит уменьшить долю широковещательного трафика в сети в целом, сократив распространение пакетов в пределах только лишь своего широковещательного домена. Жесть написано. Но для этого читайте о преимуществах VLAN.
- Безопасность выйдет на новый уровень. Не нужно бояться, что одно подразделение получит доступ к узлам другого подразделения. Теперь это просто невозможно будет сделать.
- Должно быть удобнее администрировать такую сеть. Так это или нет – мы увидим скоро.
Итак, понеслась душа в рай!
Нарисум в Cisco Packet Tracer подобную схему. Как я уже говорил, скачать его можно в разделе Файлопомойка.
Распределяем адреса на узлы.
На деле, конечно, лучше всего для этих целей привлечь DHCP сервер. И поверьте мне, я очень хочу этим заняться. Но пока вот вручную.
В общем-то по скринам видно, кому какие адреса я даю. Маска на всех хостах 255.255.255.0 (так мы сократим количество узлов в широковещательном домене до 254).
Кто забыл, как назначать адрес – напоминаю. Выбираем узел, открываются свойства. На вкладке Config есть поля IP Configuration. Туда и заносим. Не забывайте про маску! По умолчанию подставится сеть класса A (255.0.0.0), хотя классы сетей остались в прошлом.
Итак, все адреса раздали. Самое время настроить VLAN.
Входим на центральный коммутатор и начинаем настраивать базу VLAN. Кстати, это делается либо через граф.оболочку, либо в CLI (мы за второй способ).
Switch>en
Switch#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#vlan 100
Switch(config-vlan)#name VLAN0100
Switch(config-vlan)#exit
Эти операции проделаем для каждого из VLAN (100, 101, 102, 103).
Далее, настраиваем VTP и Trunk.
Switch(config)#vtp domain MY
Switch(config)#vtp password MY
Switch(config)#vtp mode server
Готов VTP, настроим интерфейсы на транк.
Switch(config)#int fa0/1
Switch(config-if)#switchport trunk encapsulation dot1q
Switch(config-if)#switchport mode trunk
Switch(config-if)#exit
и повторим эти настройки для интерфейсов 2 и 3 (аналогично).
Транковый интерфейс пропускает трафик маркированный произвольным VLAN (если не настроены конкретные), поэтому они будут стоять на магистралях. А конечные интерфейсы выставим в режим access (доступ) только конкретного VLAN.
Уже на конкретном свиче, близ рабочей станции настроим интерфейс под определённый VLAN. Например свитч, который контактирует с сервером привяжем к серверному VLAN (100)
Switch(config)#int fa0/4
Switch(config-if)#switchport access vlan 100
Switch(config-if)#switchport mode access
Switch(config-if)#no shut
И такое повторим для каждого узла, только пометив интерфейс соответствующим VLAN. Внимание, не ошибитесь! 90% ошибок возникают на этом этапе.
И не забываем перевести остальные коммутаторы в режим client:
Switch(config)#vtp domain MY
Switch(config)#vtp password MY
Switch(config)#vtp mode client
Сразу после этого таблица VLAN разойдётся по коммутаторам с помощью протокола VTP.
Тест 1. Проверка канального уровня.
Попробуем пропинговать соседний с нами узел в VLAN. Например для 103 VLAN входим на узел 10.0.103.11 и пробуем пропинговать 10.0.103.12. Если всё сделано правильно – пакеты дойдут. При этом никакие другие узлы из других VLAN пинговаться не должны. Таким образом мы проверили 2-ой уровень модели OSI – канальный. Далее пойдём выше, на сетевой. Это немного сложнее.
Используем центральный свитч как роутер.
Создаём интерфейсы для каждого из VLAN. Для этого входим на центральный свитч и делаем:
Switch(config)#int vlan 100
Switch(config-if)#ip address 10.0.100.1 255.255.255.0
Switch(config-if)#no shut
Switch(config-if)#exit
И так повторяем для каждого VLAN, задавая адрес IP: 10.0.[VLAN].1 и маску /24. Это будут “хвосты” для шлюза по-умолчанию.
И для каждого узла в настройках зададим этот “хвост”, например для узла 10.0.101.12 хвостом будет 10.0.101.1 (т.е. 1-ый адрес соответствующего VLAN).
Включаем маршрутизацию:
Switch(config)#ip routing
Если всё сделали правильно, то…
Тест 2. Проверка доступности центрального коммутатора.
Посылаем с любого узла ping запрос на соответствующий его VLAN-у “конец”, например, если мы вошли на узел 10.0.103.11, то пинговать нужно 10.0.103.1. Если всё сделано правильно, то пакеты дойдут. С включением маршрутизации обнаружим, что пинговаться стали все компьютеры из любого места!
Одна часть задания выполнена. Теперь запретим все ненужные обращения. Для этого используем… ACL. Я уже описывал работы с ACL здесь и тут.
Нам нужно только создать новый лист правил.
Немного покубатурив, я решил, что правила будут такие:
- Разрешить пакеты от любого к серверам.
- Разрешить пакеты от серверов до любого.
- От одной подсети к этой же подсети разрешить.
- Дефолтное правило: запретить всё остальное.
В самом деле, эти правила полностью удовлетворяют условию задачи! Их и запишем.
Открываем центральный свич, ведь именно через него проходят все пакеты.
Switch(config)#ip access-list extended 100
Switch(config-ext-nacl)#permit ip any 10.0.100.0 0.0.0.255
Switch(config-ext-nacl)#permit ip 10.0.100.0 0.0.0.255 any
Switch(config-ext-nacl)#permit ip 10.0.101.0 0.0.0.255 10.0.101.0 0.0.0.255
Switch(config-ext-nacl)#permit ip 10.0.102.0 0.0.0.255 10.0.102.0 0.0.0.255
Switch(config-ext-nacl)#permit ip 10.0.103.0 0.0.0.255 10.0.103.0 0.0.0.255
Switch(config-ext-nacl)#exit
Остальные пакеты будут отлетать мимо, что нам и нужно как раз. Ну теперь этот access-list можно применить ко всем VLAN-ам на входящий трафик.
Switch(config)#int vlan 100
Switch(config-if)#ip access-group 100 in
Этот шаг повторяем для каждого из VLAN-ов. Вообще, конечно можно ACL сократить и оставить только нужные для каждого VLAN-а команды! Но я нарочно написал такой длинный, чтобы вы смогли его оптимизировать! Ответ жду в комментариях! Подсказка. Разрешаем только серверный трафик
Ну теперь финальные проверки. Попингушки!
Comments: