All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andy Furniss <lists@andyfurniss.entadsl.com>
To: lartc@vger.kernel.org
Subject: Re: [LARTC] UDP multicast stream and NAT
Date: Sat, 22 Jul 2006 18:07:15 +0000	[thread overview]
Message-ID: <44C26953.3070104@andyfurniss.entadsl.com> (raw)
In-Reply-To: <20051207221003.32802.qmail@web60924.mail.yahoo.com>

Gabriel wrote:
> Hi, my ISP is streaming some local concert using UDP
> multicasting. I followed the instructions on the site which
> described how to set VLC in order to view the stream, but
> it didn't work. I am behind a Linux router/firewall doing
> NAT. Using google, I quickly found out that the
> netfilter/conntrack code doesn't support NATing multicast
> traffic. I thought about bridging the internet facing
> interface (eth0) and (one of) the internal interfaces (the
> one my computer is plugged into). This way I could set my
> IP to be public and no routing/NAT would be done on the
> Linux box. The only problem is that the box has 2 more NICs
> in it and there are other people connected to those NICs
> that need to use that connection (hence need to be NATed).
> 
> Then I tried thinking about a DMZ-like solution where my
> box would be in the DMZ, but I can't see that working
> either because I only have one public IP assigned.
> 
> Can anyone think of any other way for me to be able to view
> the stream?
> 
> Thanks.
> 

I recently changed ISP to one that does multicast so got a chance to play.

If you want to do it properly then www.xorp.org is the place to look - I 
didn't as for our situation proper routing is a bit OTT.

There is a project on sf.net called igmpproxy - I didn't really try with 
this as I read it didn't work, but more recently I've read that it is OK 
if you are carefull with the config.

The way I did it it to use smcroute to set up static route(s) and issue 
igmp joins manually from the gateway.

http://www.cschill.de/smcroute

All I needed to do with iptables was to let multicast dst into the gateway.

If the stream link is a .sdp you can read the addresses, if it's some 
propritory crap then tcpdump -nnvv net 224.0.0.0/4 on the lan side while 
the player is trying to connect to get them - one multicast address = 
dst on incoming one unicast addr for the source.

eg. in the UK for the BBC1 1.2mbit H.264 stream -

smcroute -d
smcroute -a ppp0 132.185.224.80 233.122.227.151 eth0

smcroute -j ppp0 233.122.227.157

to stop

smcroute -l ppp0 233.122.227.157

For those in the UK that can test the BBCs - half of them have been down 
whenever I've looked - so try several

Andy.
_______________________________________________
LARTC mailing list
LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc

      parent reply	other threads:[~2006-07-22 18:07 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-12-07 22:10 [LARTC] UDP multicast stream and NAT Gabriel
2005-12-09 20:53 ` Gabriel
2005-12-10 12:38 ` sophana
2005-12-11 21:21 ` Andy Furniss
2005-12-12  2:08 ` Andy Furniss
2005-12-12 22:35 ` Gabriel
2006-07-22 18:07 ` Andy Furniss [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=44C26953.3070104@andyfurniss.entadsl.com \
    --to=lists@andyfurniss.entadsl.com \
    --cc=lartc@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.