Некоммерческое акционерное общество
АЛМАТИНСКИЙ УНИВЕРСИТЕТ ЭНЕРГЕТИКИ И СВЯЗИ
Кафедра Автоматическая электросвязь
КАЧЕСТВО ОБСЛУЖИВАНИЯ
В ТЕЛЕКОММУНИКАЦИОННЫХ СЕТЯХ
Методические указания к выполнению лабораторных работ
на базе аппаратно-программного комплекса для магистрантов специальности 6М071900 – Радиотехника, электроника и телекоммуникации
Алматы 2013
Составители: Туманбаева К.Х., Калиева С.А., Бублик В.А. Качество обслуживания в телекоммуникационных сетях. Методические указания к выполнению лабораторных работ на базе аппаратно-программного комплекса для магистрантов специальности 6М071900 – Радиотехника, электроника и телекоммуникации - Алматы: АУЭС, 2013 – 49 с.
Методические указания содержат задания и рекомендации для выполнения лабораторных работ по дисциплине «Качество обслуживания в телекоммуникационных сетях» для магистрантов, обучающихся по специальности 6М071900 – Радиотехника, электроника и телекоммуникации.
Выполнение работ позволит изучить принципы исследования технологий телекоммуникационных сетей, приобрести навыки анализа трафика и мониторинга сети, создания сетей на современных протоколах передачи информации.
Ил. 35, табл. 2, библиогр.- 5 назв.
Рецензент: д-р.техн.наук, проф. М.З.Якубова.
Печатается по дополнительному плану издания некоммерческого акционерного общества «Алматинский университет энергетики и связи» на 2013 г.
© НАО «Алматинский университет энергетики и связи», 2013 г.
Введение
«Качество обслуживания в телекоммуникационных сетях» - теоретический курс для магистрантов специальности 6М071900 – Радиотехника, электроника и телекоммуникации.
Целью курса является знакомство студентов с методами оценки качества услуг сетей телекоммуникаций, аспектами нормирования качества услуг, проблемами согласования качества услуг с точки зрения пользователя и оператора.
Задачами преподавания дисциплины является овладение знаний о характеристиках качества обслуживания в современных телекоммуникационных сетях, методов оценки показателей качества, методов управления качеством услуг.
Целью лабораторных работ является изучение принципов исследования технологий телекоммуникационных сетей, получение навыков работы с сетевым оборудованием, создания сетей на современных протоколах передачи информации.
Задачей лабораторных работ являются овладение студентами средств анализа трафика, мониторинга телекоммуникационных сетей, методов создания сетей, построенных на современных протоколах передачи информации.
Учебным планом для данной дисциплины отводится 3 кредита, всего 180 часов, из них для аудиторных занятий – 52.
Курс |
Семестр |
Аудит. занятия |
Лекции |
Практ. занятия |
Лаборат. работы |
РГР
|
Экзамен |
2 |
3 |
52 |
22 |
15 |
15 |
111 |
1 |
1 Лабораторная работа №1. Анализ трафика локальной сети
Цель работы: исследование основных типов трафика в реальной локальной сети и изучение принципов генерации трафика с помощью программ Wireshark и Ostinato на примере протоколов стека TCP/IP.
1.1 Предварительная подготовка
1.1.1 Необходимо ознакомиться с принципами формирования пакетов в локальных сетях (технологии IP и Ethernet).
1.1.2 Изучить функции и процесс формирования пакетов ARP и HTTP, запросов/ответов DNS, особенности широковещательного трафика.
1.1.3 Знать характеристики трафика пакетных сетей, процессы формирования потоков, принципы инкапсуляции.
1.2 Рабочее задание
1.2.1 Создать локальную сеть.
1.2.2 Запустить анализатор трафика Wireshark.
1.2.3 Настроить фильтр на широковещательный трафик.
1.2.4 Разобрать пакет ARP: запрос и ответ. Снять скриншоты экранов с таблицами анализа протокола ARP.
1.2.5 Убрать настройку фильтров. Запустить браузер, набрать URL какого-либо веб - ресурса (по заданию преподавателя). Отследить и разобрать пакеты DNS (запрос и ответ).
1.2.6 Разобрать пакеты http двух типов: запрос (GET) и ответ сервера. Снять скриншоты экранов: таблицы анализа, график интенсивности трафика HTTP в общем трафике, диаграмму соединений.
1.2.7 Запустить генератор трафика Ostinato.
1.2.8 Создать 3 произвольных потока данных, состоящих из протоколов различных протоколов, заданных общим количеством пакетов и пакетной скоростью потока.
1.2.9 Запустить анализатор трафика Wireshark и начать захват на том порту, на котором предполагается генерировать трафик с помощью Ostinato.
1.2.10 Организовать смешанную передачу сконтруированных потоков трафика. Сохранить полученный трэйс-файл.
1.2.11 Подготовить отчет, содержащий скриншоты для всех исследуемых протоколов: таблицы с анализом трафика, графики, диаграммы, полученные с помощью программы Wireshark.
Результаты работы программы Ostinato представить в виде характеристик сконструированных потоков трафика, примеров полученных пакетов, трэйс-файлов и статистик работы согласно меню Statistics.
1.3 Методические указания к выполнению лабораторной работы
1.3.1 Подключить все компьютеры и Интернет к неуправляемому коммутатору DES 1016.
Настроить IP – адреса.
Edit Connections… → Wiredconnection → IPV4 Settings
Назначаем параметры IP:
IP – адрес: 192.168.2.2хх
Маска: 255.255.255.0
Шлюз: 192.168.2.39
DNS Servers 192.168.2.39
Для того чтобы запустить анализатор трафика Wireshark необходимо нажать на экране на кнопку Terminal, в появившемся окне набрав ответ на запрос: sudo wireshark,
1.3.2 Запустить анализатор трафика Wireshark. После выбора требуемого сетевого интерфейса кнопкой Start начать сбор трафика (см. рисунок 1.1).
Рисунок 1.1 – Запуск процедуры сбора пакетов
1.3.3 Настроить фильтр на широковещательный трафик: нажатием на кнопку Filter в панели инструментов Wireshark запустить окно выбора/создания фильтра, ввести любое имя для нового фильтра в поле Filter Name, а в качестве фильтрующего выражения (Filter String) выставить название протокола «arp». Для применения фильтра нажмите кнопку «Apply» на панели инструментов.
1.3.4. Разобрать пакет ARP: запрос и ответ. Снять скриншоты экранов с таблицами анализа протокола ARP.
1.3.5. Убрать настройку фильтров. Запустить браузер, набрать URL какого-либо веб - ресурса (по желанию студента или заданию преподавателя). Отследить и разобрать пакеты DNS (запрос и ответ).
1.3.6 Разобрать пакеты http двух типов: запрос (GET) и ответ сервера. Снять скриншоты экранов: таблицы анализа, график интенсивности трафика HTTP в общем трафике, диаграмму соединений.
1.3.7 Запустить программу Ostinato. Генератор трафика Ostinato предустановлен на компьютере управления mnlin. Для начала работы с генератором подключитесь к mnlinс помощью KVM-переключателя и запустите Ostinato из терминала с правами суперпользователя:
root@mnlin# ostinato &
Повышенные привилегии необходимы для получения доступа к сетевым устройствам mnlin.
Основной интерфейс программы разделен на три окна: порты (ports list), потоки (stream list) и статистика (statistics).
В окне портов представлена группа портов [127.0.0.1] и зеленый индикатор напротив нее, что обозначает доступность группы портов. Ostinato является клиентским приложением и может работать с несколькими различными серверами. В данном случае клиент и сервер расположены на одном компьютере и обмениваются данными через сокет 127.0.0.1:7878.
Открыв группу портов (нажав на +), можно увидеть все доступные на данной машине порты. Выберите порт, с которого будет производиться отправка пакетов в сеть. Нажатием правой кнопки мыши в окне потоков откройте меню и создайте новый поток (new stream). Дважды кликнув на значке созданного потока, вы получите доступ к конфигуратору потока.
1.3.8 На первой вкладке Protocol Selection (см. рисунок 1.2) конструируйте будущий пакет в соответствии с моделью OSI. На рисунке 1.2 необходимые пункты помечены.
Рисунок 1.2 – Вкладка Protocol Selection
1.3.9 Вкладка Protocol Data (см. рисунок 1.3) позволяет настроить некоторые специфичные поля выбранных протоколов, такие как, например, адреса источника и получателя в протоколе IP, порты в UDP и т.п.
Рисунок 1.3 – Вкладка Protocol Data
Примечание. При конструировании пакета в реальной сети задавайте реальный MAC-адрес назначения в поле Media Access Protocol!
1.3.10 На вкладке Stream Control выставляются опции потока. Например, можно настроить генерацию трафика пачками или отдельными пакетами, количество пакетов в секунду/битовую скорость потока, поведение потока и т.д.
1.3.11 Создав несколько различных потоков для данного порта и выставив для каждого из них опцию Goto Next Stream в поле After this stream, можно организовать последовательную передачу этих потоков в сеть.
Также возможно организовать одновременную смешанную передачу. Для этого необходимо в окне портов выбрать требуемый, правой кнопкой мыши открыть контекстное меню и в пункте Port Configuration изменить режим работы передачи порта на Interleaved Streams (смешанные потоки). Теперь все, созданные для данного порта потоки будут передаваться на сетевой интерфейс одновременно.
Примечание. В смешанном режиме вместо количества передаваемых пакетов указывается скорость передачи пакетов/пачек или битовая скорость потока. Соответственно, передача трафика будет продолжаться до тех пор, пока не будет остановлена нажатием кнопки Stop Tx.
Вкладка Packet View позволяет просмотреть получившийся пакет в «собранном» виде.
После окончания настройки потока нажмите Ok и передайте изменения на сервер кнопкой Apply. Если этого не сделать, генерирующий демон Drone не получит информацию о произошедших изменениях.
1.3.12 Для проверки работы генератора, предварительно запустите анализатор трафика Wireshark, настроив его на прослушивание того порта, на который вы передаете сгенерированный трафик. Теперь можно начинать генерацию (см. рисунок 1.4).
В окне статистики выберите тот же порт, для которого вы конструировали поток (например, нажмите Port 0-0, если вы настроили Port Group 0 и в ней Port 0) и кнопкой Start Tx запустите генерацию трафика.
Рисунок 1.4 – Запуск генератора
1.4 Контрольные вопросы
1.4.1 Как запускается анализатор трафика Wireshark?
1.4.2 Какие функции выполняет протокол ARP?
1.4.3 Как запускается генератор трафика Ostinato?
2 Лабораторная работа №2. Мониторинг в сетях связи: протокол ICMP, специализированные утилиты
Цель работы: овладение основными инструментами мониторинга сетей.
2.1 Предварительная подготовка
2.1.1 Знать основные принципы мониторинга сетей, характеристики сетей (TTL – поле времени жизни, время приема – передачи и т.п.).
2.1.2 Изучить протокол ICMP, знать его назначение.
2.2 Рабочее задание
2.2.1 Провести трассировку трех узлов по заданию преподавателя. По результатам построить графики зависимости времени прохождения пакета от номера узла. Указать шлюзы перехода из одной сети в другую. Листинги трассировки привести в отчете.
2.2.2 Провести оценку работоспособности узлов: узлов в подсети лаборатории, шлюза подсети, 5 узлов из ранее сделанных трассировок. Оценить TTL для каждого из них.
2.2.3 Запустить несколько сетевых приложений на клиентской машине. Снять с клиентской машины при помощи утилиты netstat таблицу маршрутизации, список соединений, статистику передачи данных, состояние интерфейса Ethernet.
2.2.4 Представить отчет, содержащий листинги работоспособности узлов, результаты трассировки, статистику работы сети согласно netstat, архитектуру сети на основе таблицы маршрутизации.
2.2.3 Методические указания к выполнению лабораторной работы.
2.3.1 Создать локальную сеть.
2.3.2 Утилита ping (Packet Internet Groper) является одним из главных средств, используемых для отладки сетей, и служит для принудительного вызова ответа конкретной машины. Она позволяет проверять работу приложений TCP/IP (по портам) на удаленных машинах, адреса устройств в локальной сети, адрес удаленного сетевого устройства.
Получив эхо-запрос ping, программное обеспечение, реализующее протокол IP у адресата, посылает эхо-ответ. Эхо-запросы посылаются заданное количество раз (ключ -n) или по умолчанию до тех пор, пока пользователь не введет команду прерывания (Ctrl+C или Del), после чего выводятся статистические данные.
В командной строке может быть: ping имя_узла или ping IP-адрес.
Пример:
C:\Users\admin>ping yandex.ru
2.3.3 Утилита traceroute позволяет выявлять последовательность шлюзов, через которые проходит IP-пакет на пути к пункту своего назначения. У этой команды есть много опций, большинство из которых применяются крайне редко. Традиционно используется формат traceroute имя_узла, которое может быть задано в символической или числовой форме. Выходная информация представляет собой список машин, начиная с первого шлюза и кончая пунктом назначения.
Принцип работы traceroute основан на установке поля времени жизни (TTL) исходящего пакета таким образом, чтобы это время истекало до достижения пакетом пункта назначения. При получении пакета с обнуленным полем TTL текущий шлюз отправит сообщение об ошибке на машину-источник. Каждое приращение поля времени жизни позволяет пакету пройти на один шлюз дальше.
Утилита traceroute посылает для каждого значения поля TTL три пакета. Если промежуточный шлюз распределяет трафик по нескольким маршрутам, то эти пакеты могут возвращаться разными машинами. Некоторые системы не посылают уведомлений о пакетах, время жизни которых истекло, а некоторые посылают уведомления, которые поступают обратно c задержкой, превышающей время ожидания на машине-источнике. Эти шлюзы обозначаются рядом звездочек. Если конкретный шлюз определить нельзя, все равно с помощью traceroute можно увидеть следующие за ним узлы маршрута. Заметим, что в связи с использованием на сетях динамической маршрутизации, в разные моменты времени можно получить различные маршруты прохождения пакетов. Это также относится к зеркалированным узлам.
Пример:
admin@ddd:~$ traceroute lenta.ru
Пример:
C:\Users\admin>tracert yandex.ru
2.3.4 Существует комбинированная диагностическая утилита mtr (MyTraceroute), сочетающая в себе функциональность рассмотренных выше tracerouteи ping. Данная утилита основана на библиотеке libncurses (консольная версия) или на базе GTK+ (оконная версия), позволяет в реальном времени отслеживать маршрут до заданного узла и изменяющееся время ответа каждого из промежуточных узлов, а также процент потерянных пакетов. Консольный вывод утилиты mtr представлен на рисунке 2.1. На данный момент mtr включена практически во все дистрибутивы Linux.
Рисунок 2.1 – Пример работы утилиты mtr в консольном режиме
2.3.5 Утилита netstat выводит информацию о локальной сети и средствах TCP/IP. Она реализована непосредственно в операционной системе и занимается сбором статистики об ошибках, текущих соединениях, состоянии портов и соединений. Содержание и форма выходной информации зависят от операционной системы, но обычно выводятся следующие данные: список соединений, статистика сетевых интерфейсов, статистика по буферам данных, содержание таблицы маршрутизации, статистика работы протоколов. Характер выводимой информации можно выбирать с помощью опций командной строки. Рассмотрим основные возможности мониторинга с помощью утилиты netstat.
2.3.5.1 Список соединений.
Утилита netstat обладает набором ключей для отображения портов, находящихся в активном и/или пассивном состоянии. Таким образом, можно получить список всех серверных приложений, работающих на данном компьютере. Отметим, что формат списка соединений для сервера с системой NAT и для клиентской машины будет разным.
Информация выводится столбцами. В первом из них указан протокол, затем размеры очередей приема и передачи для установленного соединения на данной машине (на другом конце соединения размеры очередей могут быть другими), локальный и удаленный адреса и текущее состояние соединения.
Пример:
admin@ddd:~$ netstat -ta
Состояние соединения имеет значение только для протокола TCP. Протокол UDP факта установления соединения не проверяет.
2.3.5.2 Содержание таблицы маршрутизации
Каждое соединение машины с сетью называется сетевым интерфейсом. Машина, имеющая более одного интерфейса, может принимать данные по одному интерфейсу и передавать их по другому, осуществляя пересылку данных между сетями. Эта функция называется маршрутизацией, а машина, выполняющая ее – шлюзом.
Данные маршрутизации хранятся в так называемых таблицах маршрутизации, которые могут быть статическими и динамическими в зависимости от уровня сети и протокола маршрутизации. Для направления пакета по конкретному адресу подбирается наилучший маршрут согласно метрике. Если такой маршрут отсутствует, и нет маршрута по умолчанию, то отправителю возвращается сообщение об ошибке.
Утилита netstat –r позволяет отображать таблицу маршрутизации.
Пункты назначения и шлюзы могут показываться в виде имен машин или в виде их IP-адресов. Флаги дают оценку маршрута.
Пример:
admin@ddd:~ > netstat -r
2.3.5.3 Статистика сетевых интерфейсов.
При использовании ключа -i на экран будут выведены статистические данные всех используемых Ethernet-интерфейсов. Исходя из них, можно выяснить, исправно ли соединение с сетью.
Пример:
admin@ddd:~ > netstat -i
Ошибки являются следствием проблем в кабельной системе или следствием неисправности платы сетевого адаптера. В нормально работающей сети количество конфликтов (RX-OVR, TX-OVR) не должно превышать 3% от числа пакетов, а другие ошибки не должны составлять более 0,5% от общего числа пакетов.
2.3.5.4. Статистика передачи данных.
Использование netstat –s позволяет вывести содержимое счетчиков сетевых программ. В выходной информации есть разделы, относящиеся к различным протоколам: IP, ICMP, TCP, UDP. С ее помощью можно определить место появления ошибки в принятом пакете.
Пример:
admin@ddd:~$ netstat -s
2.4 Контрольные вопросы
2.4.1 Какую функцию выполняет протокол ICMP?
2.4.2 Какую операцию выполняет утилита ping?
2.4.3 Какую операцию выполняет утилита traceroute?
2.4.3 Какую операцию выполняет утилита mtr?
2.4.4 Какую операцию выполняет утилита netstat?
3 Лабораторная работа №3. Статическая маршрутизация в сети на базе протокола IPv4
Цель работы: получение навыков конфигурации локальной сети на основе протокола IPv4 с использованием статической маршрутизации.
3.1 Предварительная подготовка
3.1 Знать особенности адресации в сети IPv4, иметь представление о функциях коммутаторов и маршрутизаторов.
3.2 Уметь производить конфигурацию маршрутизаторов для организации статической маршрутизации в сети IPv4.
3.2 Рабочее задание
3.2.1 Соберите тестовую схему сети согласно рисунка 3.1.
3.2.2 Подготовьте программные маршрутизаторы, войдите под суперпользователем и установите соединение по ssh.
3.2.3 Сконфигурируйте программные маршрутизаторы согласно заданию. Проверьте взаимную доступность программных маршрутизаторов.
3.2.4 Сконфигурируйте маршрутизатор Cisco. Проверьте взаимную доступность подсетей.
3.2.5 Снимите ARP-таблицы маршрутизаторов.
3.2.6 Подготовить отчет
3.3 Методические указания к выполнению лабораторной работы
3.3.1 Осуществите необходимые подключения, соберите схему (см. рисунок 3.1).
Рисунок 3.1 – Схема тестовой сети IPv4
3.3.2 Для успешного выполнения лабораторной работы необходимо подготовить программные маршрутизаторы. На каждом программном маршрутизаторе следует запустить пакет маршрутизации Quagga.
Включите программные маршрутизаторы и с помощью KVM-переключателя подсоединитесь к каждому из них, войдите под суперпользователем:
login: root
passw: simulator
и запустите Quagga:
root@soft-core# service zebra start
Примечание. Обратите внимание, что при запуске пакета маршрутизации Quagga, он перехватывает управление сетевыми ресурсами и заменяет существующую сетевую конфигурацию своей, хранящейся в файле /etc/quagga/zebra.conf. По умолчанию, в данной конфигурации на soft-core1 (программном маршрутизаторе ядра1 1) настроен интерфейс eth0=192.168.24.1/24, а на soft-core2 (программном маршрутизаторе ядра 2) eth0=172.16.0.1/16.
Теперь на программные маршрутизаторы можно зайти посредством протокола SSH из тех локальных сетей, шлюзами которых они являются, т.е. на soft-core1 через интерфейс eth0 с адресом 192.168.24.1, а на soft-core2 – через eth0 с адресом 172.16.0.1.
Примечание: Для того чтобы осуществить удаленное соединение по протоколу ssh, на машинах с ОС Linux необходимо запустить терминал и набрать команду:
ssh логин@IP-адрес_удаленного_хоста
после чего ввести запрашиваемый пароль. Логин и пароль на программных маршрутизаторах стенда по умолчанию:
login: admin
passw: admin
Важно: необходимо очистить таблицу правил фаейрвола на каждом программном маршрутизаторе. Это действие должно выполняться от суперпользователя:
pc2$ ssh admin@192.168.24.1
admin@192.168.24.1'spassword:
[admin@localhost ~]$ su
[root@localhost ~]$ iptables –F
[root@localhost ~]$ ip6tables –F
Для получения доступа к консоли управления Quagga, необходимо, установив удаленное подключение по ssh, набрать следующую команду:
telnet localhost 2601
Таким образом, мы подключаемся к процессу, ожидающему соединения на порту 2601 программного маршрутизатора (маршрутизирующий демон zebra).
Примечение: Пароль при подключении к консоли Quagga, по умолчанию: softcore.
Процесс конфигурирования программного маршрутизатора может выглядеть следующим образом:
pc2$ ssh admin@192.168.24.1
admin@192.168.24.1's password:
[admin@localhost ~]$ telnet localhost 2601
soft-core1.lab> enable
soft-core1.lab# configure terminal
soft-core1.lab(config)# ip forwarding /включаем маршрутизацию IP
soft-core1.lab(config)# interface eth1 /настраиваем интерфейс eth1
soft-core1.lab(config-if)# ip address 31.1.1.2/30 /присваиваем адрес IPv4
soft-core1.lab(config-if)# description toCisco /добавляем описание
soft-core1.lab(config-if)# no shutdown /включаем интерфейс
soft-core1.lab(config-if)# exit /выходим из режима конфигурирования интерфейса
soft-core1.lab(config)# interface eth2
soft-core1.lab(config-if)# ip address 33.1.1.1/30
soft-core1.lab(config-if)# description toSC-2
soft-core1.lab(config-if)# no shutdown
soft-core1.lab(config-if)# exit
/Добавляем статические маршруты в формате “dst_network/netmask next-hop”
soft-core1.lab(config)# ip route 10.0.0.0/8 31.1.1.1
soft-core1.lab(config)# ip route 172.16.0.0/16 33.1.1.2
/Просмотреть таблицу маршрутизации можно следующим образом
soft-core1.lab# show ip route
Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF,
I - ISIS, B - BGP, > - selected route, * - FIB route
S>* 10.0.0.0/8 [1/0] via 31.1.1.1, eth1
C>* 31.1.1.0/30 is directly connected, eth1
C>* 33.1.1.0/30 is directly connected, eth2
C>* 127.0.0.0/8 is directly connected, lo
S>* 172.16.0.0/16 [1/0] via 33.1.1.2, eth2
C>* 192.168.24.0/24 is directly connected, eth0
Подобную настройку необходимо произвести для обоих программных маршрутизаторов в соответствии с полученным заданием.
3.3.3 Далее необходимо убедиться, что программные маршрутизаторы «видят» друг друга. Для этого запустите еще один сеанс удаленного доступа по ssh и утилитами ping и traceroute проверьте доступность подключенного порта другого маршрутизатора и путь прохождения пакетов до него.
pc2$ ssh admin@192.168.24.1
admin@192.168.24.1's password:
Last login: Thu Jul 19 20:18:53 2012 from 192.168.24.100
[admin@localhost ~]$ ping 33.1.1.2
PING 33.1.1.2 (33.1.1.2) 56(84) bytes of data.
64 bytes from 33.1.1.2: icmp_seq=1 ttl=64 time=0.323 ms
64 bytes from 33.1.1.2: icmp_seq=2 ttl=64 time=0.095 ms
64 bytes from 33.1.1.2: icmp_seq=3 ttl=64 time=0.110 ms
--- 33.1.1.2 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 1999ms
rtt min/avg/max/mdev = 0.09/0.16/0.30/0.10 ms
[admin@localhost ~]$ traceroute 33.1.1.2
traceroute to 33.1.1.2 (33.1.1.2), 30 hops max, 60 byte packets
1 33.1.1.2 (33.1.1.2) 0.262 ms 0.074 ms 0.058 ms
3.3.4 Сконфигурируем маршрутизатор Cisco. С компьютера управления зайдем на консольный порт Cisco:
picocom /dev/ttyS0
и включим маршрутизатор. После загрузки на экране вы увидите приглашение, теперь можно начинать настройку.
cisco-core>enable /переходим в режим exec
cisco-core#configure terminal
cisco-core(config)#ip classless /включаем CIDR
cisco-core(config)#ip routing /включаем IP-маршрутизацию
/Настраиваем сетевые интерфейсы
cisco-core(config)#interface gigabitEthernet 0/0 /выбираем интерфейс для настройки
cisco-core(config-if)#ip address 31.1.1.1 255.255.255.252 /присваиваем интерфейсу IP-адрес и маску подсети
cisco-core(config-if)#description tosoft-core1 /добавляем описание интерфейса (необязательно)
cisco-core(config-if)#no shutdown /включаем интерфейс
cisco-core(config-if)#exit /выходим из режима конфигурирования данного интерфейса
cisco-core(config)#interface gigabitEthernet 0/1
cisco-core(config-if)#ip address 32.1.1.1 255.255.255.252
cisco-core(config-if)#description tosoft-core2
cisco-core(config-if)#no shutdown
cisco-core(config-if)#end /выходим из режима конфигурации
/Создаем статические маршруты
cisco-core#configure terminal
/В маршруте нужно указать в качестве шлюза next-hop маршрутизатор
cisco-core(config)#ip route 192.168.24.0 255.255.255.0 31.1.1.2
cisco-core(config)#ip route 172.16.0.0 255.255.0.0 32.1.1.2
cisco-core(config)#exit
/Просмотрим состояние интерфейсов и маршрутов
cisco-core#show ip interface brief
cisco-core#show ip route
/Проверим доступность LAN-интерфейсов шлюзов
cisco-core#ping 192.168.24.1
cisco-core#ping 172.16.0.1
Если интерфейсы доступны, значит маршрутизация настроена верно.
После настройки маршрутизаторов ядра нужно проверить взаимную доступность локальных подсетей. Для этого с различных машин, находящихся в разных подсетях, произведите несколько проверок доступности подсетей.
pc1#ping 192.168.24.100
pc1#ping 172.16.0.100
pc2#ping 10.0.0.100
pc2#ping 172.16.0.100
pc3#ping 192.168.24.100
pc3#ping 10.10.0.100
Если ping проходит успешно, утилитой traceroute отследите пути продвижения пакетов по сети (см. рисунок 3.2).
Рисунок 3.2 – Прохождение пакетов через сеть.
Снимите ARP-таблицы с маршрутизаторов сети. Для того чтобы просмотреть ARP-таблицу программного маршрутизатора, подключитесь к нему по SSH и введите команду ip neighbor (см. рисунок 3.3).
Рисунок 3.3 – ARP-таблица программного маршрутизатора
Обратите внимание на то, как изменяется статус записи об узле 33.1.1.2 после проверки связи с ним. Просмотр ARP-таблицы в маршрутизаторе Cisco осуществляется командой show arp (см. рисунок 3.4).
Рисунок 3.4– ARP-таблица маршрутизатора Cisco
3.4 Контрольные вопросы
3.4.1 Назовите особенности адресации в сетях IPv4.
3.4.2 В чем заключается основная функция коммутатора?
3.4.3 В чем заключается основная функция маршрутизатора?
3.4.4 Назовите методы маршрутизации в современных сетях.
4 Лабораторная работа №4. Статическая маршрутизация в сети на базе протокола IPv6
Цель работы: получение навыков конфигурации локальной сети на основе протокола IPv6 с использованием статической маршрутизации.
4.1 Предварительная подготовка
4.1 Знать особенности адресации в сети IPv6, иметь представление о функциях коммутаторов и маршрутизаторов.
4.2 Уметь производить конфигурацию маршрутизаторов для организации статической маршрутизации в сети IPv6.
4.2 Рабочее задание
4.2.1 Соберите тестовую схему сети согласно рисунка 4.1.
4.2.2 Подготовьте программные маршрутизаторы, войдите под суперпользователем и установите соединение по ssh.
4.2.3 Сконфигурируйте программные маршрутизаторы согласно заданию. Проверьте взаимную доступность программных маршрутизаторов.
4.2.4 Сконфигурируйте маршрутизатор Cisco. Проверьте взаимную доступность подсетей.
4.2.5 Снимите таблицу канального уровня.
4.2.6 Подготовить отчет.
4.3 Методические указания к выполнению лабораторной работы
4.3.1 Осуществите необходимые подключения, соберите схему (см. рисунок 4.1).
4.3.2 Настройка программных маршрутизаторов для работы в сети с IPv6-адресацией осуществляется аналогично проведенной для сетей IPv4:
1) Осуществляем необходимые подключения.
2) Конфигурируем программные маршрутизаторы. Обратите внимание на то, что интерфейсам eth0 по умолчанию присвоены только IPv4-адреса!
pc2$ ssh admin@192.168.24.1
admin@192.168.24.1's password:
[admin@localhost ~]$ telnet localhost 2601
soft-core1.lab> enable
soft-core1.lab# configure terminal
soft-core1.lab(config)# ipv6 forwarding
soft-core1.lab(config)# interface eth0
soft-core1.lab(config-if)# ipv6 address fc00:2::1/64
soft-core1.lab(config-if)# exit
soft-core1.lab(config)# interface eth1
soft-core1.lab(config-if)# ipv6 address 2001:1:1:100::2/64
soft-core1.lab(config-if)# exit
soft-core1.lab(config)# interface eth2
soft-core1.lab(config-if)# ipv6 address 2001:1:1:300::1/64
soft-core1.lab(config-if)# exit
soft-core1.lab(config)# ipv6 route fc00:1::/64 2001:1:1:100::1
soft-core1.lab(config)# ipv6 route fc00:3::/64 2001:1:1:300::2
soft-core1.lab(config)# exit
Данную настройку необходимо произвести для обоих программных маршрутизаторов в соответствии с заданием.
Рисунок 4.1 – Схема тестовой сети IPv6
4.3.3 Проверяем взаимную доступность программных маршрутизаторов (см. рисунок 4.2).
4.3.4. Настраиваем маршрутизатор Cisco.
Примечание: Для чистоты эксперимента можно перезагрузить маршрутизатор Cisco, включив и выключив его кнопкой питания(при этом все сделанные в первой части работы изменения сотрутся!).
После загрузки маршрутизатора вы увидите на экране приглашение, и можете начинать настройку.
cisco-core>enable /переходим в режим exec
cisco-core#configure terminal /конфигурирование из терминала
cisco-core(config)#ipv6 unicast-routing /включаеммаршрутизацию IPv6
cisco-core(config)#ipv6 cef /включаем поддержку Cisco Express Forwarding для протокола IPv6
Рисунок 4.2 – Проверка взаимной доступности
/Настраиваем сетевые интерфейсы
cisco-core(config)#interface vlan 2 /LAN-интерфейс нашего маршрутизатора
cisco-core(config-if)#ipv6 address fc00:1::1/64 /Задаем IPv6 адрес типа Unique Local интерфейсу LAN
cisco-core(config-if)#no shutdown /включаем интерфейс
cisco-core(config-if)#exit
cisco-core(config)#interface gigabitEthernet 0/0 /настраиваем интерфейс GE0/0
cisco-core(config-if)#ipv6 address 2001:1:1:100::1/64 /Задаем IPv6 адрес типа Global Unicast интерфейсу GE0/0
cisco-core(config-if)#no shutdown
cisco-core(config-if)#exit
cisco-core(config)#interface gigabitEthernet 0/1
cisco-core(config-if)#ipv6 address 2001:1:1:200::1/64
cisco-core(config-if)#no shutdown
cisco-core(config-if)#^Z
/Посмотрим состояние интерфейсов
cisco-core#sh ipv6 interface brief
/Проверим доступность маршрутизаторов SC-1 и SC-2
cisco-core#pingipv6 2001:1:1:100::2 /Пингуем интерфейс eth1 маршрутизатора soft-core1
cisco-core#pingipv6 2001:1:1:200::2 /Пингуем интерфейс eth2 маршрутизатора soft-core2
/Создаем статические маршруты
cisco-core(config)#ipv6 route fc00:2::/64 2001:1:1:100::2 /Маршрут в локальную сеть, находящуюся за soft-core1
cisco-core(config)#ipv6 route fc00:3::/64 2001:1:1:200::2 /Маршрут в локальную сеть, находящуюся за soft-core2
/Просмотрим таблицу маршрутизации для IPv6
cisco-core#show ipv6 route
После настройки маршрутизации в ядре сети необходимо проверить взаимную доступность локальных подсетей. Для этого запустите проверку утилитой ping6 с различных машин, находящихся в разных подсетях.
pc1#ping6 fc00:2::2
pc1#ping6 fc00:3::2
pc2#ping6 fc00:1::2
pc2#ping6 fc00:3::2
pc3#ping6 fc00:1::2
pc3#ping6 fc00:2::2
Если ping6 проходит успешно, утилитой traceroute6 отследите пути продвижения пакетов по сети (см. рисунок 4.3).
Рисунок 4.3 – Путь прохождения пакета
4.3.5 Снимите таблицу канального уровня. В случае использования протокола IPv6 нужно снимать таблицу не ARP, а ND-протокола (Neighbor Discovery). Это связано с особенностями протокола IPv6[2].
На Cisco данная таблица выводится командой show ipv6 neighbors (см. рисунок 4.4).
Рисунок 4.4 – Кэш протокола ND в Cisco
На программных маршрутизаторах посмотреть общую таблицу можно той же командой, что и в первой части работы (см. рисунок 4.5).
Рисунок 4.5 – Кэш протоколов канального уровня в Linux
4.4 Контрольные вопросы
4.4.1 Назовите особенности адресации в сетях IPv6.
4.4.2 Назовите функции коммутаторов и маршрутизаторов в сети.
4.4.3 Как в лабораторной работе вы проверяли взаимную доступность программных маршрутизаторов?
4.4.4 Как будет обеспечено качество обслуживания в сетях IPv6?
5 Лабораторная работа №5. Настройка сервера динамического конфигурирования хостов (DHCP) в локальной сети
Цель работы: получение навыков по организации адресного пространства в локальной и корпоративной сети.
5.1 Предварительная подготовка
5.1 Знать принципы работы протокола DHCP, назначение опции 82, иметь представление о методах зеркалирования трафика.
5.2 Уметь использовать анализатор трафика для оценки полученного результата.
5.2 Рабочее задание
5.2.1 Собрать локальную сеть согласно рисунка 5.1.
5.2.2 Организовать локальную сеть, в которой подключаемые клиенты будут получать конфигурацию сетевых интерфейсов динамически от DHCP-сервера на базе маршрутизатора. Раздаваемые адреса должны находиться в подсети 192.168.24.0/24, причем адреса в диапазоне 192.168.24.1 – 192.168.24.59 зарезервированы (не должны выдаваться клиентам). Клиенты, подключенные к портам 5 и 7 коммутатора, должны всегда получать адреса 192.168.24.101 и 192.168.24.102 соответственно.
5.2.3 Представить отчет, содержащий:
- схему сети;
- трейс анализатора трафика;
- диаграмму процедуры получения конфигурации хостами от DHCP-сервера в точках A и B.
5.3 Методические указания к выполнению лабораторной работы
5.3.1 Подключить маршрутизатор Cisco-core и управляемый коммутатор SW-L2-1 к компьютеру управления (mnlin) по интерфейсам RS232 и Ethernet соответственно. Включить сетевое оборудование, настроить статические сетевые интерфейсы на mnlin согласно схеме сети (см. рисунок 5.1). Проверить доступность ftp-сервера на mnlin.
5.3.2 Включить в коммутаторе поддержку DHCP Relay Agent. Для этого с компьютера управления mnlin необходимо зайти на web-интерфейс коммутатора, который находится по адресу 192.168.24.10. После зайти во вкладку NetworkApplication®DHCP®DHCP Relay Global Settings и выставить значения полей DHCP Relay State и DHCP Relay Agent Information Option 82 в состояние Enable (см. рисунок 5.2).
Примечание. При необходимости здесь же можно изменить MAC-адрес коммутатора, передающийся DHCP- серверу в опции 82, выставив его в поле DHCP Relay Agent Information Option 82 Remote-ID.
Рисунок 5.1 – Схема лабораторной сети
Рисунок 5.2 – Вкладка DHCP Relay Global Settings
После этого необходимо указать адрес используемого DHCP-сервера на вкладке NetworkApplication®DHCP®DHCP Relay®DHCP Interface Settings (см. рисунок 5.3). Здесь нужно указать интерфейс (System) и добавить IP-адрес будущего сервера: 192.168.24.1, после чего принять сделанные изменения.
Рисунок 5.3 – Вкладка DHCP Interface Settings
5.3.3 Необходимо настроить сетевой интерфейс GE0/0 маршрутизатора Cisco. С компьютера управления макетом (mnlin) необходимо подключиться к консольному порту маршрутизатора Cisco и сконфигурировать сетевой интерфейс. Будем использовать для этого терминальную утилиту picocom:
root@mnlin# picocom /dev/ttyS0,
где ttyS0 – символьное устройство порта com1, ttyS1 – соответственно, com2 и т.д. Для выхода из утилиты picocom нажмите одновременно клавиши Ctrl+A+Q.
cisco-core>
cisco-core>enable /Входим в привилегированный режим
cisco-core#configure terminal /режим конфигурирования
cisco-core(config)#interface gigabitethernet 0/0 /выбираем интерфейс
cisco-core(config-if)#ip address 192.168.24.1 255.255.255.0 /задаем ip-адрес интерфейса и маску подсети
cisco-core(config-if)#no shutdown /включаем интерфейс
cisco-core(config-if)#end /выходим из режима конфигурации
5.3.4 Для того чтобы сервер мог распознать запросы, содержащие опцию 82, нужно выяснить вид данной опции в конкретном случае. Существует стандартная форма опции 82, однако у разных производителей оборудования эта реализация может отличаться. Поэтому надежным вариантом будет определение её вида на конкретном оборудовании:
a) Собрать вспомогательную схему сети, представленную на рисунке 5.4, для определения вида опции 82.
б) Настроить полное зеркалирование трафика с порта 9 на порт 8. Это позволит отслеживать запросы DHCP Discover с добавленной опцией 82, посылаемые коммутатором в сторону ранее указанного нами DHCP-сервера (192.168.24.1). Находясь в web-интерфейсе коммутатора, перейдите на вкладку Monitoring®Mirror®Port Mirror Settings и выставьте зеркалирование всего трафика с порта 9 на порт 8, как показано на рисунке 5.5.
Рисунок 5.4 – Схема вспомогательной сети
Рисунок 5.5 – Настройка зеркалирования портов
в) Запустить анализатор трафика на интерфейсе eth1 mnlin, соединенном с портом 8 коммутатора. Для уменьшения количества пакетов в трейсе нажимайте Start в тот момент, когда будете готовы выполнить следующий пункт, или подключите фильтр трафика.
г) Подключить тестовую машину (любой компьютер из имеющихся в лаборатории) с сетевым интерфейсом, настроенным на получение конфигурации по протоколу DHCP к порту 5 коммутатора.
д) Определить вид поля Option 82 в запросе DHCP Discover. После подключения тестовой машины достаточно снимать трэйс в течение приблизительно 10 секунд. Для облегчения поиска в полученном трэйсе используйте фильтрующее выражение «bootp». В трэйсе необходимо найти первое по времени сообщение протокола DHCP, направленное на адрес 192.168.24.1 (это и будет сообщение Discover), и в заголовке верхнего уровня найти поле Option (82): Agent information option. Значение value и будет интересующей опцией 82. Данное значение необходимо записать для последующего использования.
Рисунок 5.6– Получение значения опции 82
е) Выполнить аналогичную процедуру для порта 7.
5.3.5 Собрать сеть согласно схеме, приведенной на рисунке 5.1
5.3.6 Сконфигурировать DHCP-сервер. С компьютера управления макетом (mnlin) необходимо подключиться к консольному порту маршрутизатора Cisco и сконфигурировать на нем DHCP-сервер подобно тому, как мы настраивали сетевой интерфейс в п.3.
Ниже приведен пример конфигурации DHCP-сервера с необходимыми пояснениями в виде: «команда/пояснение».
cisco-core#configure terminal
cisco-core(config)#ip dhcp database ftp://admin:пароль@192.168.24.31/dhcp-db /указываем DHCP-серверу адрес для хранения базы данных подключающихся клиентов (FTP-сервер на mnlin)
cisco-core(config)#service dhcp /включаем службу DHCP
cisco-core(config)#ip dhcp use class /включаем использование классов
cisco-core(config)#ip dhcp excluded-address 192.168.24.1 192.168.24.59 /задаем диапазон, адреса из которого не будут выдаваться клиентам
cisco-core(config)#ip dhcp class port5 /создаем класс port5
cisco-core(config-dhcp-class)#relay agent information /указываем, что сопоставление запроса данному классу будет производиться путем сравнения поля option 82 запроса с заданным нами значением
cisco-core(config-dhcp-class-relayinfo)#relay-information hex 01060004000100050208000634080464befc /указываем строку сопоставления запроса данному классу; здесь нужно использовать полученное нами ранее значение опции 82
cisco-core(config-dhcp-class-relayinfo)#end /выходим из режима конфигурации
cisco-core#
cisco-core#configure terminal
cisco-core(config)#ip dhcp class port7
cisco-core(config-dhcp-class)#relay agent information
cisco-core(config-dhcp-class-relayinfo)#relay-information hex 01060004000100070208000634080464befc
cisco-core(config-dhcp-class-relayinfo)#end
cisco-core#configure terminal
cisco-core(config)#ip dhcp class common-net /создаем общий класс для всех запросов не соответствующих классам port5 и port7
cisco-core(config-dhcp-class)#relay agent information
cisco-core(config-dhcp-class-relayinfo)#end
cisco-core#
cisco-core#configure terminal
cisco-core(config)#ip dhcp pool LAN1 /создаем пул адресов LAN1 и далее указываем сведения, которые DHCP-сервер будет выдавать клиентам
cisco-core(dhcp-config)#network 192.168.24.0 255.255.255.0 /подсеть, в которой DHCP-сервером будут выдаваться адреса
cisco-core(dhcp-config)#domain-name lan1.maket /доменное имя
cisco-core(dhcp-config)#dns-server 192.168.24.1 /DNS-сервер
cisco-core(dhcp-config)#default-router 192.168.24.1 /шлюз по умолчанию
cisco-core(dhcp-config)#class port5 /специфические настройки для клиентов, чей запрос соответствует классу port5
cisco-core(config-dhcp-pool-class)#address range 192.168.24.101 192.168.24.101 /диапазон выдаваемых адресов (в нашем случае, по заданию, состоит из одного адреса)
cisco-core(config-dhcp-pool-class)#end
cisco-core#configure terminal
cisco-core(config)#ip dhcp pool LAN1 /продолжаем настраивать пул LAN1
cisco-core(dhcp-config)#class port7
cisco-core(config-dhcp-pool-class)#address range 192.168.24.102 192.168.24.102
cisco-core(config-dhcp-pool-class)#end
cisco-core#
cisco-core#configure terminal
cisco-core(config)#ip dhcp pool LAN1
cisco-core(dhcp-config)#class common-net
cisco-core(config-dhcp-pool-class)#end
cisco-core#
cisco-core#show running-config /проверяем полученную конфигурацию
Включаем вывод сообщений DHCP-сервера, относящихся к процедуре сопоставления приходящих запросов имеющимся классам:
cisco-core#debug ip dhcp server class
DHCP server class debugging is on.
На основе приведенной процедуры конфигурации необходимо настроить DHCP-сервер в соответствии с заданием к лабораторной работе.
5.3.7 Проверка работоспособности конфигурации производится путем подключения тестовых машин к разным портам коммутатора и определения на них назначенных IP-адресов.
Посмотреть статистику работы DHCP-сервера по базе данных можно в терминале Cisco следующими командами:
cisco-core#show ip dhcp bindings
cisco-core#show ip dhcp conflicts
cisco-core#show ip dhcp database
cisco-core#show ip dhcp server statistics
После просмотра статистику можно очистить:
cisco-core#clear ip dhcp binding *
cisco-core#clear ip dhcp conflict *
cisco-core#clear ip dhcp server statistics
5.3.8 Используя анализатор трафика и возможности зеркалирования портов коммутатора, зарисуйте диаграмму процедуры получения хостами конфигурации от DHCP-сервера в точках A и B (см. рисунок 5.1) и сравните ее со стандартной процедурой.
5.4 Контрольные вопросы
5.4.1 В чем заключается принцип работы протокола DHCP?
5.4.2 Назовите назначение опции 82.
5.4.3 Назовите методы зеркалирования трафика.
5.4.4 С какой целью осуществляется зеркалирование трафика?
5.4.5 Как можно оценить результаты зеркалирования?
6 Лабораторная работа №6. Трансляция сетевых адресов в сетях IPv4
Цель работы: получение навыков настройки механизмов системы трансляции сетевых адресов (NAT – Network Address Translation) в сетях IPv4.
6.1 Предварительная подготовка
6.1.1 Знать методы расширения адресного пространства в сетях IPv4, иметь представлении о NAT.
6.2 Рабочее задание
6.2.1 Соберите сеть для выполнения лабораторной работы согласно полученному заданию (см. рисунок 6.1).
6.2.2 Настройте SNAT/маскарадинг на soft-core1 согласно приведенной схеме подключившись к программному маршрутизатору.
6.2.3 Подключитесь к компьютеру управления mnlin и запустите генератор трафика Ostinato. Создайте для порта eth1 поток UDP-пакетов с произвольными портами (1024-65535), фиксированным IPv4-адресом отправителя (из указанных в задании подсети) и адресом назначения.
6.2.4 Настройте DNAT на маршрутизаторе soft-core2. Измените созданный ранее UDP-поток таким образом, чтобы портом назначения был 34001.
6.2.5 Проведите проверку правильности конфигурации NAT.
6.2.6 Представить отчет, содержащий листинги проведенных действий, трейсы анализатора трафика, доказывающие правильность настройки NAT и туннеля 6to4.
6.3 Методические указания к выполнению лабораторной работы
6.3.1 Создать локальную сеть, представленную на рисунке 6.1.
6.3.2 Присвоить IP – адреса узлам сети в соответствии с таблицей 6.1.
Для задания IP – адреса сетевому интерфейсу сначала необходимо сначала удалить старый адрес, а затем присвоить новый.
root@sc-1# ip addr del <старый_адрес/префикс> dev <интерфейс>
root@sc-1# ip -4/-6 addr add <новый_адрес/префикс> dev <интерфейс>
В данном случае опции -4 и -6 обозначают тип адреса: IPv4 или IPv6 соответственно. Например, так может выглядеть смена адреса eth0:
root@sc-1# ip addr del 192.168.24.1/24 dev eth0
root@sc-1# ip -4 addr add 10.0.0.1/8 dev eth0
Рисунок 6.1 – Схема сети для организации NAT
Т а б л и ц а 6.1
Интерфейс |
Адрес |
|
mnlin – eth0 |
не выставляется |
|
mnlin – eth1 |
192.168.24.33/24 |
|
mnlin – eth2 |
не выставляется |
|
soft-core1 – eth0 |
192.168.24.1/24 |
|
soft-core1 – eth1 |
70.1.1.1/30 |
|
soft-core2 – eth0 |
172.16.0.1/16 |
|
soft-core2 – eth1 |
70.1.1.2/30 |
|
PC-1 |
192.168.24.2/24 |
|
PC-2 |
172.16.0.5/16 |
6.3.3 Просмотреть информацию о сетевых интерфейсах можно введя команду ifconfig (все интерфейсы) или ifconfig <интерфейс> (для просмотра конкретного интерфейса). Описанным способом настройте все сетевые интерфейсы маршрутизаторов в соответствии с вашим вариантом задания.
Примечание. Настраивать сетевые интерфейсы удобнее всего подключаясь к маршрутизаторам поочередно с помощью KVM-переключателя.
При сборке сети не забудьте настроить зеркалирование указанных портов коммутаторов. На схеме запись вида «p.7 (= p.1)» обозначает, что на порту 7 настроено зеркалирование всего трафика с порта 1.
Т а б л и ц а 6.2
6.3.4 Для настройки зеркалирования в коммутаторах SW-L2-1 и SW-L2-2 зайдите в веб-интерфейс нужного коммутатора (login: admin, passw: admin), перейдите на вкладку Monitoring->Mirror->Port Mirror Settings и выставьте зеркалирование, как показано на рисунке 6.2.
Рисунок 6.2 – Настройка зеркалирования портов в SW-L2-1/ SW-L2-2
Процедура настройки зеркалирования портов SW-L3 в точности напоминает вышеописанную (см. рисунок 6.3).
В поле TargetPort указывается тот порт, на который будет осуществляться зеркалирование трафика.
6.3.5 Для настройки маскарадинга на soft-core1 согласно приведенной схеме необходимо подключиться к программному маршрутизатору и выполнить следующие действия:
student@pc# ssh admin@192.168.24.1 /подключаемся к SC-1
admin@sc-1# su /получаем права суперпользователя
root@sc-1# sysctl net.ipv4.ip_forward=1 /включаем IP-forwarding
root@sc-1# iptables –F /очищаем таблицу filter
root@sc-1# iptables –t nat –F /очищаем таблицу nat
/правила трансляции:
root@sc-1# iptables –t nat –A POSTROUTING –o eth1 –j MASQUERADE /добавляем правило, осуществляющее маскарадинг всех пакетов, выходящих из интерфейса eth1 данного хоста (т.е. SC-1)
Рисунок 6.3 – Настройка зеркалирования портов в SW-L3
Можно применить и другое правило для настройки SNAT:
root@sc-1# iptables –t nat –A POSTROUTING –o eth1 –j SNAT --to-source 70.1.1.1 /подменяем IP-адрес отправителя всех пакетов выходящих из интерфейса eth1 на 70.1.1.1
/Просмотреть имеющиеся в таблице nat правила можно командой
root@sс-1# iptables -t nat --list
Рисунок 6.4 — Просмотр правил трансляции сетевых адресов
Маскарадинг может адаптироваться к изменяющемуся динамическому внешнему адресу шлюза, а SNAT использует меньше системных ресурсов маршрутизатора, т.к. не проверяет адрес шлюза для каждого исходящего пакета.
6.3.6 С помощью KVM-переключателя подключитесь к компьютеру управления mnlin и запустите генератор трафика Ostinato. На порту eth0 mnlin запустите Wireshark, а для порта eth1 создайте поток UDP-пакетов с произвольными портами (1024-65535), фиксированным IPv4-адресом отправителя из подсети 192.168.24.0/24 и адресом назначения 70.1.1.2.
Примечание. Для успешной передачи потока в поле Destination Address протокола Media Access Protocol необходимо выставить реальное значение MAC-адреса интерфейса eth0 маршрутизатора soft-core1 (рис. 6). Узнать его можно командой:
root@soft-core1# ifconfig eth0
Рисунок 6.5 — Настройка генератора трафика
Запустив генерацию, отследите в анализаторе трафика этот поток по адресу назначения. В поле IP-адреса отправителя у всех пакетов должно быть значение 70.1.1.1, т.е. адрес шлюзового интерфейса.
6.3.7 Теперь нужно настроить DNAT на маршрутизаторе soft-core2.
student@pc# ssh admin@172.16.0.1 /подключаемся к SC-2
admin@sc-2# su /получаем права суперпользователя
root@sc-2# sysctl net.ipv4.ip_forward=1 /включаем IP-forwarding
root@sc-2# iptables –F /очищаем таблицу filter
root@sc-2# iptables –t nat –F /очищаем таблицу nat
/правила трансляции:
root@sc-2# iptables –t nat –A PREROUTING –d 70.1.1.2 –p UDP --dport 34001 –j DNAT --to-destination 172.16.0.5 /подменяем у всех пакетов UDP пришедших на порт 34001 адрес назначения на 172.16.0.5 (порт назначения остается прежним – 34001)
root@sc-2# iptables –t nat –A PREROUTING –d 70.1.1.2 –p TCP --dport 34001 –j DNAT --to-destination 172.16.0.5 /то же для TCP
6.3.8 Запустите на mnlin прослушивание порта eth2 с помощью Wireshark, а в Ostinato для порта eth1 измените созданный ранее UDP-поток таким образом, чтобы портом назначения был 34001. Начав передачу трафика, снимайте трэйс с порта eth2. Результатом правильной настройки работы механизма трансляции адресов всей сети должен стать исходный поток UDP-пакетов с адресом отправителя 70.1.1.1 и адресом назначения 172.16.0.5.
Проверка правильности выполненных настроек также может быть проведена с помощью netcat. Netcat представляет собой простую утилиту для чтения и пересылки данных посредством протоколов TCP и UDP. Для установления TCP-соединения на узле 172.16.0.5 необходимо запустить netcat в режиме сервера, прослушивая (listen), например, порт 34001 (или любой другой незанятый порт):
root@pc-2# nc -l -p 34001,
а на узле 192.168.24.2 – в режиме клиента, подключающегося к серверу по адресу 70.1.1.2 на тот же порт 34001:
root@pc-1# nc 70.1.1.2 34001.
В случае успешного установления соединения, станет возможным обмен текстовыми сообщениями между двумя экземплярами netcat, образовав некоторое подобие текстового чата.
Последовательно снимая трафик с портов eth0 и eth2 компьютера управления mnlin во время передачи данных с помощью netcat, убедитесь в том, что трансляция адресов на разных участках сети работает должным образом.
6.4 Контрольные вопросы
6.4.1 Назовите методы расширения адресного пространства в сетях IPv4.
6.4.2 Что такое маскарадинг?
6.4.3 Какую операцию в системе Linux выполняет утилита iptables?
7 Лабораторная работа №7. Туннелирование сетевых адресов IPv6 в сетях IPv4
Цель работы: получение навыков настройки механизмов туннелирования сетевых адресов IPv6 в сетях IPv4.
7.1 Предварительная подготовка
7.1.1 Знать методы расширения адресного пространства в сетях IPv6 и создания туннелей в сетях IPv6, иметь представлении о туннелировании в сетях NGN.
7.2 Рабочее задание
7.2.1 Соберите сеть для выполнения лабораторной работы согласно полученному заданию (см. рисунок 7.1).
7.2.2 Подключитесь к программным маршрутизаторам и создайте туннель согласно методике выполнения лабораторной работы.
7.2.3 Проверьте работу созданного туннеля.
7.3 Методические указания к выполнению лабораторной работы
7.3.1 Создать локальную сеть, представленную на рисунке 7.1.
Рисунок 7.1 – Схема сети для настройки 6to4
В данной работе мы создадим автономный туннель (без выхода в глобальную сеть), проходящий через сеть IPv4и связывающий между собой две подсети IPv6. Рассмотрим вариант построения сети, приведенный на рисунке 7.1.
Адреса узлов выставляются по таблице 7.1
Т а б л и ц а 7.1
Интерфейс |
Адрес |
|
mnlin – eth0 |
не выставляется |
|
mnlin – eth1 |
2001:1:1:1::33/64 |
|
mnlin – eth2 |
не выставляется |
|
soft-core1 – eth0 |
2001:1:1:1::1/64 |
|
soft-core1 – eth1 |
70.1.1.1/30 |
|
soft-core2 – eth0 |
2001:1:1:2::1/64 |
|
soft-core2 – eth1 |
70.1.1.2/30 |
|
PC1 |
2001:1:1:1::2/64 |
|
PC2 |
2001:1:1:2::20/64 |
Необходимо провести настройку зеркалирования портов коммутаторов, как было проведено в предыдущей работе.
7.3.2 Подключитесь (по SSH или с помощью KVM) к программным маршрутизаторам и на каждом из них выполните описанные ниже действия.
Сначала необходимо удалить существующие правила файервола и включить транзит трафика IPv6:
root@sc-1# sysctl net.ipv6.conf.all.forwarding=1 /включаем IPv6 Forwarding
root@sc-1# iptables –F /очищаемтаблицу filter
root@sc-1# iptables –t nat –F /очищаемтаблицу nat
root@sc-1# ip6tables –F /очищаемтаблицу filter для IPv6
Очистить таблицы нужно на обоих маршрутизаторах!
Теперь зададим IPv6-адреса интерфейсам eth0 маршрутизаторов. В общем виде команда выглядит так:
ip -6 addr add <ipv6-адрес>/<префикс> dev <интерфейс>
Например, для задания IPv6-адреса интерфейсу eth0 маршрутизатора soft-core1 команда приметследующий вид:
root@sc-1# ip -6 addr add 2001:1:1:1::1/64 dev eth0
а для soft-core2:
root@sc-2# ip -6 addr add 2001:1:1:2::1/64 dev eth0
Просмотреть текущие настройки сетевых интерфейсов можно, запустив от суперпользователя команду ifconfig (все интерфейсы) или ifconfig<имя_интерфейса> (выбранный интерфейс, например eth0).
Приступим к настройке 6to4-туннеля. Для настройки туннеля 6to4 необходимо настроить виртуальный туннельный адаптер, включить его и прописать статический маршрут в сеть на противоположном конце туннеля. В обобщенном виде создание туннельного адаптера будет выглядеть так:
ip tunnel add <имя_адаптера> mode sit ttl <время_жизни_пакета> remote <ipv4_адрес_удаленного_конца_туннеля> local <локальный_адрес_ipv4>
Имена адаптеров принято давать по типу адаптера (здесь sit) + порядковый номер, начиная с единицы.
Весь процесс настройки на стороне soft-core1:
root@sc-1# ip tunnel add sit1 mode sit ttl 64 remote 70.1.1.2 local 70.1.1.1
root@sc-1# ip link set dev sit1 up
root@sc-1# ip -6 route add 2001:1:1:2::/64 dev sit1 metric 1
В отличие от лабораторной работы, посвященной статической маршрутизации, в данном случае для создания простого статического маршрута мы используем стандартные средства Linux–утилиту ip. В общем виде для создания маршрута применяется такая команда:
ip -6 route add <удаленная_сеть/префикс> dev <адаптер> metric <значение_метрики>
Здесь опция «-6» указывает на то, что используется адресация IPv6, имя адаптера указывает исходящий интерфейс, а значение метрики определяет приоритет маршрута: 1 – высший приоритет.
Аналогичным образом будет выглядеть процесс настройки на другой стороне туннеля (soft-core2):
root@sc-2# ip tunnel add sit1 mode sit ttl 64 remote 70.1.1.1 local 70.1.1.2
root@sc-2# ip link set dev sit1 up
root@sc-2# ip -6 route add 2001:1:1:1::/64 dev sit1 metric 1
Просмотреть существующий 6to4 туннель можно командами (см. рисунок 7.2):
Рисунок 7.2 – Информация о туннеле
ip -6 tunnel show sit1
ifconfig sit1
7.3.3 Для проверки работоспособности туннеля запустите генератор трафика Ostinato на mnlin и создайте новый UDP/IPv6-поток для интерфейса eth1.
Соберите пакеты для потока, как показано на рисунке 7.3.
Рисунок 7.3 – Проверочный поток. Конструирование пакета
При создании потока не забудьте указать верный адрес назначения в поле MediaAccessProtocol (MAC-адрес порта eth0 маршрутизатора soft-core1). Также не забудьте выставить верные значения в полях заголовка сетевого уровня IPv6 (см. рисунок 7.4).
Запустив генерацию трафика, анализатором Wireshark снимите трафик с порта eth0 и убедитесь в том, что в трейсе находятся инкапсулированные в IPv4 пакеты IPv6. Затем снимайте трафик с порта eth2. В случае успешной работы 6to4-туннеля вы увидите чистые IPv6-пакетыс адресом отправителя из сети 2001:1:1:1::/64.
7.4 Контрольные вопросы
7.4.1 Что представляет собой туннелирование в мультисервисных сетях?
7.4.2 Назовите методы создания туннелей в сетях IPv4.
Рисунок 7.4 – Проверочный поток. Сетевой уровень
8 Лабораторная работа №8. Настройка локального сервера имен (DNS)
Цель работы: изучение методов организации работы с символьными адресами.
8.1 Предварительная подготовка
8.1.1 Иметь представление о структуре службы DNS (Domain Name System) и обработке DNS-запросов, о работе утилит host и dig. Знать формат пакета DNS-запроса и DNS-ответа, номер DNS-порта.
8.1.2 Уметь анализировать пакет DNS-службы, полученный с помощью анализатора трафика.
8.1.3 Представить в отчете:
а) полученную конфигурацию файла hosts, результат работы утилиты traceroute;
б) конфигурационный файл named.conf, файлы с описаниями прямой и обратной зон на сервере с запущенным BIND, результаты работы утилит host и dig, скриншот FlowGraph.
8.2 Рабочее задание
8.2.1 Согласно варианту, создать файл hosts, описывающий хосты лабораторной сети.
8.2.2 Провести проверку работоспособности получившейся адресной таблицы, в качестве аргумента укажите символьные адреса хостов.
8.2.3 Провести настройку сервера доменных имен путем редактирования рабочих конфигурационных файлов: named.conf и с описаниями прямой и обратной зон на сервере с запущенным BIND.
8.2.4 Проверить работоспособность полученной конфигурации для IPv4 и IPv6.
8.2.5 Проверить взаимодействие локального DNS-сервера с общей инфраструктурой DNS, построить диаграмму рекурсивного разрешения адреса.
8.3 Методические указания к выполнению лабораторной работы
8.3.1 Во времена зарождения компьютерных сетей всю информацию об узлах, необходимую для преобразования имен в адреса, хранил один единственный файл hosts, копия которого располагалась на каждом отдельном узле сети. Этот файл присутствует и в современных операционных системах.
При использовании плоской адресации пространство символьных имен никак не структурировано. Такой подход может быть оправдан при администрировании небольшой изолированной локальной сети, внутри которой требуется символьная адресация хостов, а изменения в сети происходят крайне редко.
Рисунок 8.1 – Распределение плоских символьных имен
Для реализации данного подхода в Unix-подобных операционных системах существует специальная таблица разрешения имен, хранящаяся в файле /etc/hosts. Таблица имеет следующий вид:
#IP-адрес Имя хоста
127.0.0.1 localhost
192.168.215.45 ivanov_s2
192.168.215.78 petrov94
192.168.217.31 prepod-pc
Данная таблица имеет значение только для компьютера, на котором она размещена. Таким образом, для поддержания рабочей адресации в подобной сети, необходимо следить за своевременностью обновления таблиц hostsна всех хостах.
Файл hostsявляется текстовым и создается вручную.
Для проверки работоспособности получившейся адресной таблицы воспользуйтесь утилитой traceroute, в качестве аргумента указывая ей символьные адреса хостов (см. рисунок 8.2).
Рисунок 8.2 – Проверка плоской адресации
8.3.2 На данный момент стандартом для UNIX-систем является DNS-сервер BIND (Berkley Internet Name Domain). В данной работе используется версия BIND 9.7.3, что определяет специфику формата приведенных конфигурационных файлов.
Рассмотрим пример настройки DNS-сервера, обслуживающего домен lab.org, схематично изображенный на рисунке 8.3.
Настройка сервера доменных имен производится путем редактирования рабочих конфигурационных файлов. Основным файлом настроек является /etc/named.conf – здесь хранится общая конфигурация сервера и указатели на описания зон, за которые отвечает данный сервер. В каталоге /var/named/, по умолчанию, содержатся файлы, описывающие зоны доменных имен данного сервера. Установленный пакет BIND уже содержит вспомогательные описания типовых зон таких, как корневая зона, localhost и т.д. Таким образом, для запуска DNS-сервера достаточно создать и настроить описания для протоколов IPv4 и IPv6 прямых и обратных зон, ответственность за которые несет данный сервер.
Рисунок 8.3 – Структура домена lab.org
Как видно из рисунка, зона lab.org располагается в подсети 192.168.217.0/24 (2001:1:3df:12ab::/64 при адресации посредством IPv6) и содержит шесть доменных имен.
В сети находятся следующие хосты:
- ns.lab.org –DNS-сервер сети;
- ivanov.lab.org– клиентская машина;
- petrov.lab.org– клиентская машина;
- prepod.lab.org– клиентская машина;
- www.lab.org, ftp.lab.org – сервер с запущенными на нем службами Web и FTP.
8.3.3 Для выполнения работы необходимо получить от преподавателя вариант задания, содержащий описание обслуживаемой зоны. В соответствии с вариантом нужно создать конфигурационный файл named.conf и файлы с описаниями прямой и обратной зон на сервере с запущенным BIND, после чего проверить работоспособность полученной конфигурации.
После изменения конфигурационных файлов необходимо перезапустить серверот имени суперпользователя:
service named restart
Для проверки работоспособности конфигурации воспользуйтесь специализированной утилитой host (см. рисунки 8.4, 8.5, 8.6).
Рисунок 8.4 – Прямой запрос
Рисунок 8.5 – Обратный запрос IPv4
Рисунок 8.6 – Обратный запрос IPv6
8.3.4 Для получения более полной информации используйте утилиту dig (см. рисунок 8.7), для обратных запросов она применяется с опцией -x.
Примечание. При проверке не забудьте на клиентских машинах выставить IP-адрес mnlin с запущенным на нем BIND в качестве DNS-сервера. Узнать текущий используемый DNS-сервер на клиентской машине можно командой:
cat /etc/resolv.conf
Аналогичным образом проверьте IPv6-записи.
Проверьте взаимодействие локального DNS-сервера с общей инфраструктурой DNS. Для этого запустите на mnlin анализатор трафика Wireshark и снимайте трэйс, в то время как на клиентской машине будет произведен запрос какого-либо доменного имени из глобальной сети, например:
host yahoo.com
Рисунок 8.7 – Утилита dig
После получения ответа завершите съем трафика, включите фильтр протокола dns и инструментом Statistics ->FlowGraph, постройте диаграмму рекурсивного разрешения адреса (см. рисунок 8.8).
Рисунок 8.8 – Разрешение адреса в глобальной сети
Утилита dig также позволяет проследить процесс разрешения адреса в глобальной сети:
dig доменное_имя +trace
8.4 Контрольные вопросы
8.4.1 Какую структуру имеет служба DNS (Domain Name System)?
8.4.2 Как проводится обработка DNS-запросов?
8.4.3 Какие операции выполняют утилиты host и dig?
Список литературы
1. Битнер В.И., Попов Г.Н. Нормирование качества телекоммуникационных услуг - М.: Горячая линия - Телеком, 2004.
2. Олифер Н.А., Олифер В.Г. Компьютерные сети. Принципы, технологии, протоколы, 4-е изд. – СПб.: Питер, 2010.
3. Телекоммуникационные системы и сети: Учебное пособие. В 3 томах. Том 3. – Мультисервисные сети / В.В. Величко, Е.А. Субботин, В.П. Шувалов, А.Ф. Ярославцев; под ред. проф. В.П. Шувалова. – М.: Горячая линия Телеком, 2005.
4. Качество обслуживания в телекоммуникационных сетях. Конспект лекций для магистрантов специальности 6М071900 – Радиотехника, электроника и телекоммуникации /Туманбаева К.Х. – Алматы: АУЭС, 2012.
5. Качество обслуживания в телекоммуникационных сетях. Методические указания к выполнению расчетно – графических работ. /Туманбаева К.Х. - Алматы: АИЭС, 2010.
Содержание
|
Введение. |
3 |
1 |
Лабораторная работа №1. Анализ трафика локальной сети |
4 |
2 |
Лабораторная работа №2. Мониторинг в сетях связи: протокол ICMP, специализированные утилиты |
8 |
3 |
Лабораторная работа №3. Статическая маршрутизация в сети на базе протокола IPv4 |
12 |
4 |
Лабораторная работа №4. Статическая маршрутизация в сети на базе протокола IPv6 |
18 |
5 |
Лабораторная работа №5. Настройка сервера динамического конфигурирования хостов (DHCP) в локальной сети |
23 |
6 |
Лабораторная работа №6. Трансляция и туннелирование сетевых адресов в сетях IPv4 |
31 |
7 |
Лабораторная работа №7. Трансляция и туннелирование сетевых адресов в сетях IPv6 |
36 |
8 |
Настройка локального сервера имен (DNS) |
41 |
|
Список литературы |
47 |
Доп. план 2013 г., поз. 13