The invention relates to a system and method to allow a remote client to remotely
access a home server of a home or private network while preserving end-to-end security.
A home server includes a service component. When a server application performs
a network operation to start listening for a connection from a remote client, it
is detected by the service component. The remote client is coupled through the
Internet and through an Internet agent to a home gateway running a Network Address
Translation (NAT) software program. The gateway connects to a forwarding agent.
The forwarding agent is connected to the home server and provides the Internet
agent with access parameters received from the home server. If the remote client
provides proper access parameters to the Internet agent, the Internet agent provides
the remote client access to services running on the home server.