Simple enough as long of you can change the TCP listening port on on the cameras, you can specifiy on the NVR what TCP port number to use to connect to the camera, and at his house he has a router that can do port forwarding. If his router at his house can do port address translation then you don't need to change the listening port on the camera.
For example, if his house WAN IP is 65.65.65.100, then Camera1 can be 192.168.1.100:80 where ":80" is the listening port, and Camer2 can be 192.168.1.101:81.
So on based on router firewall rules and the addresses the NVR would use to connect to the cameras, it would look something like:
65.65.65.100:80 -> 192.168.1.100:80
65.65.65.100:81 -> 192.168.1.101:81
This would require a static IP address at his house. If he can't get a static IP address, he can setup an online Dynamic DNS account like www.DYNDNS.com and then the NVR would use an address like below to connect to the cameras;
Camera1 = myhouse.myipaddress.com:80
Camera2 = muhouse.myipaddress.com:81
My advice, it's a lot easier to deal with static WAN IP addresses than Dynamic DNS accounts, don't present Dynamic DNS service as an option unless pressed to do so.
Caveats of course are Internet connections are not nearly as reliable as LAN connections for cameras and bandwitch is a lot less. Depending on number of cameras, resolution, and upload speed of the house, you may only get a few frames per second and there may be some gaps in video that can occur for a few seconds at a time.
Also make sure any guest passwords on the cameras are changed, of course change the admin passwords, and you probably want to use non=standard port numbers like something starting at 5000 on up, for example.