Linux Debian мултикаст пренасочване

Linux 3.2.0-1-686-pae i686 GNU/Linux

В резултат на това ще имаме:

1. Маршрутизиране на мултикаст трафик през Linux рутер

2. Разпространение на IPTV през Linux към локалната мрежа на Windows клиенти

Дадени: ISP мрежа (eth0 10.72.55.177 gateway 10.72.48.1), LAN (eth1 192.168.0.1/24 (клиент 192.168.0.2)) и wlan wi-fi интерфейс за нетбук (192.168.1.1/24 (клиент 192.168.1.1. )) и inet ppp0

След това изтеглете igmpproxy, който ще обработва мултикаст хедъри http://sourceforge.net/projects/igmpproxy/ разопаковайте, конфигурирайте, компилирайте, инсталирайте

tar xvfz igmpproxy-0.1.tar.gz

Позволяваме на ядрото да предава мултикаст трафик

вмъкнете в края

net.ipv4.ip_forward=1 net.ipv4.conf.all.mc_forwarding = 1 net.ipv4.conf.default.mc_forwarding = 1 net.ipv4.conf.lo.mc_forwarding = 1 net.ipv4.conf.eth0.mc_forwarding = 1 net.ipv4.conf. eth1.mc_forwarding = 1 net.ipv4.conf.wlan0.mc_forwarding = 1 net.inet.ip.mforwarding=1 multicast_router=ДА

По подразбиране защитната стена в Debian позволява всичко и всеки да премине, така че са добавени правила само за достъп до локални клиенти в локалната зона на доставчика + достъп до Интернет

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o ppp0 -j MASQUERADE .0.0/24 -d 10.0.0.0/8 -o eth0 -j MASQUERADE iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -d 10.0 .0.0/8 -o eth0 -j МАСКАРАД

Конфигуриране на igmpproxy, посочете мрежи + интерфейси, от които да слушате мултикаст и интерфейси, към които да го изпратите

Довеждаме до ума

##——————————————————— ##Активиране на режим Quickleave (Изпраща незабавно напускане) ##————————————————— quickleave ##———————————————— ## Конфигурация за eth0 (Upstream Interface) ##———————————————————— phyint eth0 upstream rateli mit 0 threshold 1 altnet 224.0.0.0/4 ##—————————————————— ## Конфигурация за eth1 (интерфейс надолу по веригата) ##—————————————————— phyint eth1 надолу по веригата ratelimit 0 праг 1 phyint w lan0 downstream ratelimit 0 праг 1 ##———————— ———————————— ## Конфигурация за eth2 (забранен интерфейс) ##——————————————————— phyint ppp0 деактивиран

Подмрежа 224.0.0.0/4 е само разпространителят на мултикаст бурята :) )

Малък нюанс, местният доставчик излъчва 224.0.0.0/4 не от името на локалния шлюз, така че не бързайте да добавяте маршрута add -net 224.0.0.0/4 gw 10.72.48.1 линия!

На сървърен рутер, работещ с Debian, стартирайте

igmpproxy -v -d /usr/local/etc/igmpproxy.conf

ВНИМАНИЕ! Тук, в първата половина на командата, се използва относителният път на променливата на средата PATH и директният път до конфигурационния файл, във вашия случай трябва да знаете със сигурност, например, че двоичният файл и config са на правилните места и изрично да ги извикате. Например, в моя случай, мога изрично да посоча този ред

/usr/local/sbin/igmpproxy -v -d /usr/local/etc/igmpproxy.conf

ключовете -v и -d ще ни помогнат да хванем грешки.

Клиентът работи на нашата Windows машина и igmpproxy работи и няма телевизор ... Щракваме върху канала и внимателно разглеждаме журнала на igmpproxy

Заявка за членство в RECV от 192.168.0.1 до 239.192.0.12 Доклад за член на RECV V2 от 192.168.0.2 до 239.192.0.12 Вмъкнат запис в таблицата с маршрути за 239.192.0.12 на VIF #0 joinMcGroup: 239.192.0. 12 на eth 0 RECV V2 доклад на члена от 10.72.55.177 до 239.192.0.12 IGMP съобщениетобеше от мен самия. Игнориране. Заявката за активиране на маршрут от 10.72.55.177 за 239.192.0.12 е от мен. Игнориране. Адресът на източника 172.16.110.210 за група 239.192.0.12 не е в никоя валидна мрежа за VIF нагоре по веригата. Доклад за член на RECV V2 от 192.168.0.2 до 239.192.0.12 Актуализиран запис за маршрут за 239.192.0.12 на VIF #0 Доклад за член на RECV V2 от 192.168.0.1 до 224.0.0.251 IGMP съобщението беше от мен. Игнориране. Отчет за член на RECV V2 от 10.72.55.177 до 239.192.0.12 IGMP съобщението беше от мен. Игнориране.

##————————————————— ## Активиране на режим Quickleave (изпраща незабавно напускане) ##—————————————————— quickleave ##——————————————————— ## Конфигурация за eth0 (Upstream интерфейс) ##———— —————————————— phyint eth0 upstream ratelimit 0 threshold 1 altnet 224.0.0.0/4 altnet 172.16.110.210 ##——————————————————— ## Конфигурация за eth1 (интерфейс надолу по веригата) # #————————————————— phyint eth1 downstream ratelimit 0 threshold 1 phyint wlan0 downstream ratelimit 0 threshold 1 ##—————————————————— ## Конфигурация за eth2 (интерфейс с деактивиран) ##——————————— ———————— phyint ppp0 деактивиран

Запускаме, на клиента щёлкаем канал и гледаме, трябва всичко да заработи :)

/usr/local/sbin/igmpproxy -v -d /usr/local/etc/igmpproxy.conf

Сега правим по-удобно управление за автозапускане, всичко зависи от вашата религия и колко сте творческа личност. Лично аз направих така

екран за инсталиране на aptitude

Добавил пред изход 0 строку

su – userme -c 'екран d -m -S igmptraff igmpproxy /usr/local/etc/igmpproxy.conf'

Проверяваме, че потребителят е достъпен до бинарника и конфигурацията

Или стартираме с ручки

екран -d -m -S igmptraff igmpproxy -v -d /usr/local/etc/igmpproxy.conf

екран -xigmptraff

Минимизирайте сесията, без да затваряте или прекъсвате изпълнението