Назад | Перейти на главную страницу

Почему я не могу перенаправить TCP-порты на этом беспроводном маршрутизаторе?

Я настраиваю маршрутизатор для перенаправления TCP-порта 5900 (да, это для VNC) на определенный IP-адрес в сети. Вот что у меня есть:

С локального компьютера в той же сети я могу telnet на 192.168.1.64 (порт 5900) нормально. тем не мение, при попытке telnet к машине (порт 5900), используя ее внешний IP-адрес, он не работает. (Время ожидания соединения истекло.)

Маршрутизатор - Gigaset SE567, если это поможет.

Вы столкнулись с непростой проблемой NAT. Проблема в следующем:

  1. Ваш клиент открывает соединение с [externalIP]: 5900
  2. Ваш шлюз преобразует целевой адрес в [InternalIP]: 5900
  3. Ваш сервер на [internalIP] видит соединение от [InternalIP-2] и отправляет ACK на [InternalIP-2]
  4. Ваш клиент видит ACK от [InternalIP-2], а не от [externalIP], как ожидалось, и отбрасывает его. Соединение никогда не устанавливается.

Шлюз должен быть достаточно умным, чтобы переводить внутренние исходные адреса самому себе, чтобы он мог обрабатывать правильные переводы. Потребительские маршрутизаторы обычно не поддерживают эту операцию. Обычный метод - просто использовать внутренний IP-адрес при внутреннем подключении или использовать конфигурацию раздельного DNS.