Static Multicast Routing: различия между версиями

Материал из ALT Linux Wiki
Нет описания правки
Строка 29: Строка 29:


Для мониторинга можно установить пакеты '''tcpdump''' и '''wireshark'''
Для мониторинга можно установить пакеты '''tcpdump''' и '''wireshark'''
Все манипуляции осуществляются под правами пользователя ''root''.


=== Конфигурация ===
=== Конфигурация ===
Строка 34: Строка 36:
Файл '''/etc/igmpproxy.conf''':
Файл '''/etc/igmpproxy.conf''':


  # Раскомментируйте параметр quickleave
  quickleave
# если внутри всего лишь один клиент IP TV
#quickleave
  phyint eth0 upstream  ratelimit 0  threshold 1
  phyint eth0 upstream  ratelimit 0  threshold 1
         altnet 192.168.0.0/24
         altnet 192.168.0.0/24
Строка 53: Строка 53:
Отключаем reverse path filtering:
Отключаем reverse path filtering:


  echo 1 > /proc/sys/net/ipv4/conf/eth0/rp_filter
  echo 0 > /proc/sys/net/ipv4/conf/eth0/rp_filter


Для ядер 2.6.x указываем версию IGMP (igmpproxy поддерживает только IGMPv1 и IGMPv2 на внутреннем интерфейсе):
Для ядер 2.6.x указываем версию IGMP (igmpproxy поддерживает только IGMPv1 и IGMPv2 на внутреннем интерфейсе):
Строка 78: Строка 78:
  1
  1


3. Запускаем igmpproxy
3. Настраиваем цепочки iptables для работы со специальными multicast-подсетями:
[root@ham1 ~]# /usr/sbin/igmpproxy /etc/igmpproxy.conf
 
iptables -I INPUT -d 224.0.0.0/4 -j ACCEPT
iptables -I FORWARD -d 224.0.0.0/4 -j ACCEPT
 
4. Прописываем маршрут:
 
route add -net 224.0.0.0/4 dev eth1
 
5. Запускаем демона:
 
igmpproxy /etc/igmpproxy.conf
 
Журнал работы igmpproxy ведётся в /vat/log/messages. Для отладки можно запустить командой ''igmpproxy -d /etc/igmpproxy.conf''

Версия от 11:40, 12 мая 2010


Настройка статической multicast-маршрутизации на дистрибутивах ALT Linux.

Ссылки

Общие понятия

Рассмотрим типичную схему multicast-маршрутизации с выделенным сервером, имеющим два сетевых интерфейса:

  • eth0 — публичный интерфейс, на который придет поток от провайдера;
  • eth1 — интерфейс в локальную сеть, в которой находятся клиенты.


Типовая схема multicast-маршрутизации

Подготовка шлюза

Для начала необходимо установить дистрибутив ALT Linux и пакет igmpproxy из соответствующего репозитория:

apt-get update
apt-get install igmpproxy

Также необходимы пакеты iptables net-tools iproute2, в дистрибутивах ALT Linux они присутствуют по умолчанию.

Для мониторинга можно установить пакеты tcpdump и wireshark

Все манипуляции осуществляются под правами пользователя root.

Конфигурация

Файл /etc/igmpproxy.conf:

quickleave
phyint eth0 upstream  ratelimit 0  threshold 1
       altnet 192.168.0.0/24
phyint eth1 downstream  ratelimit 0  threshold 1

В параметрах altnet обычно указываются маски сети, в которых разрешена маршрутизация. В примере 192.168.0.0/24 — маска локальной сети.

Настройка маршрутизации

1. Шлюз должен быть настроен для маршрутизации сетевых пакетов:

  • Находится в режиме "Шлюз" в модуле "Брандмауэр" в дистрибутивах на базе Пятой платформы;
  • или настраиваем вручную:
echo 1 > /proc/sys/net/ipv4/conf/default/forwarding

Отключаем reverse path filtering:

echo 0 > /proc/sys/net/ipv4/conf/eth0/rp_filter

Для ядер 2.6.x указываем версию IGMP (igmpproxy поддерживает только IGMPv1 и IGMPv2 на внутреннем интерфейсе):

echo 1 >  /proc/sys/net/ipv4/conf/eth0/force_igmp_version
echo 1 >  /proc/sys/net/ipv4/conf/eth1/force_igmp_version

2. Проверяем готовность к маршрутизации:

[root@ham1 ~]# less /proc/config.gz | grep '\(MROUTE\|MULTICAST\)'
CONFIG_IP_MULTICAST=y
CONFIG_IP_MROUTE=y
[root@ham1 ~]# cat /proc/sys/net/ipv4/conf/default/forwarding
1
[root@ham1 ~]# cat /proc/sys/net/ipv4/conf/eth0/mc_forwarding
1
[root@ham1 ~]# cat /proc/sys/net/ipv4/conf/eth0/mc_forwarding
1
[root@ham1 ~]# cat /proc/sys/net/ipv4/conf/eth0/rp_filter
0
[root@ham1 ~]# cat /proc/sys/net/ipv4/conf/eth0/force_igmp_version
1
[root@ham1 ~]# cat /proc/sys/net/ipv4/conf/eth1/force_igmp_version
1

3. Настраиваем цепочки iptables для работы со специальными multicast-подсетями:

iptables -I INPUT -d 224.0.0.0/4 -j ACCEPT
iptables -I FORWARD -d 224.0.0.0/4 -j ACCEPT

4. Прописываем маршрут:

route add -net 224.0.0.0/4 dev eth1

5. Запускаем демона:

igmpproxy /etc/igmpproxy.conf

Журнал работы igmpproxy ведётся в /vat/log/messages. Для отладки можно запустить командой igmpproxy -d /etc/igmpproxy.conf