пособие по сетям. Уч_пособие IP-cети нов_оформление 1рец. Учебнометодическое пособие СанктПетербург спбгэту лэти 2017
Скачать 1.4 Mb.
|
5.5. Маршрутизация между VLAN-сетями Каждый VLAN – это отдельный сегмент сети, узлы в этом VLAN’е обычно входят в одну IP-подсеть. Связь между узлами из разных VLAN’ов осуществляется через маршрутизаторы, подключенные к этим VLAN’ам. Если маршрутизатор подключен к access-портам, то он может не поддерживать тегированный трафик; маршрутизатор, поддерживающий тегированный трафик, можно подключать к trunk-портам. Такой маршрутизатор на каждом физическом интерфейсе (порту) может иметь множество виртуальных интерфейсов, каждый из которых отвечает за прием и отправление трафика с определенным тегом. Например, трафик с тегом 2, физически проходящий через физический интерфейс eth0, логически будет проходить через виртуальный интерфейс eth0/2. 5.6. Лабораторная работа 5. Настройка VLAN в ОС Linux Цель: настройка подключения компьютера с использованием виртуальных интерфейсов и маршрутизации трафика из одного VLAN в другой. Имеются три виртуальные машины – Ub1, Ub3, UbR, на каждой установлен пакет vlan, необходимый для поддержки VLAN. 5.6.1 Порядок выполнения работы 0. На машинах Ub1 и Ub3 запустить скрипт toscrath.sh. 1. Настроить VLAN между ПК Ub1 и Ub3. VLAN ID, IP адреса и маски подсети использовать согласно указанным ниже вариантам. Проверить выполнение ping между ПК, объяснить результат, в случае если выдается ошибка – исправить настройки VLAN. 2. На машинах Ub1 и Ub3 запустить скрипты task2-v*.sh. Исправить ошибку в настройке сетевых адаптеров, после чего продемонстрировать успешный эхо-запрос от одного ПК к другому и обратно. 3. На трех ПК (Ub1, Ub3, UbR) запустить скрипт task3-v*.sh. Организовать подключение Ub1 к Ub3 и обратно через UbR. Настроить UbR таким образом, чтобы эхо-запрос успешно проходил с Ub1 на Ub3. 4. На трех ПК запустить скрипт task4-v*.sh. В данной задаче сеть настроена с ошибками. Необходимо исправить ошибку и показать выполнение эхо-запроса от Ub1 до Ub3. Схема подключения для задач 3 и 4 изображена на рис. 5.4. Рис. 5.4 Обосновать в отчете исправления при нахождении ошибок в схеме сети. Не забывать, что для выполнения задачи заново необходимо выполнить скрипты, предназначенные для данной задачи. В имени скрипта вместо «*» подставить номер своего варианта. В отчет необходимо включить настройки сетевых интерфейсов (имена, VLAN, IP-адреса, маски подсети, шлюз по умолчанию) – в том числе виртуальных – до исправлений и после. 5.6.2. Варианты заданий Вариант 1. Ub1: vlan id: 100, ip 10.0.0.1, netmask 255.255.255.0; Ub3: vlan id: 100, ip 10.0.0.2 netmask, 255.255.255.0. Вариант 2. Ub1: vlan id: 101, ip 10.168.16.1, netmask 255.255.240.0; Ub3: vlan id: 101, ip 10.168.30.220 netmask, 255.255.240.0. Вариант 3. Ub1: vlan id: 102, ip 1.7.0.2, netmask 255.192.0.0; Ub3: vlan id: 102, ip 1.60.60.60 netmask, 255.192.0.0. Вариант 4. Ub1: vlan id: 103, ip 220.23.12.7, netmask 255.255.248.0; Ub3: vlan id: 103, ip 220.23.8.34 netmask, 255.255.248.0. Вариант 5. Ub1: vlan id: 104, ip 8.0.0.7, netmask 255.255.224.0; Ub3: vlan id: 104, ip 8.0.31.222 netmask, 255.255.224.0. Вариант 6. Ub1: vlan id: 105, ip 110.10.12.54, netmask 255.128.0.0; Ub3: vlan id: 105, ip 110.1.13.67 netmask, 255.128.0.0. Вариант 7. Ub1: vlan id: 106, ip 18.18.18.35, netmask 255.255.255.224; Ub3: vlan id: 106, ip 18.18.18.60 netmask, 255.255.255.224. Вариант 8. Ub1: vlan id: 107, ip 78.98.178.198, netmask 255.255.255.224; Ub3: vlan id: 107, ip 78.98.179.47, netmask 255.255.254.0. Вариант 9. Ub1: vlan id: 108, ip 77.97.99.10, netmask 255.255.255.248; Ub3: vlan id: 108, ip 77.97.99.12 netmask, 255.255.255.248. Вариант 10. Ub1: vlan id: 109, ip 77.97.99.10, netmask 255.255.255.248; Ub3: vlan id: 109, ip 77.97.99.12, netmask 255.255.255.248. Вариант 11. Ub1: vlan id: 110, ip 154.137.12.8, netmask 255.255.255.224; Ub3: vlan id: 110, ip 154.137.12.27, netmask 255.255.255.224. Вариант 12. Ub1: vlan id: 111, ip 255.255.192.0, netmask 255.255.192.0; Ub3: vlan id: 111, ip 250.250.190.12, netmask 255.255.192.0. Вариант 13. Ub1: vlan id: 112, ip 12.13.14.15, netmask 255.255.255.128; Ub3: vlan id: 112, ip 12.13.14.120, netmask 255.255.255.128. Вариант 14. Ub1: vlan id: 113, ip 222.12.45.76, netmask 255.255.248.0; Ub3: vlan id: 113, ip 222.12.43.12, netmask 255.255.248.0. 5.6.3. Примеры команд, необходимых для выполнения работы 1) Настройка сетевого интерфейса VLAN. В файле /etc/network/interfaces дописать следующее: auto eth0.1001 iface eth0.1001 inet static address 1.0.0.1 netmask 255.255.255.0 vlan_raw_device eth0 Для применения настроек необходимо перезагрузить виртуальную машину. Эти действия создадут виртуальный сетевой интерфейс с VLAN ID 1001 с ip-адресом 1.0.0.1, подключенный к сетевому интерфейсу eth0. 2) настройка маршрутизации пакетов через другой ПК: sudo route add default gw 3) Проверки получения пакетов на узлах. Для этого следует запустить tcpdump. Это утилита, позволяющая перехватывать и анализировать сетевой трафик, проходящий через компьютер, на котором запущена данная программа. Для перехвата трафика с конкретного интерфейса запустите: sudo tcpdump –i <имя интерфейса> 5.6.4. Контрольные вопросы 1. Как настроить в Linux приём и передачу тегированного трафика? 2. Каким образом могут общаться между собой два ПК, принадлежащие разным VLAN? 3. Как выполняется маршрутизация между разными VLAN? 4. Как заставить компьютер выполнять роль коммутатора, поддерживающего VLAN? 5.7. Лабораторная работа 6. Организация и соединение виртуальных сетей на базе портов и тегов Цель: освоение принципов построения VLAN на базе портов и тегов. Схема сети, используемой в лабораторной работе, приведена на рис. 5.5. Рис. 5.5. К – компьютеры, H – концентраторы, S – коммутаторы, R – маршрутизаторы. К1, К2, К4, К7, К8 имеют IP-адреса одной подсети, К3 и К5 – другой подсети. 5.7.1. Порядок выполнения работы 0. Собрать и настроить сеть, описанную выше. 1. Сегментирование сети с использованием VLAN. 1.1. Настроить порты коммутатора S1 таким образом, чтобы К1 и К2 были подключены к VLAN 10, К3 – к VLAN 20, а К7 – к VLAN 30. 1.2. Проверить видимость между К1 и К2, между К1 и К3, между К1 и К4. Объяснить результаты. 1.3. Настроить порты остальных коммутаторов таким образом, чтобы К4 вошел в VLAN 10, К5 – в VLAN 20, а К8 – в VLAN 30. 1.4. Проверить видимость между К1 и К4, между К1 и К5. Объяснить результаты. 1.5. Проанализировать трафик, поступающий к К6, при отправке запросов: с К1 к К4, с К1 к К5, с К1 к К2, с К1 к К3, с К3 к К4, с К3 к К5. 2. Организация маршрутизации между VLAN с использованием обычного маршрутизатора. 2.1. Включить R1. Обеспечить доступность между компьютерами, принадлежащими VLAN 10, и компьютерами, принадлежащими VLAN 20, через шлюз R1. 2.2. Проверить видимость между компьютерами, принадлежащими разным VLAN. Объяснить результаты. 2.3. Отменить модификации сети, выполненные в п. 2.1. 3. Прямое соединение VLAN. 3.1. Cоединить VLAN 10 и VLAN 20 через порты доступа. 3.2. Проверить видимость между компьютерами, принадлежащими VLAN 10, и компьютерами, принадлежащими VLAN 20. Объяснить результаты. 3.3. Отменить модификации сети, выполненные в п. 3.1. 3.4. Cоединить VLAN 10 и VLAN 30 через порты доступа. 3.5. Проверить видимость между компьютерами, принадлежащими VLAN 10, и компьютерами, принадлежащими VLAN 30. Объяснить результаты. 3.6. Отменить модификации сети, выполненные в п. 3.4. 4. Организация маршрутизации между VLAN с использованием маршрутизатора, подключенного к транковому порту. 4.1. Обеспечить доступность между компьютерами, принадлежащими VLAN 10, и компьютерами, принадлежащими VLAN 20, через шлюз К6. 4.2. Проверить видимость между компьютерами, принадлежащими VLAN 10, и компьютерами, принадлежащими VLAN 20. Объяснить результаты. 4.3. Аналогично п. 4.1 попытаться обеспечить доступность между компьютерами, принадлежащими VLAN 10, и компьютерами, принадлежащими VLAN 30, через шлюз К6. Проверить видимость между компьютерами, принадлежащими VLAN 10, и компьютерами, принадлежащими VLAN 30. Объяснить результаты. 5.7.2. Контрольные вопросы 1. Чем полезны VLAN? 2. Что такое port-based и tag-based VLAN? 3. Что такое access-, trunk- и hybrid-порты? Что такое PVID, VID, native VLAN? 4. Какую информацию содержит тег VLAN? 5.8. Уязвимости VLAN Под уязвимостью VLAN понимается возможность получить несанкционированный доступ из одного VLAN’а к узлу другого VLAN’а. Уязвимости VLAN могут быть в сети из-за некорректной реализации функций VLAN или некорректных настроек. Пример уязвимости VLAN, связанной с некорректной реализацией функций VLAN в коммутаторе, – пропускание из одного VLAN’а в другой кадров, содержащих MAC-адрес узла-адресата. В результате узел может получить доступ к узлу из другого VLAN’a, если имеет его MAC-адрес в ARP-кэше. Такое возможно при статическом добавлении MAC-адреса в ARP-кэш или после изменения конфигурации коммутатора, когда узел попадает в другой VLAN, но другие узлы из прежнего VLAN’а еще помнят его MAC-адрес. Примеры уязвимостей VLAN, связанных с некорректной настройкой VLAN: 1) Атака с использованием двойного тегирования и native VLAN. Позволяет отправлять трафик в другие VLAN’ы, но не получать ответы (рис. 5.6). Рис. 5.6. Атака с использованием двойного тегирования и native VLAN. Trunk-порты разрешают VLAN 2 и имеют native VLAN, равный 1. Узел К1 находится в VLAN 1, узел К2 – в VLAN 2. К1 отправляет к К2 дважды тегированный кадр: во внутреннем теге указан тег 2, во внешнем – тег 1. Коммутатор S1 видит внешний тег 1 и принимает кадр как принадлежащий к VLAN 1. Далее кадр отправляется к S2. Так как trunk-порт коммутатора S1 имеет native VLAN, равный 1, кадр отправляется к S2 без тега 1 и в результате попадает в S2 с единственным тегом 2. S2 принимает кадр с тегом 2 как принадлежащий к VLAN 2 и отправляет кадр к К2. Способы устранения уязвимости: а) Передача трафика native VLAN тегированным на всех trunk-портах. б) Настройка на всех trunk-портах в качестве native VLAN нигде неиспользуемого VLAN. в) Фильтрация трафика на access-портах: запрет дважды тегированного трафика или запрет любого тегированного трафика. 2) Отсутствие фильтрации входящего трафика на портах. Может приводить к тому, что подключенный компьютер сможет передавать трафик в чужие VLAN’ы (снабжая пакеты соответствующими тегами), но не получать ответы. 3) Switch spoofing – имитация коммутатора с trunk-портом. Отправляя сообщения протоколов управления VLAN (например, Multiple VLAN Registration Protocol, IEEE 802.1Q, Dynamic Trunking Protocol), используемых коммутаторами, атакующий превращает access-порт коммутатора, к которому подключен, в trunk-порт и получает доступ через него к множеству VLAN’ов. Для защиты следует отключить автоматическую настройку trunk-портов на коммутаторах. 5.9. Вложенные VLAN В больших сетях могут применяться иерархические VLAN’ы, трафик в которых может содержать более одного тега (функция Q-in-Q). Это может быть полезно, если провайдеру, использующему VLAN’ы, нужно соединить участки сетей клиентов, в которых тоже используются VLAN’ы. Вместо согласования используемых номеров VLAN’ов провайдер может ставить свои теги в качестве внешних на трафик клиентов, теги которых становятся внутренними (рис. 5.7). Внутренние VLAN’ы называются CVLAN (Customer VLAN), внешние – SP-VLAN (Service-provider VLAN). Для внешних VLAN аналогом access-портов будут UNI-порты, а аналогом trunk-портов – NNI порты. Рис. 5.7. Пример сети с иерархическими VLAN’ами. Другое применение Q-in-Q – увеличение максимального количества VLAN’ов, которое ограничено 4094 в случае одинарных тегов. Двойные теги позволяют получить 4 094 × 4 094 = 16 760 836 VLAN’ов. Внутренние и внешние теги обычно имеют разные значения поля TPID. 5.10. Асимметричные VLAN Если порт принимает трафик некоторого VLAN’а, но не отправляет, или наоборот, то VLAN называется асимметричным. Hybrid-порт, отправляющий нетегированным трафик более чем одного VLAN’а, создает таким образом асимметричные VLAN’ы, так как принимаемый нетегированный трафик может попадать только в один VLAN – с номером PVID. Применение асимметричных VLAN’ов позволяет без использования тегированного трафика организовать сети с нетранзитивной доступностью узлов (т.е. если могут взаимодействовать А и Б, Б и В, то А и В при этом могут быть изолированы друг от друга). На рис. 5.8 показан пример, когда это может быть полезно. Узлы К1 и К2 имеют доступ друг к другу и к серверу, но не имеют доступа к узлам К4 и К5; узлы К4 и К5 имеют доступ друг к другу и к серверу, но не имеют доступа к узлам К1 и К2; сервер имеет доступ ко всем узлам. Не все коммутаторы поддерживают асимметричные VLAN’ы, а если поддержка есть, то на работу коммутатора могут налагаться различные ограничения. Функция сегментации трафика (traffic segmentation) предоставляет более простой способ настройки разрешенных и запрещенных путей трафика, чем асимметричные VLAN. Эта функция, в отличие от асимметричных VLAN, работает только в пределах одного коммутатора (или стека коммутаторов) и для n-портового коммутатора представляет собой матрицу n×n, каждая ячейка которой показывает, разрешен или запрещен трафик от одного порта к другому. Рис. 5.8. Пример использования асимметричных VLAN. Все порты гибридные нетегирующие. Для каждого порта указаны PVID и VID, стрелками показаны разрешенные пути трафика. При выборе коммутатора для организации VLAN-сетей может быть важно выяснить: - Поддерживаемые типы VLAN, возможность функционирования одновременно VLAN разных типов (например, некоторые коммутаторы поддерживают VLAN’ы на основе портов и на основе тегов, но не оба типа одновременно). - Максимальное количество VLAN, обрабатываемых коммутатором (у многих коммутаторов оно значительно меньше, чем 4096). - Поддержка асимметричных VLAN, её ограничения. - Поддержка гибридных портов. - Поддержка тех или иных режимов фильтрации входящего трафика (ingress filtering, ingress checking). - Поддержка GVRP и других протоколов автоматизации конфигурирования VLAN. - Возможности работы с вложенными VLAN. 5.11. Лабораторная работа 7. Применение VLAN для обеспечения безопасности в сетях Цель: научиться применять симметричные и асимметричные VLAN, сегментацию трафика, вложенные VLAN для обеспечения безопасности в сетях. Схема сети, используемой в лабораторной работе, приведена на рис. 5.9. Рис. 5.9 К1 – шлюз в интернет; К2 – сервер организации; К3, К4, К5, К6, К7, К21, К22, К31, К32 – узлы, которым необходимо обеспечить связь с К1 (предоставить доступ в интернет) и связь с К2. К8 и К9 – узлы, которым необходимо предоставить доступ в интернет, но запретить взаимодействие с К2. Все узлы, которым доступны К1 и К2, должны быть недоступны друг для друга, за исключением следующих взаимодоступных групп узлов: пара К5 и К6; тройка К21, К32 и К3; пара К31 и К22. 5.11.1. Порядок выполнения работы 0. Собрать физически сеть, моделирующую описанную выше. 1. Настроить VLAN 2 и VLAN 3 на коммутаторах S2 и S3 таким образом, чтобы К21 и К32 входили в VLAN 2, а К31 и К22 входили в VLAN 3. Проверить выполнение требуемых условий видимости между компьютерами, подключенными к коммутаторам S2 и S3. 2. Соединить коммутаторы S2 и S1. Настроить на S1 асимметричный VLAN таким образом, чтобы, во-первых, все узлы, подключенные к S1, имели доступ к R1, но не между собой; во-вторых, чтобы имели доступ друг к другу К5 и К6; в-третьих, чтобы были видимы друг для друга К3 и S2. Проверить выполнение требуемых условий видимости. 3. На коммутаторах S2 и S3 настроить native VLAN для обеспечения видимости между К3, К21, К32. Проверить выполнение требуемых условий видимости. 4. Соединить S4 и R1. Настроить ACL на R1 так, чтобы запретить взаимодействие между подсетями S4 и S1-S2-S3. Проверить недоступность подсетей друг для друга. 5. Настроить VLAN на коммутаторе S4 таким образом, чтобы любой трафик от S4 к R1 был с тегом 4, за исключением трафика от К7, который должен быть нетегированным. К8 и К9 оставить видимыми друг для друга. Проверить видимость между узлами, подключенными к S4. 6. Используя функцию сегментации трафика на S4, запретить прямое взаимодействие узлов К8 и К9. Проверить видимость между узлами, подключенными к S4. 7. Настроить ACL на маршрутизаторе R1 таким образом, чтобы запретить доступ от К8 и К9 к К2. Убедиться, что R1 запрещает запросы к К2 от К8 и К9 и пропускает запросы к К1. 8. С К32 отправить такой пакет, который, не выходя за пределы подсегмента S2-S3, достигнет К22. Настроить коммутаторы S2 и S3 таким образом, чтобы такие нарушения стали невозможны. Проверить невозможность обхода изоляции VLAN после изменений настроек коммутаторов. 9. Обеспечить видимость между К3, К21, К32, а затем и К7, чтобы при этом не нарушились условия изоляции других узлов. Какими способами можно этого добиться? Разрешается создание двойных связей между узлами и петель на коммутаторах. Проверить выполнение требуемых условий видимости. 5.11.2. Контрольные вопросы 1. Перечислите способы защиты от атаки с двойным тегированием и native VLAN. 2. Порты каких типов должны быть на коммутаторе для организации асимметричных VLAN? 3. В чем сходства и различия функций асимметричных VLAN и сегментации трафика? 4. Перечислите способы запретить взаимодействие между узлами А и Б в сети, не нарушая взаимодействие между множеством других конечных узлов, если: а) А и Б соединены через коммутаторы; б) А и Б соединены через маршрутизаторы; в) А и Б соединены через цепочку из коммутаторов и маршрутизаторов. 6. ИМИТАТОР javaNetSim Основной задачей имитатора javaNetSim является имитация работы всех уровней стека протоколов TCP/IP. Для этого имитируется работа протоколов каждого из уровней, чем достигается полная имитация работы сети. Вот почему имитатор javaNetSim удобен для выполнения лабораторных работ. Основные приемы работы с имитатором javaNetSim будут рассмотрены далее. Имитатор javaNetSim является объектно-ориентированным и написан на языке Java. Программы, написанные на этом языке, являются машинно-независимыми, т.е. имитатор javaNetSim будет работать на любом компьютере, для которого есть виртуальная Java-машина. Использование языка Java не приводит к проблемам с быстродействием имитатора: он разрабатывался для моделирования работы небольших сетей, обработка моделей которых не требует больших вычислительных ресурсов. Архитектура имитатора javaNetSim выглядит следующим образом. В основе лежит класс Simulation (Имитация), который содержит объекты классов Link (Линия) и Node (Узел). Этот класс предназначен для объединения устройств и линий связи в единую сеть. Класс Link содержит ссылки на объекты класса Node и предназначен для соединения двух узлов между собой. Класс Node содержит ссылки на объекты класса Link и является наиболее общей моделью сетевого устройства. Все реальные сетевые устройства являются производными от объекта класса Node и соответствуют модели стека протоколов TCP/IP: • Hub (Концентратор) – DataLink Layer Device (Устройство физического уровня) – имеет пять портов, т.е. к нему возможно подключить до пяти линий связи; • Router (Маршрутизатор) – Network Layer Device (Устройство сетевого уровня) – имеет два порта, а также стек протоколов TCP/IP (ProtocolStack); • PC (Компьютер) – Applications Layer Device (Устройство уровня приложений) – имеет один порт, стек протоколов TCP/IP, а также возможность выполнять клиентскую или серверную часть какого-либо приложения. Для взаимодействия с пользователем каждому сетевому устройству нужно графическое соответствие. Его обеспечивают следующие классы: • GuiHub (Графический пользовательский интерфейс концентратора); • GuiRouter (Графический пользовательский интерфейс маршрутизатора); • GuiPC (Графический пользовательский интерфейс компьютера). Как сами сетевые устройства, так и графический пользовательский интерфейс сетевых устройств должны быть едиными. Этим объединением занимается класс SandBox (Рабочая область). Рабочая область является частью основного окна программы, представленного на рис. 6.1. Рис. 6.1 Основное окно программы логически разделено на четыре части: 1. Рабочая область (обозначена на рисунке цифрой 1) содержит сетевые устройства и линии связи между ними: – концентратор на пять сетевых интерфейсов (16); – маршрутизатор, соединяющий две подсети (17); – компьютер или конечный узел сети (18); – линия связи между двумя сетевыми устройствами (19). 2. Область вывода результатов (обозначена на рисунке цифрой 2) содержит две вкладки: – вкладку «консоль» (обозначена числом 14), содержащую журнал передачи пакетов по сети; – вкладку «информация об устройствах» (обозначена числом 15), содержащую для каждого интерфейса всех сетевых устройств IP-адрес, маску подсети и шлюз по умолчанию. 3. Главное меню (обозначено на рисунке цифрой 3) содержит основные действия по управлению имитатором. 4. Линейка инструментов (обозначена на рисунке цифрой 4) содержит следующие кнопки: – «создать пустую конфигурацию" (4); – «открыть существующую конфигурацию» – (5); – «сохранить текущую конфигурацию» – (6); – «создать компьютер» – (7); – «создать принтер» – (8); – «создать маршрутизатор» – (9); – «создать концентратор» – (10); – «создать коммутатор» – (11); – «создать устройство обслуживания канала/данных» – (12); – «создать соединение» – (13). Основное окно программы представляет собой инструмент взаимодействия пользователя с имитатором. С помощью этого инструмента пользователь может добавлять, удалять и соединять между собой сетевые устройства, а также работать с сетью на любом из четырех уровней стека протоколов TCP/IP. |