return

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

17 марта 2014, 18:08

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

Для примера мы возьмём вот такую сеть: Здесь 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. Всё на маршрутизаторах

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

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 можно перенести на рабочую площадку. Важно: добавлять линки и включать сбор дампов надо до запуска Qemu.
Образ multicast для Qemu содержит предустановленный VLC и специальный скрипт для запуска вещания — start.sh.
Вы можете также настроить интерфейсы с помощью утилиты, а через консоль проверить сетевые настройки, запустить пинг или собственно, скрипт. Чтобы выполнить скрипт, нужно сначала дать права на это:

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 20 -L

В качестве клиента, признаться, я так и не смог запустить Qemu — почему-то он так и не стал передавать IGMP в сеть. Поэтому я использовал свой компьютер.
Для этого вам может понадобиться специальный интерфейс Microsoft Loopback Adapter (клик, клик).
Далее вы добавляете на рабочее поле объект Cloud (или Host), заходите в его настойки и указываете там ваш интерфейс. Далее на интерфейсе маршрутизатора и в настройках IPv4 интерфейса MS Loopback Adapter настаиваете IP из одной подсети.

Бывает ситуация, когда виндоус не отправляет 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.Теперь вы укомплектованы необходимым инструментарием, чтобы приступить к лабам по мультикасту.


Оставайтесь на связи

Пишите нам: info@linkmeup.ru
Канал в телеграме: t.me/linkmeup_podcast
Канал на youtube: youtube.com/c/linkmeup-podcast
Подкаст доступен в iTunes, Google Подкастах, Яндекс Музыке, Castbox
Сообщество в вк: vk.com/linkmeup
Группа в фб: www.facebook.com/linkmeup.sdsm
Добавить RSS в подкаст-плеер.
Пообщаться в общем чате в тг: https://t.me/linkmeup_chat

Поддержите проект:

like 126 views 34641 message 20

