Static Multicast Routing: различия между версиями
Нет описания правки |
|||
Строка 29: | Строка 29: | ||
Для мониторинга можно установить пакеты '''tcpdump''' и '''wireshark''' | Для мониторинга можно установить пакеты '''tcpdump''' и '''wireshark''' | ||
Все манипуляции осуществляются под правами пользователя ''root''. | |||
=== Конфигурация === | === Конфигурация === | ||
Строка 34: | Строка 36: | ||
Файл '''/etc/igmpproxy.conf''': | Файл '''/etc/igmpproxy.conf''': | ||
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 | 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-подсетями: | ||
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'' |
Версия от 14:40, 12 мая 2010
Настройка статической multicast-маршрутизации на дистрибутивах ALT Linux.
Ссылки
- Статья про Multicast на Wikipedia
- Multicast over TCP/IP HOWTO (англ.)
- Организация доступа к IPTV через NAT
- Multicast forward/routing Linux, OpenBSD (iptv)
- Как пробросить IPTV
Общие понятия
Рассмотрим типичную схему multicast-маршрутизации с выделенным сервером, имеющим два сетевых интерфейса:
- eth0 — публичный интерфейс, на который придет поток от провайдера;
- eth1 — интерфейс в локальную сеть, в которой находятся клиенты.
Подготовка шлюза
Для начала необходимо установить дистрибутив 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