Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: Настройка мультикаста  (Прочитано 4443 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн sezuka

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Настройка мультикаста
« : 17 Октября 2013, 17:45:46 »
Ubuntu Server 12.04 раздает интернет в локалку, надо сделать чтобы работала IPTV приставка через него.

Прописал в iptables
iptables -A INPUT -m pkttype --pkt-type multicast -j ACCEPT
iptables -A FORWARD -m pkttype --pkt-type multicast -j ACCEPT

Не помогло.

Прочитал что нужно еще разрешить пересылку мультикаста в ядре, делаю и получаю:
sudo sysctl -w net.ipv4.conf.all.mc_forwarding=1
error: permission denied on key 'net.ipv4.conf.all.mc_forwarding'

sudo echo 1 > /proc/sys/net/ipv4/conf/all/mc_forwarding
-bash: /proc/sys/net/ipv4/conf/all/mc_forwarding: Отказано в доступе

Прописал в sysctl.conf
net.ipv4.conf.all.mc_forwarding=1
net.ipv4.conf.default.mc_forwarding=1

После перезагрузки все равно получаю 0 в конфиге.

Подскажите, как настроить проброс мультикаста?

Оффлайн john1400

  • Активист
  • *
  • Сообщений: 581
  • debian
    • Просмотр профиля
Re: Настройка мультикаста
« Ответ #1 : 17 Октября 2013, 18:00:00 »
Цитировать
чтобы работала IPTV приставка через него
распаралелить на локалку с одной приставки через свой сервак ?

там же вроде до приставки шифрованный трафик и приставка расшифровывает и ответ головному серваку.
Видео сигнал на выходе с приставки распаралелить можно.

Или вы и транслируете IPTV ?

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Re: Настройка мультикаста
« Ответ #2 : 17 Октября 2013, 18:22:55 »
john1400, Вы судя по всему не читатель, а исключительно писатель? Читайте первое сообщение топика хотя бы все строки, а не только то, что Вам угодно увидеть.

sezuka, маршрут на мультикаст добавляли?
sudo route add 224.0.0.0 netmask 240.0.0.0 dev eth0

Оффлайн sezuka

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Re: Настройка мультикаста
« Ответ #3 : 17 Октября 2013, 18:30:58 »
Или вы и транслируете IPTV ?

Ничего мы не транслируем, транслирует провайдер и приставка от них же, обычно они подключают ее через роутер, с сервером сказали сами разбирайтесь.

sezuka, маршрут на мультикаст добавляли?
sudo route add 224.0.0.0 netmask 240.0.0.0 dev eth0

Попробовал, выдало:
route: netmask 0fffffff doesn't make sense with host route
Сейчас еще пробую поставить igmpproxy

Пользователь решил продолжить мысль 17 Октября 2013, 19:44:56:
Запустил. Вот конфиг igmpproxy.conf:
##------------------------------------------------------
## Enable Quickleave mode (Sends Leave instantly)
## Эту строчку раскомментируют только в том случае,
## если внути всего лишь один клиент IP TV
##------------------------------------------------------
#quickleave

##------------------------------------------------------
## Configuration for eth0 (Upstream Interface)
## Здесь указаны параметры для публичного интерфейса,
## на который придет поток от провайдера
##------------------------------------------------------
phyint eth0 upstream ratelimit 0  threshold 1
        altnet 239.255.0.0/16
#       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

iptables:
-A INPUT -d 224.0.0.0/4 -i eth0 -j ACCEPT
-A FORWARD -d 224.0.0.0/4 -p udp -j ACCEPT

В логах такое:
Oct 17 23:35:24 proxy igmpproxy[2038]: The source address 94.73.230.58 for group 239.255.6.236, is not in any valid net for upstream VIF.
Oct 17 23:35:24 proxy igmpproxy[2038]: The source address 10.8.0.20 for group 239.255.6.236, is not in any valid net for upstream VIF.

Телевидение не идет, куда еще копнуть?
« Последнее редактирование: 17 Октября 2013, 19:44:56 от sezuka »

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Re: Настройка мультикаста
« Ответ #4 : 17 Октября 2013, 21:42:39 »
sezuka, маршрут на мультикаст добавляли?
sudo route add 224.0.0.0 netmask 240.0.0.0 dev eth0

Попробовал, выдало:
route: netmask 0fffffff doesn't make sense with host route
вроде IPTV настраиваете, а таких простых опечаток не замечаете
Цитировать
sudo route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0

Оффлайн sezuka

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Re: Настройка мультикаста
« Ответ #5 : 18 Октября 2013, 05:25:46 »
вроде IPTV настраиваете, а таких простых опечаток не замечаете

Просто не силен в английском и в линуксе.

Заработало с igmpproxy и без маршрутов. Добавил в конфиг айпишники на которые он ругался в логах.
##------------------------------------------------------
## Enable Quickleave mode (Sends Leave instantly)
## Эту строчку раскомментируют только в том случае,
## если внути всего лишь один клиент IP TV
##------------------------------------------------------
quickleave

##------------------------------------------------------
## Configuration for eth0 (Upstream Interface)
## Здесь указаны параметры для публичного интерфейса,
## на который придет поток от провайдера
##------------------------------------------------------
phyint eth0 upstream ratelimit 0  threshold 1
        altnet 94.73.230.0/24
        altnet 10.8.0.0/24
        altnet 10.255.255.0/24
        altnet 212.49.127.0/24

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

Только не пойму, почему он не применяет новые настройки после перезапуска, приходится сервер перезагружать.
В init.d прописан так:
#! /bin/sh

### BEGIN INIT INFO
# Provides:            igmpproxy
# Required-Start:      $network $remote_fs $local_fs
# Required-Stop:      $network $remote_fs $local_fs
# Default-Start:      2 3 4 5
# Default-Stop:         0 1 6
# Short-Description:   Stop/start igmpproxy
### END INIT INFO

PATH=/sbin:/usr/local/sbin:/bin:/usr/local/bin
DESC=IGMPProxy
NAME=igmpproxy
CONFFILE=/etc/igmpproxy/igmpproxy.conf
DAEMON=/usr/local/sbin/$NAME
DAEMON_ARGS="$CONFFILE"
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME

[ -x "$DAEMON" ] || exit 0

[ -r /etc/default/$NAME ] && . /etc/default/$NAME

. /lib/init/vars.sh

. /lib/lsb/init-functions

do_start()
{
   start-stop-daemon --start --quiet --background --pidfile $PIDFILE --exec $DAEMON -- \
        $DAEMON_ARGS
    RETVAL="$?"
    return "$RETVAL"
}

do_stop()
{
   start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME
    RETVAL="$?"
    rm -f $PIDFILE
    return "$RETVAL"
}

do_reload() {
    start-stop-daemon --stop --signal HUP --quiet --pidfile $PIDFILE --name $NAME
    RETVAL="$?"
    return "$RETVAL"
}

case "$1" in
   start)
     
      [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC " "$NAME"
      do_start
      case "$?" in
         0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
         2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
      esac
      ;;
    stop)
     
      [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
      do_stop
      case "$?" in
         0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
         2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
      esac
      ;;
   status)
      status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
      ;;
   restart)
      log_daemon_msg "Restarting $DESC" "$NAME"
      do_stop
      case "$?" in
         0|1)
            do_start
            case "$?" in
               0) log_end_msg 0 ;;
               1) log_end_msg 1 ;; # Old process is still running
               *) log_end_msg 1 ;; # Failed to start
            esac
            ;;
         *)
            # Failed to stop
            log_end_msg 1
            ;;
      esac
      ;;
   *)
      echo "Usage: $SCRIPTNAME {start|stop|status|restart}" $
      exit 3
      ;;
