Intelsoft Kazakstan LTD - Internet Service Provider
  



   компания
  • Новости
  • О компании
  • Контакты
  • Обратная связь
  •    интернет 100 Мбит/с
       поддержка

    Как принимать ipTV через Linux сервер?

    Для прохождения мультикаст трафика необходимо обеспечить трансляцию 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.

     

    наверх






       © 2001-2009 Intelsoft Kazakstan Ltd. Правовая Информация