Bret Snyder
Member

Registered: Mar 2000
Location: Hacienda Heights, Ca
Posts: 302 |
quote: Originally posted by jschaff
wforde's instructions will work if you are not behind a firewall, with just a static IP to one computer.
I also have the IP behind a firewall situation and have found no way yet to get it to work...
I posted this question in Newsgroups: comp.sys.palmtops.pilot.
Subject: Re: Network HotSync to a NAT'ed PC Address?
I received this reply and gave it a try. It actually works!! I am able to Hotsync through a Cisco Pix to a Nat'ed address (which I wasn't able to until I put "!!" in the "Primary PC Name:" field).
quote: Here's my recipe for hotsyncing to a PC behind a DSL router doing NAT. It fixes one problem with the recipe suggested by James Smith:
- Assign a private static IP address to the PC (e.g.192.168.1.2).
- Configure the router to forward TCP/UDP ports 14237 and 14238 to the static IP address.
- On the Palm, in Hotsync | Primary PC Setup, enter "!!" into the Primary PC Name and enter the router's external IP into Primary PC Address.
If you don't use "!!" as the Primary PC Name, then every time you Hotsync the Primary PC Name will get overwritten with the DNS or Windows name of your PC and the Primary PC Address will get overwritten with the private IP address of the PC.
(see http://205.141.210.149/SRVS/CGI-BIN...,Case=obj(3369) for that piece of undocumented magic).
If you're into the gory technical details, here's what I learned about how the Palm finds the PC, based on two articles I found:
http://www.networkcomputing.com/912/912sp4.html
http://www.globnet.com.ar/web%20Ingles/productos.htm
The Palm uses the Palm Name Resolution Protocol to locate the primary PC. PNRP starts by sending a UDP packet to the Primary PC Address. The PC responds with a UDP reply containing the IP address of the PC (but in a NAT environment, that will be the PC's private, unroutable IP address). The Palm will then try to open a Hotsync TCP connection to that address.
If the Palm doesn't receive a UDP reply or the TCP connection fails, the Palm will send a "directed UDP broadcast" to the subnet (which is why the subnet mask is important in the configuration), containing the DNS or Windows name of the computer. If the PC recieves that, it will respond with the UDP reply containing the PC's IP address (the private IP address in a NAT environment), and the Palm will again try to open a TCP connection to it.
If that fails, the Palm will then try to use DNS to resolve the Primary PC Name and open a TCP connection directly to that IP address.
If that fails, the Palm will then try to use directed UDP broadcasts to "common subnets".
As I described above, if you enter the address of your router as the Primary PC Name, then the first Hotsync will succeed, but it will overwrite the Primary PC Name with the DNS or Windows name of your computer, and the next Hotsync will fail. You can prevent that by entering "!!" as the Primary PC Name, and it appears that in addition to not overwriting the Primary PC Name and Address, the Palm skips the UDP portion of the PNRP and just tries to directly open a TCP connection to the Primary PC Address (this is my observation based on packet sniffing).
Before I found the undocumented "!!" hack, I tried configuring the loopback adapter on my Windows 2000 PC to have the external IP address of the router. On my PC in Hotsync Setup | Network | TCP/IP Settings, I could then select which IP address to use -- the private IP address or the external IP address of the router. But even when I selected the external address, the Hotsync PRNP was still sending the private IP address in the UDP reply.
Hope this helps,
John R. Ellis
__________________
Bret Snyder<BR>If you don't know where you're going,<BR>You'll probably end up somewhere else.
|