Настройка брандмауэра для vlc
Модератор: Модераторы разделов
-
alex046
- Сообщения: 35
- ОС: Suse 11.0 x86_64
Настройка брандмауэра для vlc
Моя сеть предоставляет IPTV, для просмотра рекомендуют vlc. Однако оповещения sap не пускает брандмауэр (если его отключить - то всё нормально). Помогите корректно настроить брандмауэр через yast2 (openSuse 11.0). Настройки для Agnitum Outpost Firewall: http://www.cn.ru/faq/ntk/iptv/?q=166
-
april222
- Сообщения: 27
- ОС: OpenSuse11.0
Re: Настройка брандмауэра для vlc
Привет собрат). Вот мой древний топик.
Ты как отключал брендмауер? И что, на линуксе TVIP показывал?
Ты как отключал брендмауер? И что, на линуксе TVIP показывал?
-
Goodvin
- Ведущий рубрики
- Сообщения: 4333
- Статус: ⚝⚠⚒⚑⚖☭☞☣☤&
Re: Настройка брандмауэра для vlc
aleksandr писал(а): ↑08.08.2008 04:34Моя сеть предоставляет IPTV, для просмотра рекомендуют vlc. Однако оповещения sap не пускает брандмауэр (если его отключить - то всё нормально). Помогите корректно настроить брандмауэр через yast2 (openSuse 11.0). Настройки для Agnitum Outpost Firewall: http://www.cn.ru/faq/ntk/iptv/?q=166
Во-первых, ссылка эта неверная - ведет на другой сайт совсем, там надо руками искать FAQ по настройке файрвола для IPTV.
И во-вторых, там явно написаны русским по-белому какие протоколы и порты нужны для просмотра IPTV.
Кто мешает Вам настроить то же самое на линуксе, кроме неумения пользоваться инструментами iptables и SuSEfirerwall ?
Что Вы сделали для того, чтобы реализовать указанные разрешения на указанный диапазон адресов/портов/протоколов, кроме поиска готового рецепта "на блюдечке" ?
Что конкретно не получилось ?
-
TuxWare
- Сообщения: 637
- ОС: Windows 7
Re: Настройка брандмауэра для vlc
Goodvin писал(а): ↑25.08.2009 22:22aleksandr писал(а): ↑08.08.2008 04:34Моя сеть предоставляет IPTV, для просмотра рекомендуют vlc. Однако оповещения sap не пускает брандмауэр (если его отключить - то всё нормально). Помогите корректно настроить брандмауэр через yast2 (openSuse 11.0). Настройки для Agnitum Outpost Firewall: http://www.cn.ru/faq/ntk/iptv/?q=166
Во-первых, ссылка эта неверная - ведет на другой сайт совсем, там надо руками искать FAQ по настройке файрвола для IPTV.
И во-вторых, там явно написаны русским по-белому какие протоколы и порты нужны для просмотра IPTV.
Кто мешает Вам настроить то же самое на линуксе, кроме неумения пользоваться инструментами iptables и SuSEfirerwall ?
Что Вы сделали для того, чтобы реализовать указанные разрешения на указанный диапазон адресов/портов/протоколов, кроме поиска готового рецепта "на блюдечке" ?
Что конкретно не получилось ?
Ваши приколы не впечатлили. Вы меня отправили на настройку фиревола под виндовс, я такую возьму с сайта своего провайдера. А мы говорили о SUSEFIREWALL и осталось это без ответа из-за полной нереализуемости. Конфетку из этого дела не слепить. Если Вы такой умный покажите как это делается. Я открываю весь UDP (по всем портам и всем адресам), а кина - нету. Останавливаю SUSEFIREWALL - есть. Вот незадача. Поройте opensuse.org - там те же вопросы свистят за углом, это, что в мире ip-телевидение - невиданный зверь.
И потом Вы покажите мне просто как реализовать настройку из пункта 5. http://www.novotelecom.ru/ask/faq/66/
Разрешить UDP для VLC по портам 1234, 9875. Умничать все горазды, давайте конкретно по делу.
-
TuxWare
- Сообщения: 637
- ОС: Windows 7
Re: Настройка брандмауэра для vlc
Я открываю порты 0:65535 везде
FW_SERVISES_EXT_TCP, FW_SERVISES_EXT_UDP, FW_SERVISES_DMZ_TCP, FW_SERVISES_DMZ_UDP, FW_SERVISES_INT_TCP, FW_SERVISES_INT_UDP
Список каналов есть, а кина нет.
Перезапускаю SUSEFIREWALL и VLC в разных вариациях- кина нет.
Я останавливаю SUSEFIREWALL - кина нет. Отменяю автостарт SUSEFIREWALL - кина нет. Перегружаю комп - кино есть.
FW_SERVISES_EXT_TCP, FW_SERVISES_EXT_UDP, FW_SERVISES_DMZ_TCP, FW_SERVISES_DMZ_UDP, FW_SERVISES_INT_TCP, FW_SERVISES_INT_UDP
Список каналов есть, а кина нет.
Перезапускаю SUSEFIREWALL и VLC в разных вариациях- кина нет.
Я останавливаю SUSEFIREWALL - кина нет. Отменяю автостарт SUSEFIREWALL - кина нет. Перегружаю комп - кино есть.
-
Goodvin
- Ведущий рубрики
- Сообщения: 4333
- Статус: ⚝⚠⚒⚑⚖☭☞☣☤&
Re: Настройка брандмауэра для vlc
Во-первых, догадаться телепатически о том, КАК ИМЕННО Вы настроили SuSEfirewall, чтобы оценить правильность - телепатов нет.
А во-вторых, общаться в в такой чуть ли не хамской манере, как будто Вам тут все должны, не стоит. Желания помогать Вам это ни у кого не вызовет, а совсем даже наоборот.
update:
Ну и напоследок - не зацикливайтесь на SuSEfirewall - попробуйте для начала реализовать все провайдерские условия на обычном iptables, для проверки.
Я опросил несколько коллег-соседей по сети, которые смотрят IP-телевидение от нашего местного провайдера, у пользователей openSUSE все отлично работает, с файрволом проблем нет.
Смотрите внимательнее на Вашу реализацию правил.
Обратите внимание на вот это важное замечание
Ключевое слово - мультикастинг.
А во-вторых, общаться в в такой чуть ли не хамской манере, как будто Вам тут все должны, не стоит. Желания помогать Вам это ни у кого не вызовет, а совсем даже наоборот.
update:
Ну и напоследок - не зацикливайтесь на SuSEfirewall - попробуйте для начала реализовать все провайдерские условия на обычном iptables, для проверки.
Я опросил несколько коллег-соседей по сети, которые смотрят IP-телевидение от нашего местного провайдера, у пользователей openSUSE все отлично работает, с файрволом проблем нет.
Смотрите внимательнее на Вашу реализацию правил.
Обратите внимание на вот это важное замечание
Практически все файерволы, такие как Agnitum Outpost и Kaspersky Internet Security по умолчанию блокируют IPTV (мультикаст), так как считают его атакой. В общем случае необходимо разрешить в системных правилах протокол IGMP (протокол управления подключениями к мультикаст-группам) и разрешить IP-TV Player любую TCP-активность (для скачивания списков каналов и телепрограммы) и UDP-активность (непосредственно для IPTV).
Ключевое слово - мультикастинг.
-
i18n
- Сообщения: 192
Re: Настройка брандмауэра для vlc
В SuSE с этим susefirewall все как-то очень хитро. Вот что я пробовал делать (система OpenSuse 10.3, vlc и mplayer свежие, собраны из исходников):
1) ip route add multicast 224.0.0.0/4 table main dev eth1 metric 1
2) echo 0 > /proc/sys/net/ipv4/conf/eth1/rp_filter
3) iptables -A INPUT -j ACCEPT -d 224.0.0.0/4 (команду прописал в /etc/sysconfig/scripts/SuSEfirewall2-custom в секцию fw_custom_before_antispoofing)
4) vlc --miface eth1 udp://@234.5.2.2:20000 или же mplayer udp://@234.5.2.2:20000
В итоге - искомые мультикастовые пакеты на интерфейс приходят, что видно в wireshark, но ни один из плееров отчего-то ничего не показывает. Очевидно, чего-то не хватает, но никак не могу понять, чего именно. Может подскажете?
1) ip route add multicast 224.0.0.0/4 table main dev eth1 metric 1
2) echo 0 > /proc/sys/net/ipv4/conf/eth1/rp_filter
3) iptables -A INPUT -j ACCEPT -d 224.0.0.0/4 (команду прописал в /etc/sysconfig/scripts/SuSEfirewall2-custom в секцию fw_custom_before_antispoofing)
4) vlc --miface eth1 udp://@234.5.2.2:20000 или же mplayer udp://@234.5.2.2:20000
В итоге - искомые мультикастовые пакеты на интерфейс приходят, что видно в wireshark, но ни один из плееров отчего-то ничего не показывает. Очевидно, чего-то не хватает, но никак не могу понять, чего именно. Может подскажете?
-
i18n
- Сообщения: 192
Re: Настройка брандмауэра для vlc
В общем, поскольку никто не ответил, то нужно немного прояснить ситуацию. Как я понял, суть в том, что susefirewall настолько умный, что у него есть опция FW_KERNEL_SECURITY="yes", которая устанавливает некие значения для icmp_ignore_bogus_error_responses, icmp_echoreply_rate, icmp_destunreach_rate, icmp_paramprob_rate, icmp_timeexeed_rate, ip_local_port_range, log_martians, rp_filter, routing flush, bootp_relay, proxy_arp, secure_redirects, accept_source_route, icmp_echo_ignore_broadcasts, ipfrag_time. И после применения правил файрвола rp_filter оказывается включенным, а iptv не работает. Если же выполнить echo 0 > /proc/sys/net/ipv4/conf/eth1/rp_filter уже после применения правил файрвола, то mplayer начинает правильно работать. Остается, однако, вопрос - где в startup скриптах надо вписать эту команду, чтобы она выполнялась уже после инициализации файрвола?
-
Goodvin
- Ведущий рубрики
- Сообщения: 4333
- Статус: ⚝⚠⚒⚑⚖☭☞☣☤&
Re: Настройка брандмауэра для vlc
Попробуйте в файл /etc/init.d/after.local
Если его у Вас нет (скорее всего) - просто создайте его, исполняемым делать не надо.
RC-скрипт сам его найдет и выполнит записанные там команды после запуска актуального runlevel-а
-
k0da
- Бывший модератор
- Сообщения: 6043
- Статус: SuSE QA Engineer
- ОС: Factory
Re: Настройка брандмауэра для vlc
i18n
FW_KERNEL_SECURITY="no" ?
FW_KERNEL_SECURITY="no" ?
Fury in my eyes, sword on my side
Afro on my head, I'm a black Samurai
Number One, I bring my whole nation alive
Escape death, to become immortalized
Afro on my head, I'm a black Samurai
Number One, I bring my whole nation alive
Escape death, to become immortalized
-
i18n
- Сообщения: 192
Re: Настройка брандмауэра для vlc
Совсем отключить все опции с помощью FW_KERNEL_SECURITY="no" как-то не очень хочется. Отсюда методом научного тыка получилось вот какое решение:
1) В /etc/sysconfig/SuSEfirewall2 раскомментировать строчку FW_CUSTOMRULES="/etc/sysconfig/scripts/SuSEfirewall2-custom"
2) В /etc/sysconfig/scripts/SuSEfirewall2-custom вписать в fw_custom_before_antispoofing() следующие строки:
iptables -A INPUT -j ACCEPT -d 224.0.0.0/4 -p udp
iptables -A INPUT -p igmp -j ACCEPT
iptables -A FORWARD -j ACCEPT -d 224.0.0.0/4 -p udp //нужно для раздачи iptv в домашнюю локалку
Далее нужно каким-то образом организовать выполнение команды на отключение rp_filter где-то после поднятия интерфейса и загрузки правил файрвола. У меня используется ifup/ifdown, поэтому делается следующее.
3) В /etc/sysconfig/network/scripts создать файл ifup-eth1, создать на него симлинк в /etc/sysconfig/network/if-up.d и добавить в этот файл следующие строки:
ip route add multicast 224.0.0.0/4 table main dev eth1 metric 1
echo 0 > /proc/sys/net/ipv4/conf/eth1/rp_filter
Это по идее должно выполняться после поднятия eth1 и загрузки правил файрвола. Однако после установления соединения с интернетом по pppoe настройка сбивается, поэтому далее следующие манипуляции.
4) В /etc/sysconfig/network/scripts создать файл ifup-dsl0, создать на него симлинк в /etc/sysconfig/network/if-up.d и добавить в этот файл следующие строки:
echo 0 > /proc/sys/net/ipv4/conf/eth1/rp_filter
5) В /etc/ppp/ip-up.d создать файл ifup-dsl0 и добавить в этот файл следующие строки:
echo 0 > /proc/sys/net/ipv4/conf/eth1/rp_filter
Возможно, один из этих двух пунктов лишний, но это не столь важно.
6) Для раздачи iptv в домашнюю локалку установить igmpproxy. Ну и разумеется должен быть включен роутинг.
7) Настройки igmpproxy следующие:
phyint eth1 upstream ratelimit 0 threshold 1 //откуда берем iptv
altnet xxx.xxx.xxx.xxx/xx //здесь надо указать сеть источника мультикастовых пакетов, можно посмотреть, например, в wireshark
phyint eth2 downstream ratelimit 0 threshold 1 //куда переправляем
phyint dsl0 disabled //здесь iptv не нужно
phyint lo disabled //и здесь тоже не нужно
8) В /etc/init.d создать файл after.local и вписать в него igmpproxy
9) Теперь можно смотреть iptv с помощью mplayer.
1) В /etc/sysconfig/SuSEfirewall2 раскомментировать строчку FW_CUSTOMRULES="/etc/sysconfig/scripts/SuSEfirewall2-custom"
2) В /etc/sysconfig/scripts/SuSEfirewall2-custom вписать в fw_custom_before_antispoofing() следующие строки:
iptables -A INPUT -j ACCEPT -d 224.0.0.0/4 -p udp
iptables -A INPUT -p igmp -j ACCEPT
iptables -A FORWARD -j ACCEPT -d 224.0.0.0/4 -p udp //нужно для раздачи iptv в домашнюю локалку
Далее нужно каким-то образом организовать выполнение команды на отключение rp_filter где-то после поднятия интерфейса и загрузки правил файрвола. У меня используется ifup/ifdown, поэтому делается следующее.
3) В /etc/sysconfig/network/scripts создать файл ifup-eth1, создать на него симлинк в /etc/sysconfig/network/if-up.d и добавить в этот файл следующие строки:
ip route add multicast 224.0.0.0/4 table main dev eth1 metric 1
echo 0 > /proc/sys/net/ipv4/conf/eth1/rp_filter
Это по идее должно выполняться после поднятия eth1 и загрузки правил файрвола. Однако после установления соединения с интернетом по pppoe настройка сбивается, поэтому далее следующие манипуляции.
4) В /etc/sysconfig/network/scripts создать файл ifup-dsl0, создать на него симлинк в /etc/sysconfig/network/if-up.d и добавить в этот файл следующие строки:
echo 0 > /proc/sys/net/ipv4/conf/eth1/rp_filter
5) В /etc/ppp/ip-up.d создать файл ifup-dsl0 и добавить в этот файл следующие строки:
echo 0 > /proc/sys/net/ipv4/conf/eth1/rp_filter
Возможно, один из этих двух пунктов лишний, но это не столь важно.
6) Для раздачи iptv в домашнюю локалку установить igmpproxy. Ну и разумеется должен быть включен роутинг.
7) Настройки igmpproxy следующие:
phyint eth1 upstream ratelimit 0 threshold 1 //откуда берем iptv
altnet xxx.xxx.xxx.xxx/xx //здесь надо указать сеть источника мультикастовых пакетов, можно посмотреть, например, в wireshark
phyint eth2 downstream ratelimit 0 threshold 1 //куда переправляем
phyint dsl0 disabled //здесь iptv не нужно
phyint lo disabled //и здесь тоже не нужно
8) В /etc/init.d создать файл after.local и вписать в него igmpproxy
9) Теперь можно смотреть iptv с помощью mplayer.
-
TuxWare
- Сообщения: 637
- ОС: Windows 7
Re: Настройка брандмауэра для vlc
Это я все пробывал тоже, но этого мало. Единственное маршрут я добавлял через яст. Настройки сетевой карты->Маршрутизация->Добавить.
Назначение 224.0.0.0
Устройство eth0
Шлюз 0.0.0.0
Сетевая маска 240.0.0.0
Параметры metric 1
# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
...................... * 255.255.255.255 UH 0 0 0 dsl0
192.168.10.0 * 255.255.254.0 U 0 0 0 eth0
link-local * 255.255.0.0 U 0 0 0 eth0
loopback * 255.0.0.0 U 0 0 0 lo
BASE-ADDRESS.MC * 240.0.0.0 U 1 0 0 eth0
default * 0.0.0.0 U 0 0 0 dsl0
Но даже если я перехожу на Ваш метод
ip route add multicast 224.0.0.0/4 table main dev eth0 metric 1
не помогает.
Провайдер раздает интернет по pppoe (шнурок включен в сетевую карту, без всяких роутеров и т.д.). Адреса выдаются по dhcp.
Сеть и интернет стартуют при запуске компьютера. В фаерволе eth0 и dsl0 объвленны на внешней зоне.
1. Запускаю компьютер с выключенным фаерволом. Сеть есть, интернет есть, iptv показывает.
2. Не трогая ничего более - запускаю фаервол. Сеть есть, интернет есть, iptv не показывает (сразу останавливается).
3. Не трогая ничего более - отключаю интернет (щелчком по значку kinternet). Фаервол включен, сеть есть, интернета нет, iptv тут же начинает
показывать.
4. Как только подключаю интернет - iptv тут же останавливается. И самое интересное при этом таблица route вообще не меняется и запись
BASE-ADDRESS.MC * 240.0.0.0 U 1 0 0 eth0
по прежнему присутствует.
И еще более интересное после этого можно уже делать, что угодно: останавливать фаервол, перезапускать сетевую карту - итог один включается интернет, обрывается iptv.
-
Sleeping Daemon
- Сообщения: 1450
Re: Настройка брандмауэра для vlc
i18n писал(а): ↑28.08.2009 12:06В общем, поскольку никто не ответил, то нужно немного прояснить ситуацию. Как я понял, суть в том, что susefirewall настолько умный, что у него есть опция FW_KERNEL_SECURITY="yes", которая устанавливает некие значения для icmp_ignore_bogus_error_responses, icmp_echoreply_rate, icmp_destunreach_rate, icmp_paramprob_rate, icmp_timeexeed_rate, ip_local_port_range, log_martians, rp_filter, routing flush, bootp_relay, proxy_arp, secure_redirects, accept_source_route, icmp_echo_ignore_broadcasts, ipfrag_time. И после применения правил файрвола rp_filter оказывается включенным, а iptv не работает. Если же выполнить echo 0 > /proc/sys/net/ipv4/conf/eth1/rp_filter уже после применения правил файрвола, то mplayer начинает правильно работать. Остается, однако, вопрос - где в startup скриптах надо вписать эту команду, чтобы она выполнялась уже после инициализации файрвола?
Может в /etc/sysctl.conf ?
-
TuxWare
- Сообщения: 637
- ОС: Windows 7
Re: Настройка брандмауэра для vlc
В /etc/sysctl.conf
net.ipv4.conf.eth0.rp_filter = 0
почему-то игнорируется если FW_KERNEL_SECURITY="yes"
-
i18n
- Сообщения: 192
Re: Настройка брандмауэра для vlc
Чтобы отловить источник проблем надо, во-первых, включить в yast запись в логи всех отбрасываемых файрволом пакетов. Если мультикасты отбрасываются правилами файрвола - это будет сразу видно в логах. Тогда надо прописывать соответствующие пользовательские правила для файрвола. Во-вторых, надо проверить значение rp_filter у соответствующего интерфейса, т.е. cat /proc/sys/net/ipv4/conf/eth0/rp_filter Если там единичка - iptv работать не будет и надо записать туда ноль echo 0 > /proc/sys/net/ipv4/conf/eth0/rp_filter
-
TuxWare
- Сообщения: 637
- ОС: Windows 7
Re: Настройка брандмауэра для vlc
i18n писал(а): ↑30.08.2009 12:55Чтобы отловить источник проблем надо, во-первых, включить в yast запись в логи всех отбрасываемых файрволом пакетов. Если мультикасты отбрасываются правилами файрвола - это будет сразу видно в логах. Тогда надо прописывать соответствующие пользовательские правила для файрвола. Во-вторых, надо проверить значение rp_filter у соответствующего интерфейса, т.е. cat /proc/sys/net/ipv4/conf/eth0/rp_filter Если там единичка - iptv работать не будет и надо записать туда ноль echo 0 > /proc/sys/net/ipv4/conf/eth0/rp_filter
cat /proc/sys/net/ipv4/conf/eth0/rp_filter
0
Файрвол ничего не отбрасывает, и тем не менее когда включаеш dsl0 iptv останавливается. С выключенным dsl0 все работает.
Да причем с включенным dsl0 VLC прекрасно открывает поток, без ошибок доходит до состояния "буферизация" и дальше ничего не происходит, а по iftop поток не сбавляя скорости еще присутствует минуту-две, а потом резко останавливается.
-
TuxWare
- Сообщения: 637
- ОС: Windows 7
-
kotnaton
- Сообщения: 234
Re: Настройка брандмауэра для vlc
Подниму-ка я эту старую тему...
Есть такие правила iptables:
Как их преобразовать в правила для SuSEfirewal2 ???
Если честно, не понимаю почему авторы SuSEfirewal2 не сделали просто: фильтрацию source ip и destination ip
Вот если кто-то сможет объяснить как использовать эти самые "внутренние", "внешние", "демилитаризованные" зоны использовать для фильтрации входящих извне к тому примеру что процитирован, буду очень признателен..
Есть такие правила iptables:
Код: Выделить всё
-A INPUT -s 10.254.64.0/24 -p udp -j ACCEPT
-A INPUT -s 224.0.0.0/24 -p udp -j ACCEPT
-A OUTPUT -d 239.64.64.0/24 -p udp -m udp --dport 1234 -j ACCEPT
-A OUTPUT -d 224.0.0.0/24 -p udp -j ACCEPTКак их преобразовать в правила для SuSEfirewal2 ???
Если честно, не понимаю почему авторы SuSEfirewal2 не сделали просто: фильтрацию source ip и destination ip
Вот если кто-то сможет объяснить как использовать эти самые "внутренние", "внешние", "демилитаризованные" зоны использовать для фильтрации входящих извне к тому примеру что процитирован, буду очень признателен..
бывает же такое ???