Mmmh...
На вашем месте я проверил бы свою конфигурацию платы LAN (полудуплекс / полный дуплекс, например) и затем крупная вирусная проверка. Просто мои два цента :)
Вы используете фиксированный NAT, который должен перезаписать исходный IP-адрес. Если вы собираетесь подключиться к внешнему IP-адресу изнутри, исходный IP-адрес всегда должен быть IP-адресом шлюза. В противном случае возвратные пакеты никогда не вернутся на исходную машину.
Мой вам совет - просто не делайте этого. Если вы хотите подключиться к локальному компьютеру, используйте его локальный IP-адрес.
Этот ответ объясняет ту же проблему.
Вот что произошло бы, если бы вы не использовали SNAT:
Запрос исходит. на машине только с частным IP-адресом, поэтому у нее есть частный IP-адрес источника.
Пункт назначения не является локальным, поэтому запрос отправляется на шлюз.
Шлюз перезаписывает только пункт назначения (это неверно !) и отправляет пакет на сервер.
Сервер видит запрос с локального IP-адреса, поэтому он отправляет ответ на локальный IP-адрес.
Локальная машина видит ответ с локального IP-адреса на пакет, отправленный на удаленный IP-адрес, и игнорирует ответ.
Шпилька NAT - это форма двойного NAT, использующая как SNAT, так и DNAT. Он не может работать без SNAT. Ответы также должны быть преобразованы в NAT, что означает, что источник должен быть преобразован в NAT, чтобы получать ответы на шлюз.
Check with tcpdump what the packets look like that reach the server. Maybe SNAT has been activated on the gateway.
Edit 1
This refers to the case that the access is from outside the local net so that SNAT is possible but not necessary.