Hello everyone, and I apologize for the long-winded post....
This isn't really an arduino question, but I hope someone can help me anyway.
I plan to have a small arduino server connected by ethernet cable to an outdoor 4G router in a remote location. The server will monitor a power station, and send it's data over the cell network to a cell phone, or at least that's the idea. I have the server working fine, and I currently have a dynamic DNS address assigned to it, and everything works in my home, which is connected to a Verizon home internet router acting as a passthrough device to a TP-LInk router, which is what the DDNS is set up through.
The remote router is a Wavlink router, and when I had a Hologram SIM in it, it worked fine except that the Hologram network assigned a private IP address, and thus can not work with a dynamic DNS address, or so I was told.
Is there any other way to accomplish this? This is really not my area of expertise, and any info would help.
I have tried googling, but don't really know what to search for.....
If the remote Arduino is inside a private network, I'm sorry but I think there's no way for you to connect directly to it unless you either buy a static IP from the provider, or the provider allows you to request for an external IP address/port mapping, but both of them are either expensive or hard to be available to small customers.
If you have a DDNS for your home network, which is easy and common, you should reverse the logic: make the remote a "client" connecting to your local server and periodically send data, either with a permanent connection -automatically established and mantained-, or "pushing" the data over a single step connection (connect, send data, wait answer/confirmation, then disconnect).
The local server should just raise an alarm if the remote disconnects and won't get back within a specific timeout, or it missed come push connection events. This is the only solution I can see at the moment.
It sounds like you're trying to access the Arduino server directly over the internet. If so, as @docdoc said, that's not going to work.
You could try connecting it to a free IoT server such as Adafruit.io (there are many such sites) and have the arduino send the data to that server, where you can access it either directly, or through dashboards.