If I have one proxy server with a static public IPv4 198.51.100.138 which can access interent.
How many client PCs in a local network can access Internet via the proxy server ?
Server Fault is a question and answer site for system and network administrators. It only takes a minute to sign up.Sign up to join this community
It is hard to have a complete answer for this question because it is not quite correct, or else not enough information given. We can estimate how many connections could be translated. How this corresponds to the number of PCs remains a question: will they access the same remote resource or different? Which kind of accesses they use (VPNs, HTTPS, mail and so on)?
In general, when you are doing TCP and UDP NAT, each of them uses a tuple
(local IP, local port, remote IP, remote port) to recognize reply packets to know which
(private IP, port) to translate them back into. You've fixed to single
local IP, but left all other variables free; how many connections could be translated is a product of how many objects are in the set, with the rough maximum
64k local ports * 64k remote ports * 4G remote IPs (of course, not all remote IPs are public, I am saying this is rough). If you limit it to only access TCP 443 (HTTPS) port, we have now a single
remote port too; and so on.
Therefore, your whole local network in total can open up to 64k TCP and UDP connections to each remote port on each remote IP address. If each PC opens a single connection, you may have up to 64k computers all accessing the same port on some remote server, and 64k more accessing other port on same remote server and 64k even more accessing the same port on other remote server. Notice that on one hand browsers open 6-8 connections at least (which reduces the result), on the other hand, popular services don't reside on a single remote IP (which increases the result).
The same restriction applies to HTTP proxy: it needs to establish outgoing connections and that has the same limit. Proxy and TCP NAT time will have a shared pool of available tuples; UDP stays alone.
There are sometimes other protocols used: SCTP, GRE and so on. They all have their interesting properties, but their limits are theirs. IPSec also adds some interesting question, but often it is used as per NAT-T which encapsulates IPSec into UDP and it falls within UDP limit.
If you are doing Port Address Translation it'll depend on how many (TCP/UDP) ports you have and how many each machine will use at one time and how long those ports are in use. Realistically 10s to 100s is easy as there are 64k ports available on your proxy.
Is this an educational question or how many hosts are you hoping that it'll support?