Cellular hotspot used for hosting server

Mobile broadband has been using Carrier-grade NAT before that term was even coined, so it’s not suitable for hosting anything. There may be business services with non-NAT access, at additional cost, of course.

Most Internet access methods are based on “dial-up”: You start a session, authenticating yourself. Of course, if you have a fixed line, this session is likely to exist much longer, because it won’t be interrupted by signal loss or whatever. Still, mobile broadband is essentially the same.


So, I’ll just decide your question is “How do I make this work?”. What you want is a static anchor that both the client (where you access the videos) and the DVR are connected to. This way, it doesn’t matter where (in terms of Internet access) both client and DVR are.

One possibility to accomplish this is to rent a VPS and install a VPN server on it. You would then use a VPN client both in your DVR’s network and on the client machine. This tunnels through all NAT and firewalls on the way.

This setup has an additional benefit: The DVR is not exposed to the Internet. The security of the DVR’s web service is questionable. If possible, it should not be exposed to the Internet.

An alternative to renting a VPS would be to use something like Hamachi.

Both solutions might require an additional machine that acts as a VPN client in the DVR’s network. A Raspberry Pi should be enough, but you need to check the compatibility of the VPN software first!


Most mobile IPv4 service is behind ISP level NAT. So you can't accept incoming connections.

One option may be using a different provider. With some searching you may find a boutique provider who can offer public IPv4 on a cellular connection in your area. For example in the UK Andrews and Arnold offer this service.

Another option if your provider offers it and your stuff supports it may be IPv6. T-Mobile in the USA certainly offer public IPv6 addresses to their handsets though I don't know how that interacts with mobile internet routers/tethering.

The final option is to use a VPN like Daniel suggests.