Сервер думает, что запрос прибывает из моего шлюза

Mmmh...

На вашем месте я проверил бы свою конфигурацию платы LAN (полудуплекс / полный дуплекс, например) и затем крупная вирусная проверка. Просто мои два цента :)

1
задан 25 February 2013 в 01:09
2 ответа

Вы используете фиксированный NAT, который должен перезаписать исходный IP-адрес. Если вы собираетесь подключиться к внешнему IP-адресу изнутри, исходный IP-адрес всегда должен быть IP-адресом шлюза. В противном случае возвратные пакеты никогда не вернутся на исходную машину.

Мой вам совет - просто не делайте этого. Если вы хотите подключиться к локальному компьютеру, используйте его локальный IP-адрес.

Этот ответ объясняет ту же проблему.

Вот что произошло бы, если бы вы не использовали SNAT:

  1. Запрос исходит. на машине только с частным IP-адресом, поэтому у нее есть частный IP-адрес источника.

  2. Пункт назначения не является локальным, поэтому запрос отправляется на шлюз.

  3. Шлюз перезаписывает только пункт назначения (это неверно !) и отправляет пакет на сервер.

  4. Сервер видит запрос с локального IP-адреса, поэтому он отправляет ответ на локальный IP-адрес.

  5. Локальная машина видит ответ с локального IP-адреса на пакет, отправленный на удаленный IP-адрес, и игнорирует ответ.

Шпилька NAT - это форма двойного NAT, использующая как SNAT, так и DNAT. Он не может работать без SNAT. Ответы также должны быть преобразованы в NAT, что означает, что источник должен быть преобразован в NAT, чтобы получать ответы на шлюз.

1
ответ дан 4 December 2019 в 09:21

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.

-1
ответ дан 4 December 2019 в 09:21

Теги

Похожие вопросы