udhcpc -i vlan2 -S -b -s dhcpc-event -H unknown --vendorclass sml7105-rt
iptables -A FORWARD -i vlan2 -j wanin
if [ -f /etc/igmp.conf ]; then
	grep ppp0 /etc/igmp.conf
	if [ $? -eq 0 ]; then
		sed -i 's/ppp0/vlan2/' /etc/igmp.conf
		killall igmpproxy
		igmpproxy /etc/igmp.conf
	fi
fi
В результате роутер получает айпишник от DHCP домового роутера, присваивает его интерфесу vlan2.
 
Ключ "-s dhcpc-event" заставляет выполниться какой-то внутренний скрипт (я его в роутере не нашёл), который прописывает правильные маршруты. 
 
Команда iptables прописывает в файерволле роутера правило, разрешающее прохождение любого входящего трафика от vlan2.
 
Последняя команда не совсем команда, а скрипт, переписывающий конфиг-файл для IGMPProxy, расположенный у меня в /etc/igmp.conf
 
До выполнения этого скрипта файл имеет вид:
quickleave 
phyint ppp0 upstream 
	altnet 0.0.0.0/0 
phyint br0 downstream ratelimit 0 
После выполнения файл имеет вид:
quickleave 
phyint vlan2 upstream 
	altnet 0.0.0.0/0 
phyint br0 downstream ratelimit 0 
Запуск udhcpc настроен на событие подъёма интерфеса WAN (установка PPPoE соединения), скрипт подмены igmp.conf настроен в планировщике на выполнение раз в минуту, ибо при обрыве и реконнекте PPPoE конфиг перезаписывается. А так всё автоматически восстанавливается и при перезагрузке роутера.
 
Если какой-либо пункт не выполнить, то мультикаст в локалку не идёт. Если "udhcpc" выполнять без указания роутерного скрипта, то маршруты не будут прописаны и мультикаст ровно так же не пойдёт.
 
Сильно подозреваю, что всё дело во втором default gateway для мультикаст-подсети провайдера.
 
Команда route показывает такое:
default 10.27.0.144 0.0.0.0 UG 0 0 0 ppp0
default 10.202.179.1 0.0.0.0 UG 1 0 0 vlan2
 
vlan2  - это соединение, которому присвоен адрес от DHCP домового роутера из диапазона 10.202.179.*
Оно почему-то появляется после подъёма pppoe, хотя на самом деле это бридж между wan и lan4, в который включена провайдерская приставка sml-282. Но приставка работает сама по себе и никак не мешает остальным. На её работу состояние pppoe никак не влияет.
 
ИТОГО:
 
1. Надо найти файл igmp.conf и посмотреть его содержимое при поднятом pppoe.
 
2. Надо внимательно проанализировать вывод команды ifconfig, какие ещё интерфейсы поднимаются при подъёме pppoe.
 
3. Выставить в настройках роутера вместо pppoe получение адреса от DHCP, а в консоли через telnet/ssh подсмотреть командой "ps", с какими ключами запущен процесс udhcpc. Именно так я узнал, что надо запускать с ключом "-s dhcpc-event".
 
Ну а дальше можно мараковать, как всё это приспособить к зухелю, чтоб работало автоматически. 
 
А дюну лучше не мучать, она не обязана уметь работать с несколькими сетями-подсетями и манипулировать адресами так же виртуозно, как роутер.
 
ЗЫ. Ещё проще вариант - меняй роутер на такой, который работает под помидорной прошивкой, тогда все поблемы решишь разом  