Допустим, мой WAN IP равен 123.456.789.0

Ранее, когда я подключался к 123.456.789.0:22 из локальной сети, мой трафик правильно достигал моей локальной сети, и служба работала нормально. Он также работал нормально, когда я подключился из глобальной сети.

Недавно я перешел на новый маршрутизатор TP-Link Archer C5 2.0. Этот маршрутизатор не имеет встроенного модема, как мой старый, поэтому добавлен дополнительный модем.

Теперь подключение из глобальной сети работает как обычно, но подключение из локальной сети не удается (невозможно установить подключение). Мой пример использования при подключении к моему WAN IP из локальной сети - это избегание смены сеансов из утилит SFTP, таких как WinSCP.

Я не проверял, может ли быть причиной этого наличие отдельного маршрутизатора и модема, поскольку проблема все еще сохраняется, когда я обхожу свой маршрутизатор и пытаюсь отправить трафик на свой собственный WAN IP без маршрутизатора в середине.

Я предполагаю, что любой из них является проблемой здесь:

  1. Существует некоторая внутренняя проблема с отправкой пакетов на ваш собственный IP (это кажется маловероятным), и мой старый маршрутизатор самостоятельно перенаправил такие пакеты, чего не делает новый маршрутизатор.
  2. Нет проблем с отправкой пакетов на ваш собственный IP через WAN, и мой старый маршрутизатор работал нормально, а новый - нет.

Есть ли какая-то опция конфигурации на моем роутере, которую мне не хватает?

1 ответ1

2

Короче говоря, вам не хватает параметра конфигурации "NAT loopback" (он же "NAT шпилька").


Существует некоторая внутренняя проблема с отправкой пакетов на ваш собственный IP (это кажется маловероятным), и мой старый маршрутизатор самостоятельно перенаправил такие пакеты, чего не делает новый маршрутизатор.

Да, есть. Но вы забываете, что "отправка пакетов на ваш собственный IP" не единственное , что происходит.

Ваш IP-адрес в глобальной сети не принадлежит сразу всей локальной сети - он принадлежит только вашему маршрутизатору , и другие устройства в вашей локальной сети даже не распознают этот адрес, если увидят его в заголовке пакета. Они распознают только свои собственные адреса локальной сети (например, типичный 192.168.xy).

Это означает, что соединения с IP-адресом WAN всегда идут к маршрутизатору, который затем должен переписать адрес назначения пакетов и повторно отправить обновленный пакет на конечное устройство. Естественно, для ответов от этого устройства требуется противоположная перезапись (т. Е. Изменение исходного адреса обратно с собственного IP-адреса устройства на WAN-IP маршрутизатора).

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

Некоторые маршрутизаторы имеют функцию "NAT loopback", которая переписывает и назначение, и источник таких пакетов. Недостатком является то, что ваш сервер будет видеть только IP-адрес маршрутизатора, а не фактический клиент. (Кроме того, производительность может быть ограничена процессором маршрутизатора.)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .