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

Могу ли я настроить переадресацию портов для имитации не только порта, но и другого IP-адреса?

Я запускаю проприетарное приложение Windows, которое работает как сервер. Вы устанавливаете программу, а затем она транслирует себя через порт 13083. Программа является веб-интерфейсом, поэтому доступ к ней осуществляется полностью через браузер.

(IP-адрес моего компьютера в локальной сети - 192.168.1.133.)

Моя теория заключается в том, что это проприетарное приложение Windows смотрит на запрос хоста и реагирует только в том случае, если оно видит либо «localhost», либо «127.0.0.1». Это прискорбно, потому что я действительно хотел бы получить доступ к той же программе с другого компьютера в локальной сети без необходимости устанавливать программу дважды. Но так как я должен введите 192.168.1.133 на втором компьютере, чтобы добраться туда, мне интересно, есть ли какое-то волшебство, которое можно сделать, чтобы сделать этот запрос выглядит как он просит о другом.

Мой вопрос: Есть ли способ настроить мой маршрутизатор так, чтобы запросы с другого компьютера в локальной сети на адрес 192.168.1.133 создавали впечатление, будто они пытаются получить доступ к 127.0.0.1? Или это практически невозможно? Я вроде как думаю, что это будет невозможно, но все же думал, что спрошу.

Это не проблема вашего роутера. Эта программа слушает 127.0.0.1. Даже если ваш маршрутизатор подделывает IP-адрес 127.0.0.1, ваша система будет отбрасывать пакеты в целях безопасности, поскольку 127 является зарезервированным сегментом частного адреса для локального хоста.

Я предлагаю либо изменить настройку программы, либо установить локальный прокси-сервер пересылки портов, прослушивающий 192.169.1.133, чтобы перенаправлять весь трафик на 127.0.0.1.

Вы можете использовать «socat».

У программы есть файл конфигурации? Где-то в настройках конфигурации должны быть адрес прослушивания и порт. IP-адрес необходимо изменить, чтобы прослушивать IP-адрес хост-системы, а не адрес localhost или 127.0.0.1, поскольку они ограничены локальным доступом, если они установлены.

С названием программы смогу помочь поподробнее.

Ура.

Какое поведение проявляется, когда он не загружается - в соединении отказано, тайм-аут соединения или страница 403 запрещена? Если это один из первых двух, вполне вероятно, что здесь серверное программное обеспечение настраивает прослушивающий сокет, который привязан конкретно к localhost (127.0.0.1). Вы можете проверить, запустив netstat:

C:\>netstat -na

Active Connections

  Proto  Local Address          Foreign Address        State
  TCP    0.0.0.0:445            0.0.0.0:0              LISTENING
  TCP    127.0.0.1:5152         0.0.0.0:0              LISTENING

Здесь некоторый сервер, прослушивающий порт 5152, принимает соединения только с адресом обратной связи (localhost), где сервер на порту 445 будет прослушивать все сетевые адаптеры на этом компьютере. Большинство пакетов позволяют каким-либо образом настроить адрес прослушивания; те, которые по умолчанию используют только localhost, как правило, делают это, чтобы убедиться, что вы прочитали файл конфигурации (и, надеюсь, документацию), часто, поскольку есть другие вещи, которые нужно настроить для правильного использования программного обеспечения.