20 коментариев

  • Здравствуйте
    Подскажите пожалуйста, не смог разобраться.
    При подключении QEMU multihost у меня заходит в систему под логином «tc@box», и в результате не получается найти файл start.sh. Вопрос в следующем как мне зайти под логином «multicast» или как найти файл start.sh.
    Как ни странно вчера все работало))

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

    21 марта 2016, 19:47
  • День добрый.
    Собираю лабу для мультикаста в GNS3. Схема как в статье. Qemu—RW—Cloud(loopback).
    Возникла следующая проблема. Пинги с рабочего компа (cloud) до роутера (RW) и виртуалки (qemu) ходят, а обратно нет.
    Сломал голову. Смотрел дамп wireshark — icmp requestы от RW ходят, а cloud на них не отвечает. Рабочая система Windows 8.1.
    Видимо проблема в Винде. Есть идеи в чем может быть проблема? Очень хочу лабу доделать)

    27 августа 2015, 13:03
  • Добрый день, могли бы помочь? собрал схему с QEMU машиной и лупбек своей машины, связность есть. образ маршуртизатор c7200-adventerprisek9-mz.152-4.M8.image, при запуске mping 224.1.1.1 c клиента, вижу что получаю пакеты от qemu машины
    (sh ip mroute видит
    (192.168.4.2, 224.1.1.1), 00:00:00/00:02:59, flags: PT
    Incoming interface: FastEthernet0/1, RPF nbr 0.0.0.0
    Outgoing interface list: Null
    (172.16.0.5, 224.1.1.1), 00:05:19/00:01:34, flags: T
    Incoming interface: FastEthernet0/0, RPF nbr 0.0.0.0
    Outgoing interface list:
    FastEthernet0/1, Forward/Sparse, 00:00:01/00:02:58

    , но включая VLC ничего не вижу.

    15 мая 2015, 16:00
  • Добрый день!
    Ести GNS3 и HYper-V.
    Подскажите как добавить виртуальную машину в GNS3.
    Я уже сломал себе мозг.

    12 ноября 2014, 16:13
  • Некоторая путаница возникает при настройке 1. Всё на маршрутизаторах.
    В видео настраиваем loopback интерфейс, в тексте не настраиваем. ip pim rp-address 172.16.0.1 указываем различные. Интерфейсы клиента у нас то 1/0 то 0/0 попеременно.

    31 июля 2014, 12:11
  • При настройке стенда, у меня возникли совершенно неожиданные проблемы, видео ни как не хотело нормально передаваться клиенту, либо буффер зависал, либо первые фрагменты видео. Чего я только не делал: перепробовал разные Виртуалки, разные ОСи, разные версии VLC… В итоге решил попробовать сменить роутер (стоял проверенный с2691), поставил с7200, всё отлично заработало. Менял обратно, с с2691 ситуация не изменилась, при старте передачи мультикаст-трафика через него, пинг пропадал и уже не восстанавливался. Интересно, это чисто индивидуальная ситуация, или у кого-то тоже возникали проблемы с мультикастом у с2691?

    22 мая 2014, 15:21
  • Подскажите пожалуйста, в чем недостатки IOU для этой лабы?

    18 марта 2014, 14:40
  • Я то думал будет все на Huawei в eNSP, все равно жду полный выпуск)))Спасибо

    18 марта 2014, 00:00
  • Разобрался. Проблема была в Винде. В настойках сетевых подключений тип сети loopback адаптера был указан как «общественная сеть».
    При смене типа сети на «домашнюю сеть» пинги пошли. Забавно, что в обоих случаях в фаерволе пинги были разрешены — видимо тип сети это
    дополнительная степень защиты поверх фаервола.

    28 августа 2015, 15:05
  • не актуально, проблемы с софтом, не с сетью.

    18 мая 2015, 10:21
  • Рад, что всё получилось.
    Я воспользовался готовым стендом, поэтому сам не настраивал Hyper-V.

    12 ноября 2014, 20:12
  • Хух, разобрался. Спасибо. Проблема была в брандмауере и в gns3. После выключения брандмауэра пошел пинг между виртуалками. А после сноса gns3 и установки заново роутер увидел виртуальную сеть.

    12 ноября 2014, 20:08
  • Всё это уже перепробывал. А Вы разве не с Hyper-V работали в видео? http://www.youtube.com/watch?v=7MqBF0wKNR0

    12 ноября 2014, 17:30
  • С Hyper-V не приходилось иметь дел.
    Попробуйте по имеющимся в сети инструкциям:
    nickikristensen.dk/?p=30
    mikemstech.blogspot.ru/2011/09/connecting-gns3-and-microsoft-hyper-v.html
    итд.

    12 ноября 2014, 17:01
  • Это я понимаю, вопрос в том, как с Hyper-V пробросить эти интерфейсы. Я создаю в гипер-в виртуальную сеть, добавляю в нее сетевой адаптер виртуальной машины, на физическом комьпютере появляется локальная сеть, которую я пробрасываю в GNS3 и ничего не работает.

    12 ноября 2014, 16:40
  • Ну, ваша задача пробросить интерфейсы виртуальной машины в GNS. Для этого эти интерфейсы должны быть видны той машине, на которой вы запускаете GNS.

    Всё, как на скриншоте в статье.

    12 ноября 2014, 16:24
  • Задача была показать, как настроить GNS для тестирования мультикаста. Собственно мультикаст разбирается в следующей статье.
    В этой статье видео и текст связаны только общей темой и топологией.

    1 августа 2014, 07:25
  • Да, встречал точно такую же проблему — только на 72-й удалось более или менее нормально отработать лабу. Всё остальное имело те или иные проблемы.

    22 мая 2014, 15:57
  • К сожалению, не подскажу. IOU не пробовал на эту роль. Да и показывать примеры на нём не хочу. Вообще переадресую ваш вопрос своей коллеге.

    18 марта 2014, 16:51
  • Полный выпуск будет 31-го марта.
    eNSP оказался не таким дружелюбным при работе с мультикастом, хотя возможности у него более чем для этого подходили.

    18 марта 2014, 16:44

Ещё статьи

Ответ к задаче №7.2
R3 —> R1crypto isakmp policy:encr desauthentication pre-sharegroup 1hash md5Генерируем трафик с R3 на R1:R3#ping 10.0.0.0 source 10.1.1.0Type escape sequence to abort.Sending 5, 100-byte ICMP Echos to 10.0.0.0, timeout is 2 ...
like 0 8022 1
7 марта 2013
Сети для самых маленьких. Микровыпуск №6. MPLS L3VPN и доступ в Интернет
Статья про L3VPN получилась большой — ни много ни мало 130 000 символов. Учитывая, что и её ещё не все дочитали, эту часть про доступ в Интернет мы вынесли в ...
like 248 58187 9
1 августа 2016
Ответ к задаче №6.5
Задача 6.5На msk-arbat-gw1:msk-arbat-gw1(config)# router ospf 1msk-arbat-gw1(config-router)# default-information originate metric 30 metric-type 1
like 0 9690 1
29 октября 2012