Короче говоря, вам не хватает параметра конфигурации «NAT loopback» (он же «NAT шпилька»).
Существует некоторая внутренняя проблема с отправкой пакетов на ваш собственный IP (это кажется маловероятным), и мой старый маршрутизатор самостоятельно перенаправил такие пакеты, чего не делает новый маршрутизатор.
Да, есть. Но вы забываете, что «отправка пакетов на ваш собственный IP» не единственное, что происходит.
Ваш IP-адрес в глобальной сети не принадлежит сразу всей локальной сети - он принадлежит только вашему маршрутизатору, и другие устройства в вашей локальной сети даже не распознают этот адрес, если увидят его в заголовке пакета. Они распознают только свои собственные адреса локальной сети (например, типичный 192.168.xy).
Это означает, что соединения с IP-адресом WAN всегда идут к маршрутизатору, который затем должен переписать адрес назначения пакетов и повторно отправить обновленный пакет на конечное устройство. Естественно, для ответов от этого устройства требуется противоположная перезапись (т. Е. Изменение исходного адреса обратно с собственного IP-адреса устройства на WAN-IP маршрутизатора).
Но если сервер распознает, что его клиент находится в той же подсети, он отправит ответы напрямую, а не через маршрутизатор, и у маршрутизатора не будет возможности отменить исходный IP-адрес. В результате ваш клиентский компьютер отправляет пакеты на адрес WAN, но получает ответы с адреса LAN и не может их сопоставить.
Некоторые маршрутизаторы имеют функцию «NAT loopback», которая переписывает и назначение, и источник таких пакетов. Недостатком является то, что ваш сервер будет видеть только IP-адрес маршрутизатора, а не фактический клиент. (Кроме того, производительность может быть ограничена процессором маршрутизатора.)