al menos una de las dos máquinas deberá contar con un IP público (la que haga de servidor, para ser exacto), para que sea accesible por el otro equipo (el cliente) y se pueda establecer la conexión.
Otra opción con máquinas sin IP público, es conectarlas a una misma VPN... obviamente, tiene que haber un servidor de la VPN, con un IP público.
Hasta luego.