Si y'a une solution pour contourner ça, c'est de présenter des ports serveur différents (sur l'interface qui a l'ip publique)
Je vais prendre un exemple simple : tu as 2 serveurs web (c'est le même principe, c'est juste que les n° de ports sont moins chiants à retenir ) derrière un NAT/PAT (admettons) :
le serveur 1 écoute sur 192.168.0.200:80
le serveur 2 écoute sur 192.168.0.201:80
tu as bien 2 sockets de connection différent (un par serveur, là c'est l'ip qui change quand tu passes depuis le réseau local)
donc pour que l'accès vers les 2 soit possible de l'extérieur, il te faut un socket par machine, hors tu n'as qu'une ip visible de l'extérieur, il faut donc jouer sur le ports : exemple de redir. de ports :
(l'ip publique est écrite au pif et je décline toute responsabilités en cas de ressemblance fortuite avec la réalité ^^)
si le routeur permet de faire un changement de port à la volée
84.145.169.28:80 => 192.168.0.200:80
84.145.169.28:81 => 192.168.0.201:80
si le routeur ne dispose pas de ce genre de fonction (pourtant très pratique) :
84.145.169.28:80 => 192.168.0.200:80
84.145.169.28:81 => 192.168.0.201:81 (il faut changer le port d'écoute du serveur par contre dans ce cas là)
=> : redirection de port pour une requête arrivant sur l'ip publique