воскресенье, 18 марта 2012 г.

Организация доступа к IPTV через NAT


Инструкция для желающих настроить Multicast Routing на Linux шлюзе,
обеспечивающем работу клиентов через NAT. Доп ссылка
Для переброса IGMP-трафика между подсетями будем использовать демон igmpproxy  (http://sourceforge.net/projects/igmpproxy)

Ставим IGMP Proxy из пакетов используемого дистрибутива или устанавливаем из исходных текстов:

   # tar -zxf igmpproxy-src-0.1.tar.gz
   # cd igmpproxy/
   # less README
   # cd src/
   # make && make install

Правим файл конфигурации /etc/igmpproxy.conf. В представленном примере,
интерфейс eth0 смотрит в публичную сеть провайдера Mig Telecom, а eth1 в
домашнюю сеть.

   # Enable Quickleave mode (Sends Leave instantly)
   # Эту строчку раскомментируют только в том случае,
   # если внути всего лишь один клиент IP TV

   #quickleave

   # Configuration for eth0 (Upstream Interface)
   # Здесь указаны параметры для публичного интерфейса,
   # на который придет поток от провайдера

   phyint eth0 upstream ratelimit 0  threshold 1
           altnet 10.20.0.0/16
           altnet 88.210.40.0/24
           altnet 80.240.211.0/22

   # Configuration for eth1 (Downstream Interface)
   # Типовая конфигурация для внутреннего интерфейса

   phyint eth1 downstream ratelimit 0  threshold 1

   # Configuration for eth2 (Disabled Interface)
   # eth2 в системе есть, но не используется никем, отключаем

   phyint eth2 disabled

Запускаем igmpproxy и переходим к небольшой конфигурации IPTables.
Вот этот набор правил понадобился для корректной работы пакетного фильтра,
разрешается весь входящий мультикст, разрешается его форвардинг и плюс ко всему
добавляем в TTL 1, без этого добавления не работает если пакеты от провайдера
приходят с минимально выставленным TTL.

   modprobe ipt_TTL
   iptables -t filter -A INPUT -d 224.0.0.0/240.0.0.0 -i eth0 -j   ACCEPT
   iptables -t filter -A INPUT -s 224.0.0.0/240.0.0.0 -i eth0 -j ACCEPT
   iptables -t filter -A FORWARD -d 224.0.0.0/240.0.0.0 -j ACCEPT
   iptables -t filter -A FORWARD -s 224.0.0.0/240.0.0.0 -j ACCEPT
   iptables -t mangle -A PREROUTING -d 224.0.0.0/240.0.0.0 -p udp -j TTL --ttl-inc 1

Комментариев нет:

Отправить комментарий