views:

387

answers:

2

I have a Linksys WRT54G wireless router connected to a big LAN in my dorm. We regularly use DAAP (iTunes sharing) to play our own music at the different lounges and kitchens. This works fine when I connect my laptop directly to the LAN, but as soon as I access it through my router, I cannot see other shares, and they can't see mine. Problem is, I can only be assigned one IP address on the dorm's LAN (have to authenticate through SSH before being allowed through the firewall,) so I can't both share through DAAP and have my friends use my wireless router at the same time.

I understand that this is caused by the fact that DAAP uses Bonjour to announce and discover shares.

My question is; can I have my cake and eat it too? Is there a way to keep my wireless router, and forward Bonjour discoveries? It's okay to forward them all to one machine.

A: 

You should be able to use port forwarding from your router to your laptop. You would also have to open the Bonjour ports on your router.

rifferte
As far as I know, that doesn't work for multicast.
Daniel Schierbeck
Have you tried opening up the TCP and UDP ports?
rifferte
rifferte, multicasts use neither TCP nor UDP; basically, it's different from normal unicast frames, and is only transmitted on the local subnet.
Daniel Schierbeck
+1  A: 

If you can replace your router's stock firmware with OpenWRT, you should be able to do this in two steps.

The first step is to forward ports on your router so that connecting to your router on port 3689 from the dorm's LAN (from the router's perspective, this is the WAN) connects to port 3689 on your laptop (from the router's perspective, this is the LAN. from your dorm LAN's perspective, this doesn't exist). You could do this with iptables.

The second step is to advertise your DAAP service. Install avahi on the router and run 'avahi-publish-service sharename _daap._tcp 3689'

Brian