В общем для работы ip tv за nat требуется всего лишь настройка iptables и igmpproxy
# /etc/igmpproxy.conf
##------------------------------------------------------
## Enable Quickleave mode (Sends Leave instantly)
## Эту строчку раскомментируют только в том случае,
## если внути всего лишь один клиент IP TV
##------------------------------------------------------
#quickleave
##------------------------------------------------------
## Configuration for eth2 (Upstream Interface)
## Здесь указаны параметры для публичного интерфейса,
## на который придет поток от провайдера
##------------------------------------------------------
phyint eth2 upstream ratelimit 0 threshold 1
altnet 238.1.1.0/24
altnet 10.99.63.0/24
##------------------------------------------------------
## Configuration for eth0 (Downstream Interface)
## Типовая конфигурация для внутреннего интерфейса
##------------------------------------------------------
phyint eth0 downstream ratelimit 0 threshold 1
После того как был просмотрен playlist было выяснено, что трансляция ведется с разных ip адресов, поэтому написал 238.1.1.0/24
10.99.63.0/24 - этот адрес я взял из системного лога:
igmpproxy[7318]: The source address 10.99.63.90 for group 238.1.1.109, is not in any valid net for upstream VIF.
igmpproxy[7318]: The source address 10.99.63.48 for group 238.1.1.221, is not in any valid net for upstream VIF.
в iptables добавил следующие правила:
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
затем добавляем igmpproxy в автозагрузку:
~# nano /etc/rc.local
/usr/local/sbin/igmpproxy /etc/igmpproxy.conf &
хождение multicast между интерфейсами включается автоматически, в /etc/sysctl.conf писать ничего не надо.
По крайней мере в моем случае не понадобилось писать ни какие маршруты (хоть я и пытался).
Напомню что мой провайдер ТТК (ЗАО "УралТрансТелеком")
Теперь встал вопрос о том как это tv смотреть на телевизоре, зомбоящик по имени Samsung SmartTV.