I can confirm alastairstevenson's claims, with virtual-host enabled and the proper configuration, I can access my cameras through (for example) 192.168.1.150:65001 as well as 192.168.254.2. I've been meaning to write about this given the amount of misinformation floating around.
I investigated this quite a bit and you
DO NOT want to connect a cable from your NVR Camera port to your LAN. This causes all your camera traffic to go through your LAN and you can verify this by looking at the NVR LAN traffic*. This is not ideal, as you want the camera traffic to go straight to the NVR and not bog down your network unnecessarily - especially if you have a lot of cameras.
All you need is a firmware that supports virtual-host. Here's what you do:
On your NVR network settings:
1) Set up a static IP - this can be done easily on your router (sometimes called DHCP reservation) or by simply disabling DHCP and ensuring that the IP address, Subnet mask, Gateway, and DNS server are correct.
2) Take note of the IPv4 Address (i.e. 192.168.1.X), IPv4 Default Gateway (i.e. 192.168.1.1) , and Internal NIC Address** (by default its 192.168.254.1)
3) Enable Virtual-Host, you will find the option under Network Settings -> Advanced (if you have it)
4) You should now have access to your cameras through your NVR through
http://192.168.1.X:6500Y where Y is the camera number. The links are also provided in the "Camera Management" page.
On your cameras:
1) Login to the camera - the credentials will either be the same as your NVR, or admin/12345
2) Go into the Network configuration and change the IPv4 Default Gateway to your NVR Internal NIC Address (i.e. 192.168.254.1)
3) Save and reboot (as prompted)
4) Your cameras should now have access to the internet (they can send email alerts, upload to FTP, etc..)
On your router (this is the tricky part):
1) You want to set up a "Static Route" (Google is your friend) - Different routers will likely have different specific terms, so the following is for a Linksys router
2) Set the "Destination LAN IP" to your NVR internal NIC address, but instead of the ending with a 1, it will end with a 0. So if your Internal NIC Address is 192.168.254.1, you want to set it to 192.168.254.0.
3) Set the "Subnet Mask" to be the same as on your NVR (likely 255.255.255.0)
4) Set the "Gateway" to your NVR IPv4 Address
5) You should now be able to access your cameras through their internal IP addresses (i.e. 192.168.254.X)
And that's it!
So for example, I can now access my cameras using:
192.168.1.150:65001
OR 192.168.254.2
192.168.1.150:65002
OR 192.168.254.3
192.168.1.150:65003
OR 192.168.254.4
(They don't match up because the NVR is on 192.168.254.1)
Doing this also means you can add each camera individually to iVMS-4500 and get push notifications directly from the camera. Why would you want to do that? No idea, but I originally investigated this method for getting VCA push alerts. Though I quickly realized that I would always get motion alerts too since I needed to "notify surveillance center" on motion to ensure the NVR records.
*I should note that if you plug the cameras in when the NVR LAN is unplugged, and then plug in the NVR LAN cable afterwards, the camera traffic will still be direct to the NVR, but upon rebooting the NVR the traffic will once again default to going through the NVR LAN port.
**If you are configuring through your browser, you can determine the Internal NIC Address by looking at the "Camera Management" page which shows the "IP Camera Address". They will all have the same first three groups of digits with a varying fourth group (i.e. they all start with 192.168.254.X). Your Internal NIC Address will have the same first three groups of digits with the last group being "1".