|
Для прохождения мультикаст трафика необходимо обеспечить трансляцию IGMP сообщений из внутренней сети компании в сеть провайдера,
а также заполнить таблицу роутинга мультикаст трафика (mroute table). Первоначально необходимо проверить, что ядро OC Linux
собрано с поддержкой мультикаст трафика, т.е. при компиляции ядра должны обязательно присутствовать
следующие параметры:
CONFIG_IP_MULTICAST=y
CONFIG_IP_MROUTE=y
Предположим, что схема подключения компании выглядит следующим образом

Сетевой интерфейс eth1,к которому подключена локальная сеть компании имеет адрес 192.168.200.1/24
Сетевой интерфейс eth0,который подключен к "Intelsoft Kazakstan" имеет адрес 192.168.13.1/30
1. Необходимо загрузить программное обеспечение,которое будет выполнять функции трансляции IGMP сообщений
@gw:~# cd /usr/src/
@gw:/usr/src# rm ./igmpproxy-src-0.1-beta2.tar.gz
@gw:/usr/src# wget http://puzzle.dl.sourceforge.net/sourceforge/igmpproxy/igmpproxy-src-0.1-beta2.tar.gz
--16:17:22-- http://puzzle.dl.sourceforge.net/sourceforge/igmpproxy/igmpproxy-src-0.1-beta2.tar.gz
=> `igmpproxy-src-0.1-beta2.tar.gz'
Resolving puzzle.dl.sourceforge.net... 195.182.13.20
Connecting to puzzle.dl.sourceforge.net[195.182.13.20]:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 35,103 [application/x-gzip]
100%[==================================================================>] 35,103 --.--K/s
16:17:22 (5.50 MB/s) - `igmpproxy-src-0.1-beta2.tar.gz' saved [35103/35103]
2. Теперь распакуем,скомпилируем а также установим программное обеспечение
@gw:/usr/src# tar -xzf ./igmpproxy-src-0.1-beta2.tar.gz
tar: A lone zero block at 318
@gw:/usr/src# cd ./igmpproxy/src/
@gw:/usr/src/igmpproxy/src# make
3. В виду ошибки в установочном файле программы, необходимо заменить в файле src/Makefile строку
BINDIR=/usr/local/bin
на строку
BINDIR=/usr/local/bin/
а затем установить программу
@gw:/usr/src/igmpproxy/src# make install
cp igmpproxy /usr/local/bin/
cp ../doc/igmpproxy.8 /usr/share/man/man8
cp ../doc/igmpproxy.conf.5 /usr/share/man/man5
if [ ! -e /etc/igmpproxy.conf ]; then cp igmpproxy.conf /etc; fi
4. После установки, можно приступить к редактированию конфигурационного файла программы,который располагается в директории /etc
vi /etc/igmpproxy.conf
5. Согласно выше преведенной схеме подключения, после внесения изменений конфигурационный файл должен выглядеть следующим образом
##------------------------------------------------------
## Enable Quickleave mode (Sends Leave instantly)
##------------------------------------------------------
quickleave
##------------------------------------------------------
## Configuration for eth0 (Upstream Interface)
##------------------------------------------------------
phyint eth0 upstream
altnet 10.0.0.0/28
altnet 192.168.9.4/30
##------------------------------------------------------
## Configuration for eth1 (Downstream Interface)
##------------------------------------------------------
phyint eth1 downstream
Теперь проверим работу програмного обеспечения,для этого запустим igmpproxy в режиме отладки.
Для запуска программы в режиме эксплуатации, нужно убрать ключ -d.
/usr/local/bin/igmpproxy -d -c /etc/igmpproxy.conf
И запустим тестирование с любого компьютера из локальной сети, на консоли
сервера, с которой запускали программу, должны появиться следующие строки.
Note: RECV V2 member report from 192.168.200.2 to 224.2.127.254
Debu: Should insert group 224.2.127.254 (from: 192.168.200.2) to route table. Vif Ix : 1
Debu: No existing route for 224.2.127.254. Create new.
Debu: No routes in table. Insert at beginning.
Info: Inserted route table entry for 224.2.127.254 on VIF #1
Debu: Joining group 224.2.127.254 upstream on IF address 192.168.13.1
Note: joinMcGroup: 224.2.127.254 on eth0
Debu:
Current routing table (Insert Route);
-----------------------------------------------------
Debu: #0: Src: 0.0.0.0, Dst: 224.2.127.254, Age:2, St: I, OutVifs: 0x00000002
Debu:
-----------------------------------------------------
Note: RECV V2 member report from 192.168.13.1 to 224.2.127.254
Note: The IGMP message was from myself. Ignoring.
Note: Route activation request from 192.168.13.1 for 224.2.127.254 is from myself. Ignoring.
Debu: Route activate request from 192.168.9.6 to 224.2.127.254
Debu: Vif bits : 0x00000002
Debu: Setting TTL for Vif 1 to 1
Note: Adding MFC: 192.168.9.6 -> 224.2.127.254, InpVIf: 0
Debu:
Current routing table (Activate Route);
-----------------------------------------------------
Debu: #0: Src: 192.168.9.6, Dst: 224.2.127.254, Age:2, St: A, OutVifs: 0x00000002
Debu:
-----------------------------------------------------
также в таблице мультикаст роутинга должен появиться маршрут к источнику 192.168.9.6
@gw:~# ip mroute show
(192.168.9.6, 224.2.127.254) Iif: eth0 Oifs: eth1
После успешного прохождения теста, необходимо обеспечить запуск igmpproxy при загрузке сервера,
если Вы не знаете как это сделать,то обратитесь к документации на свой дистрибутив Linux.
наверх
|