Actually this is my situation, I'm currently working here in United States and I want to access my Desktop PC in the Philippines which is behind the DSL modem. My laptop here (US) is connected to a wireless linksys router in which it is connected to a cable modem. I have a Private IP address from the DHCP of the linksys router and my desktop in Philippines has a private IP address too from the DSL DHCP.
If I do the port forwarding...should I do it at both ends??
A private IP at the client-side is transparent, it will make no difference at all. Assuming there's no firewall blocking outbound connections on that port.
On the server end, you merely configure your router/NAT device to forward the correct port to the server computer. The correct port being whichever one is used by the software you decide to go with. I'm not a huge MS fan, but their RDP technology is great. It's been faster for me than any other RC software out there. Even using it inbetween 2 computers on different DSL accounts with slow upload bandwidth. I would probably recomend it over any other VNC/RC program. The port to forward for that is 3389.
What I do, and what I'd also recomend doing for security, is to keep your home computer locked behind a firewall, and use VPN to make a connection to it. Then open an RDP session, access file shares, etc. This way your RDP port is not open to the world, and once you connect with VPN the connection is encrypted.
It's simple to do on both W2k or XP. Simply hit the "create new connection" link in your "network connections/network neighborhood" and and follow the wizard to allow incoming connections. Once done, make sure Remote Deskop (XP) or the terminal server service (W2k) is enabled and running. Make sure the username you want has login permissions. On your router, configure it to forward port 1723. Find out the public IP address of the router and remember it for later.
On your client computer, go to the "create new connection" link again, and this time choose "connect to work/connect to workplace" (I guess MS assumes only a business will use VPN?), and follow the wizard, filling in your server's public IP when asked. Once you finish, you can open up that connection icon, fill in your logon information and logon, and it will act like a dialup connection, putting itself in your system tray. What it does, is basically makes your remote computer a part of the local LAN on the other end. You can access computers, shares, printers just as if you were plugged in on that end. Here you can fire up your RDP or VNC program, mount drive shares, print, etc.
One thing that will prevent this from working right, is if on both ends you are using NAT, and they are both set to the same subnet settings. For example both ends use the private IP range 192.168.1.0. The VNC will connect, but once on, your computer will assume any connections to 192.168.1.x addresses are local and won't send them throught the VNC. The solution is simply to make them use different subnets. put one on 192.168.1.x, and the other on 192.168.45.x (or any number below 255).