Микровыпуск СДСМ. Подготовка лаборатории для мультикаст в GNS3

в 8:04, , рубрики: Cisco, multicast, qemu, виртуальные машины, мультикаст, Сетевые технологии, системное администрирование, метки: , , , ,

В этой короткой заметке я хочу рассказать о том, как подготовить тестовый стенд для работы с мультикастом.
Для меня самого эта задача была очень актуальной при подготовке девятого выпуска Сетей Для Самых Маленьких.
Хочется ведь не просто увидеть циферки в консоли, а посмотреть видео.

В качестве эмулятора мы будем использовать GNS.

Поясняющее наглядное видео.

Для примера мы возьмём вот такую сеть:

Микровыпуск СДСМ. Подготовка лаборатории для мультикаст в GNS3

Здесь R1 олицетворяет собой IP-сеть, редуцированную до одного узла — это в общем-то не имеет значения.
Главный вопрос: что будет на месте мультикастового сервера и клиента.

R1 имеет следующую конфигурацию:

ip multicast-routing
interface FastEthernet0/0
 ip address 172.16.0.1 255.255.255.0
 ip pim sparse-mode

interface FastEthernet1/0
 ip address 192.168.4.1 255.255.255.0
 ip pim sparse-mode

ip pim rp-address 172.16.0.1

Этого достаточно, чтобы он начал пропускать через себя мультикастовый трафик.

Итак, вариантов у нас много, начнём с наименее наглядного, но зато и самого простого.

1. Всё на маршрутизаторах

В качестве сервера и клиентов могут быть использованы маршрутизаторы.

Микровыпуск СДСМ. Подготовка лаборатории для мультикаст в GNS3

Для этого вы настраиваете их так, словно это обычный транзитный маршрутизатор:
Сервер

ip multicast-routing
interface FastEthernet0/0
 ip address 172.16.0.5 255.255.255.0
 ip pim sparse-mode
ip pim rp-address 172.16.0.1

Клиент

ip multicast-routing
interface FastEthernet1/0
 ip address 192.168.4.2 255.255.255.0
 ip pim sparse-mode
ip pim rp-address 172.16.0.1

Для того, чтобы Клиент запрашивал подключение к группе, нужно настроить статическую IGMP-группу:

interface FastEthernet0/0
 ip igmp static-group 224.2.2.4

На Сервере сгенерировать трафик можно с помощью обычного пинга.

Server#ping 224.2.2.4 repeat 50

Важно, чтобы и Сервер и Клиент были настроены на передачу мультикастового трафика и знали, кто является RP.

2. Использовать Qemu-хост

Есть в GNS такой чудесный объект, как Qemu-host (не путать с просто Host). Он позволяет запускать микровиртуалки.
GNS в своём арсенале имеет специальный образ для мультикаста на основе linux. (Скачать в составе лабы).

Вы указываете его в параметрах GNS и после этого хост GNS можно перенести на рабочую площадку.

Микровыпуск СДСМ. Подготовка лаборатории для мультикаст в GNS3

Микровыпуск СДСМ. Подготовка лаборатории для мультикаст в GNS3

Важно: добавлять линки и включать сбор дампов надо до запуска Qemu.

Образ multicast для Qemu содержит предустановленный VLC и специальный скрипт для запуска вещания — start.sh.

Вы можете также настроить интерфейсы с помощью утилиты, а через консоль проверить сетевые настройки, запустить пинг или собственно, скрипт.

Микровыпуск СДСМ. Подготовка лаборатории для мультикаст в GNS3

Чтобы выполнить скрипт, нужно сначала дать права на это:

chmod a+x start.sh

Затем запустить:

./start.sh

Обратите внимание при этом на две вещи:

 more start.sh
 vlc pixar.mp4 --sout udp://224.1.1.1:1234 --ttl 2 -L

Адрес группы: 224.1.1.1.
По умолчанию TTL пакетов здесь равен 2. Если ваша сеть будет содержать больше одного маршрутизатора — мультикаст не пройдёт.

Но ничто не мешает вам вручную выполнить команду

 vlc pixar.mp4 --sout udp://224.1.1.1:1234 --ttl <b>20</b> -L

В качестве клиента, признаться, я так и не смог запустить Qemu — почему-то он так и не стал передавать IGMP в сеть. Поэтому я использовал свой компьютер.

Для этого вам может понадобиться специальный интерфейс Microsoft Loopback Adapter (клик, клик).

Далее вы добавляете на рабочее поле объект Cloud (или Host), заходите в его настойки и указываете там ваш интерфейс. Далее на интерфейсе маршрутизатора и в настройках IPv4 интерфейса MS Loopback Adapter настаиваете IP из одной подсети.

Микровыпуск СДСМ. Подготовка лаборатории для мультикаст в GNS3

Бывает ситуация, когда виндоус не отправляет IGMP-Report в сеть по какой-то причине. Тогда может оказаться полезным удалить существующие маршруты в сеть 224.0.0.0/4 и добавить новый через правильный шлюз:

route delete 224.0.0.0
route add 224.0.0.0 mask 240.0.0.0 192.168.4.1

На своей машине потом запускаете VLC и запрашиваете группу 224.1.1.1 — всё должно работать.

3. Использование виртуальных машин

При наличии достаточно мощного компьютера, можно все конечные хосты эмулировать виртуалками. Принцип подключения такой же, как в предыдущем варианте, просто вместо MS Loopback Adapter вы пробрасываете интерфейс из виртуалки на сервер, а в GNS подключаете точно так же, зная имя интерфейса.

В своей статье про мультикаст я использовал третий способ, но на деле, если хочется отработать детали, то вполне можно обойтись и маршрутизаторами, учитывая, что правильно выбрано значение IDLE PC.

Теперь вы укомплектованы необходимым инструментарием, чтобы приступить к лабам по мультикасту.
Оригинал статьи.

Автор: eucariot

Источник

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


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