Есть клиент, есть сервер в Интернете; клиент подключается к серверу из локальной сети через NAT.
Точнее, через несколько NAT:
192.168.3.x (это клиент) ->192.168.3.1 -> 192.168.2.1 -> 192.168.1.1 -> (ISP) -> сервер
Проблема: сервер делает getpeername(..) и получает адрес клиента 192.168.1.1; нужен же его внешний Интернет-адрес (для геолокации).
Что делать?