esac

exit $RETVAL

Пользователь решил продолжить мысль 18 Октября 2013, 05:36:05:
Делал по этому мануалу
« Последнее редактирование: 18 Октября 2013, 05:36:05 от sezuka »

Оффлайн m-gleb

  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
Re: Настройка мультикаста
« Ответ #6 : 18 Октября 2013, 17:27:19 »
Только начинаю разбираться в Linux. Тоже пытаюсь настроить мультикаст. Но пока уткнулся в элементарную (наверное) проблему. Не могу установить mc_forwarding...
sudo su
sysctl -w net.ipv4.conf.all.mc_forwarding=1
Получаю Permission denied
Прописал в sysctl.conf - после перезагрузки  net.ipv4.conf.all.mc_forwarding=0
В чем может быть проблема? 
На машине установлен Zeyntal - это Ubuntu c WEB интерфейсом для администрирования. Может в ядре чего не хватает?

Нашел  в его каталоге /etc/Zeyntal  файлик firewall.conf.
Там такая строчка:
# Limit of logged packets per minute.
iptables_log_limit = 50

# Burst
iptables_log_burst = 10

# Logs all the drops
iptables_log_drops = yes

# Extra iptables modules to load
# Each module should be sperated by a comma, you can include module parameters
iptables_modules = nf_conntrack_ftp, nf_nat_ftp, nf_conntrack_h323, nf_nat_h323, nf_conntrack_pptp, nf_nat_pptp, nf_conntrack_sip, nf_nat_sip

# Enable source NAT, if your router does NAT you can disable it
nat_enabled = yes

# Uncomment the following to show the from External to Internal section
#show_ext_to_int_rules = yes

# Uncomment the following to show the Rules added by Zentyal services
#show_service_rules = yes

Может тут что-не так?

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Re: Настройка мультикаста
« Ответ #7 : 18 Октября 2013, 18:33:48 »
По Zeyntalи т.п. есть отдельная ветка.
Сам не пробовал, но по недостоверным источникам этот параметр можно установить при наличии мультикастового маршрута
sudo route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0
и/или запущенным демоном igmpproxy

Оффлайн drako

  • Старожил
  • *
  • Сообщений: 1422
    • Просмотр профиля
Re: Настройка мультикаста
« Ответ #8 : 19 Октября 2013, 02:32:31 »
m-gleb, чтобы мультикаст бегал через роутер, необходим софт, который его и пробросит, он же(софт) и включит в ядре разрешения. Маршруты необходимы только, если мультикаст не попадает под дефолтный маршрут.

 

Страница сгенерирована за 0.062 секунд. Запросов: 25.