Say I have a server, and multiple clients. Each client (same or different LAN) opens a program which connects to the server. I'm not sure how to ask my question, so I'll just write what I'm trying to do:

(theoretical example)

Server constantly listens for connection on port 2000.
Server's public IP is
Server's LAN IP is

Would the following be a correct flow? (Please correct, I have little to no understanding of this part)

3 clients, under the same public ip
whose LAN ip's are:

So the first question arises: does each of these clients need to use a different port?

Let's say they each open a different port

The data then goes to their router. Would the data going out look like this?

If so, when it reaches the server, is the following correct?
Data is received on the server's router's ports 101, 102, 103
The router then forwards ALL THREE ports to the server's LAN ip, port 2000 (

The server now has a valid connection?

I don't know that you should need to open any ports.
Is there a reason you aren't using private IP addresses in the LAN?
You'll have to search for the exact ranges but they're around:
172.0..0 whatever something,learn subnetting if you need to