On Thu, 2004-09-02 at 14:56, Alexander C.H. Lorenz wrote:
> Hello Björn,
> We working on multicast too - but when we get the sources for it, we're happy.
Our sources are not ready for release yet (and won't be until our field
tests prove successful and we finalize the system as a product), but I
can give you a mini-howto:
M0n0wall Multicast Mini-HowTo
1. First step is to enable multicast routing in the kernel and
recompile. You need to add options MROUTING" to your kernel
configuration file for this.
2. Next, copy /usr/sbin/mrouted from a FreeBSD distro onto your m0n0wall
CF image. If you are happy with the default settings (multicast enabled
on all physical interfaces, and no multicast tunnels) you can ignore the
configuration file /etc/mrouted.conf or leave it empty.
3. mrouted needs to be started after at least two interfaces have been
brought up. An easy (but not very elegant) way is to add the following
somewhere near the end of /etc/rc.bootup:
4. By default m0n0wall filters out IGMP packets with hard-coded firewall
rules, so we need to add the following lines to /etc/inc/filter.inc:
# Allow for multicast IGMP
pass in quick proto igmp from any to 22.214.171.124/4
pass out quick proto igmp from any to 126.96.36.199/4
Insert it between the rules "block in $log quick all with short" and
"block in $log quick all with ipopts" (it is somewhere near line 384).
5. Another simple firewall rule is needed to allow multicast traffic
from the WAN through the router. Add the following firewall rule using
the web gui:
Destination: network 188.8.131.52/4
You should now have a working rudimentary multicast enabled router.
For our purposes (broadcast-quality IP-TV) we had to use the traffic
shaper to reduce priority on all non-multicast traffic, and modify
mrouted to decrease the multicast group membership timeout. We are also
planning other modifications to mrouted to further optimize it for
Björn Axelsson Phone: +46 (0)920 75028
Intinor AB Fax: +46 (0)920 75710
Interactive Television e-mail: bjorn dot axelsson at intinor dot se