My guess is that your remote glassfish is trying to do a DNS lookup of the client's IP address, to get the client's hostname, and that that is taking a long time and eventually timing out.
Try doing the reverse of what you did: ensure that the client is listed in the remote's /etc/hosts file.
You can also test this by doing something like this on the remote server: dig -x clients-ip-address (dig is a linux command so you might have to find the appropriate equivalent for your environment).
[Message sent by forum member 'matterbury' (matterbury)]
http://forums.java.net/jive/thread.jspa?messageID=338196