LINUX.ORG.RU
ФорумAdmin

вопрос по DHCP + NAT и IPTV.


0

1

Сабж. Есть 2 сетевки, eth0 - смотрит в мир, eth1 - смотрит во внутреннюю подсеть, IP 192.168.1.1

Запущен DHCP-сервер, который раздает по eth1 айпишники (192.168.1.10-192.168.1.239). Нужно пробросить порт 1234 во внутреннюю подсеть, дабы юзеры могли созерцати все прелести iptv. Вроде как порт проброшен, но не пашет.

собственно скрипт iptables для NAT:

#!/bin/bash
#################################################################
# reset the default policies in the filter table.               #
#################################################################
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
#################################################################
# reset the default policies in the nat table.                  #
#################################################################
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT
#################################################################
# reset the default policies in the mangle table.               #
#################################################################
iptables -t mangle -P PREROUTING ACCEPT
iptables -t mangle -P OUTPUT ACCEPT
#################################################################
# flush all the rules in the filter and nat tables.             #
#################################################################
iptables -F
iptables -t nat -F
iptables -t mangle -F
#################################################################
# erase all chains that's not default in filter and nat table.  #
#################################################################
iptables -X
iptables -t nat -X
iptables -t mangle -X
#################################################################
iptables -I INPUT 1 -i eth1 -j ACCEPT
iptables -I INPUT 1 -i lo -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth1 -s 192.168.1.0/255.255.255.0 -j ACCEPT
iptables -A FORWARD -i eth0 -d 192.168.1.0/255.255.255.0 -j ACCEPT
#################################################################
# Drop ports                                                    #
#################################################################
iptables -A INPUT -i eth0 -p tcp -m multiport --dports 111,135,136,137,138,139,445,953,1723,2628 -j REJECT --reject-with icmp-port-unreachable
#################################################################
# IPTV                                                          #
#################################################################
iptables -t nat -A PREROUTING -i eth0 -p udp --dport 1234 -j DNAT --to-destination 192.168.1.2-192.168.1.254
iptables -A FORWARD -d 192.168.1.0/24 -p udp --dport 1234 -j ACCEPT
#################################################################
# Masquerade                                                    #
#################################################################
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
★★★★★

А как же multicast routing и правила для него?!

Nastishka ★★★★★ ()
Ответ на: комментарий от pr0mille

да я уже понял, что трабла с мультикастом, просто раньше не занимался подобным, проброс -p tcp прокатывал очень даже.

помимо igmpproxy есть еще какие-либо варианты?

leg0las ★★★★★ ()
Ответ на: комментарий от pr0mille

есть еще закрытый аналог(распространяются только бинарники), не помню как называется

pr0mille ()

Нашел в репе дебиана udpcast, по описанию что-то похожее.

leg0las ★★★★★ ()
Ответ на: комментарий от ollowtf

Спасибо.

Еще нашел, что wifi-точки (а у меня их будет порядка 10) хреново умеют udp, так что придется заворачивать поток в tcp. Ковыряемся.

leg0las ★★★★★ ()
Ответ на: комментарий от pianolender

Что-то вроде покрытия:-) Сам не знаю, на объекте не был, что спустило начальство то и делаем.

leg0las ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.