Hi,

answering to my own message because I've found new facts:

First of all, the UPnP packets didn't leave the MythTV DomU earlier; their checksums were corrupted as mentioned in http://www.shorewall.net/XenMyWay-Routed.html . Using the setting described there, the checksums are now correct. Sorry for that; I should have checked that earlier.

But my problem still remains: The UPnP packages (sent to 239.255.255.250) never reach eth1. I can see them inside the DomU, and also on eth4, but never on eth1. Same thing the other way: When I send broadcasts from a UPnP client connected to eth1 to search for UPnP servers, I can see those packages on eth1, but not on eth4. Both interfaces belong to the loc zone. So it seems that the problem comes down to finding a way to forward broadcast packages between eth1 and eth4. As suggested in http://www.shorewall.net/samba.htm, I am using action.Drop and action.Reject to make sure the packets don't get dropped silently (did it for UPnP and broadcast packets), and I can't find any traces in the log.

Will linux-idg do the forwarding? Or is there some Shorewall rule I can use?

Cheers,
  Jens

Am 13.10.2009 um 16:06 schrieb Jens Rehaag:


Am 13.10.2009 um 03:06 schrieb Tom Eastep:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Jens Rehaag wrote:
Hi,

long story told shortly: I am running a MythTV backend (with UPnP
server) inside a XEN DomU. Everything works fine, except for the UPnP part. Before I migrated the server to the virtual machine, also that was working well (broadcasting to a PS3 on the local net, and also to other UPnP software clients). Now, the clients don't see the server any more.

My XEN/Shorewall setup is based on this guide: running Shorewall in a
routed Dom0 <http://www.shorewall.net/XenMyWay-Routed.html>. Main
difference is that I did not (yet) make a separate zone for the WLAN.

Current environment:
eth0: External interface (net) (to the Internet router), 192.168.200.1
eth1: Internal interface (loc), 192.168.100.1
eth4: UPnP server ($TEST_IF), 192.168.200.1
The internal address of the UPnP server is 192.168.100.3.
Client used for testing: 192.168.100.222 (loc)

After a lot of trial/error, and also a lot of googling, I'm stuck... I'm
pretty sure I just overlooked one tiny detail, but can't see it. Can
anyone give me a hint, please?

Sorry if this was handled earlier on the list, but my search didn't turn
it up.

You'll find a shorewall dump in the attachment.

Sorry -- I don't understand your configuration at all.

You say:

eth4: UPnP server ($TEST_IF), 192.168.200.1

That isn't the server -- that is an interface on the firewall.

True - it's the interface XEN created for the virtual machine that is running the MythTV / UPnP server, using Proxy ARP:

#ADDRESS        INTERFACE       EXTERNAL        HAVEROUTE       PERSISTENT
192.168.200.10  $DMZ_IF $EXT_IF yes     
192.168.100.3     $TEST_IF $INT_IF  yes


- From the dump:

Chain PREROUTING (policy ACCEPT 176 packets, 40630 bytes)
pkts bytes target     prot opt in     out     source
destination
   0     0 UPnP       all  --  eth0   *       0.0.0.0/0
0.0.0.0/0
   0     0 UPnP       all  --  eth3   *       0.0.0.0/0
0.0.0.0/0
  26  6595 UPnP       all  --  eth1   *       0.0.0.0/0
0.0.0.0/0
  44 14522 UPnP       all  --  eth4   *       0.0.0.0/0
0.0.0.0/0
   0     0 UPnP       all  --  vnet0  *       0.0.0.0/0
0.0.0.0/0
   0     0 UPnP       all  --  vif10.0 *       0.0.0.0/0
0.0.0.0/0

Looks like you kept adding 'upnp' to your interfaces until you ran out
of interfaces???

Yes, only had it on eth1 originally, but added it to others as well as part of that trial/error process... now on eth4 only.


This is also curious:

Chain eth0_masq (1 references)
pkts bytes target     prot opt in     out     source
destination
   1    76 SNAT       all  --  *      *       192.168.100.0/24
0.0.0.0/0           /* Masquerade Local Network */ to:192.168.200.1
   0     0 SNAT       all  --  *      *       169.254.0.0/16
0.0.0.0/0           /* Masquerade Local Network */ to:192.168.200.1
   0     0 SNAT       all  --  *      *       239.0.0.0/8
0.0.0.0/0           /* Masquerade Local Network */ to:192.168.200.1
   0     0 SNAT       all  --  *      *       224.0.0.0/4
0.0.0.0/0           /* Masquerade Local Network */ to:192.168.200.1

What is all of this masquerading for? Clearly the multicast addresses in the 'source' column are ridiculous which makes me think that you have an
interface name in the SOURCE column of /etc/shorewall/masq.

Yes, actually, I based it on your above mentioned document, which has
"$EXT_IF                 $INT_IF 206.124.146.179".
I replaced the IP address with 192.168.200.1.

Those multicast addresses are also mostly leftovers from testing, I had added them manually to the routing table.


It looks to me like you have taken a server that depends on broadcast
and have moved it to the other side of a router from its clients; that's usually a losing strategy. Do you have any web references about how this
whole thing is supposed to work? My experience with UPnP is in the
classic case where linux-idg is running on a gateway which this doesn't
appear to be.

Not really: What I did was to move a service (MythTV with UPnP) that was running directly on the firewall earlier into a virtual machine, also on the firewall. That virtual machine is supposed to be part of the local zone, that's why I thought linux-idg would not be needed (as I understood it was used to allow UPnP traffic between the net zone and the loc zone).
All clients are in the loc zone.
The reference I used when I set up the MythTV server directly on the firewall earlier can be found here:
http://www.mythtv.org/wiki/UPnP
The broadcast route mentioned under "Troubleshooting" was indeed needed when I ran the server on the firewall. Now, I have it on the virtual machine. All other broadcast addresses cleaned, server rebooted. I will take a closer look at linux-idg, and also at broadcasting in general.

I have attached a new dump, should be cleaner.

Cheers,
  Jens



- -Tom
- --
Tom Eastep        \ When I die, I want to go like my Grandfather who
Shoreline,         \ died peacefully in his sleep. Not screaming like
Washington, USA     \ all of the passengers in his car
http://shorewall.net \________________________________________________
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkrT0ocACgkQO/MAbZfjDLLS2gCeKyWDMpI/1TVSIjDI09pUgtmM
q8wAoKN3CNYM2VQulQX0DUyhBqAWgqoa
=LG3j
-----END PGP SIGNATURE-----

------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
Shorewall-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/shorewall-users



--
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
<status_new.txt.gz>
------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference_______________________________________________
Shorewall-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/shorewall-users


--
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.

------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
Shorewall-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/shorewall-users

Reply via email to