Подтвердить что ты не робот

Пересылка порта NETSH с локального порта на локальный порт не работает

Я пытаюсь использовать команду NETSH PORTPROXY для пересылки пакетов, отправленных на мой компьютер XP (IP 192.168.0.10) на порт 8001, на порт 80 (у меня есть сервер XAMPP Apache, прослушивающий порт 80).

Я опубликовал следующее:

netsh interface portproxy add v4tov4 listenport=8001 listenaddress=192.168.0.10 connectport=80 connectaddress=192.168.0.10

Показать все подтверждает, что все настроено правильно:

netsh interface portproxy show all

Listen on IPv4:             Connect to IPv4:

Address         Port        Address         Port
--------------- ----------  --------------- ----------
192.168.0.10    8001        192.168.0.10    80

Однако я не могу получить доступ к веб-сайту apache из http://localhost:8001. Я могу получить доступ через прямой порт в http://localhost, как показано ниже.

Кроме того, я также пробовал следующее: 1. Откройте сайт Apache с удаленного ПК, используя ссылку: http://192.168.0.10:8001. Брандмауэр выключен. 2. Измените listenaddress и connectaddress на 127.0.0.1.

Без дополнительной информации я не могу найти способ решить проблему. Есть ли способ отладки NETSH PORTPROXY?

enter image description here

Примечание. Кстати, если вам интересно, почему я это делаю, я действительно хочу сопоставить удаленные клиентские соединения MySQL с пользовательским портом на порт 3306 MySQL по умолчанию.

4b9b3361

Ответ 1

Мне удалось заставить это работать, выпуская:

netsh interface ipv6 install

Кроме того, для моей цели не требуется устанавливать адрес прослушивания, а лучше установить connectaddress = 127.0.0.1, например

netsh interface portproxy add v4tov4 listenport=8001 connectport=80 connectaddress=127.0.0.1

Ответ 2

У меня проблема с тобой. Я решил это сейчас. Существует Служба Windows с именем " IP-помощник", которая предоставляет соединения туннелей funcions. Вы должны убедиться, что он был запущен.

Ответ 3

  1. Сначала вы должны запустить Command.exe от имени администратора, щелкнув правой кнопкой мыши значок командной строки и выбрав "Запуск от имени администратора". Вас попросят подтвердить.

  2. Вставьте вашу команду netsh в окно command.exe и нажмите Enter.

  3. Если сообщение об ошибке не отображается, команда сработала.

  4. В вашем веб-браузере перейдите по http://your-up:8001 чтобы увидеть, как это работает.

Журнал событий Windows может содержать информацию, помогающую найти причину сбоя.

Ответ 4

Если прокси- netsh не работает должным образом, вам следует проверить следующее, предпочтительно в следующем порядке:

  1. Убедитесь, что прокси порта правильно настроен
  2. Запустите или перезапустите соответствующую службу Windows
  3. Убедитесь, что установлена поддержка IPv6
  4. Убедитесь, что порт не заблокирован брандмауэром

Убедитесь, что прокси порта правильно настроен

Это может показаться тривиальным, но на всякий случай потратьте время на проверку вашей конфигурации, прежде чем идти дальше.

В командной строке или в командной строке PowerShell выполните следующую команду:

netsh interface portproxy show all

Результат должен выглядеть примерно так:

Listen on ipv4:             Connect to ipv4:

Address         Port        Address         Port
--------------- ----------  --------------- ----------
24.12.12.24     3306        192.168.0.100   3306
24.12.12.24     8080        192.168.0.100   80

Внимательно просмотрите эти настройки. Убедитесь, что вы действительно можете подключиться к адресам в правой части этого списка, с локального компьютера. Например, можете ли вы локально открыть веб-браузер и достичь 192.168.0.100:80? Если протокол не HTTP, используйте telnet: telnet 192.168.0.100 3306 (см. Здесь, как установить клиент Telnet в Windows).

Тогда правильны ли значения на левой стороне? Действительный ли IP-адрес для вашей машины? Это тот номер порта, к которому вы пытаетесь подключиться с внешней машины?

Запустите или перезапустите соответствующую службу Windows

В последних версиях Windows прокси-сервер netsh обрабатывается службой Windows с именем "IP Helper" или "iphlpsvc". Прокси, очевидно, не будет работать, если эта служба остановлена. Я также столкнулся с ситуациями, которые оказались разрешены путем перезапуска этой службы.

Для этого в последних версиях Windows:

  1. Откройте диспетчер задач, затем перейдите на вкладку "Службы".
  2. В столбце "Имя" найдите службу с именем "iphlpsvc" или "IP Helper".
  3. Щелкните правой кнопкой мыши по этой службе и выберите "Перезапустить". Если перезапуск недоступен, возможно, служба остановлена и должна быть запущена, поэтому выберите Пуск.

В предыдущих версиях Windows найдите "Сервисы" в разделе "Администрирование" внутри панели управления.

Убедитесь, что установлена поддержка IPv6

Поддержка протокола IPv6 необходима для включения прокси-сервера netsh, в том числе для прокси IPv4-IPv4 (см. Статью поддержки Microsoft здесь).

В командной строке или в командной строке PowerShell выполните следующую команду:

netsh interface ipv6 install

Убедитесь, что порт не заблокирован брандмауэром

Локальный брандмауэр может заблокировать порт даже до того, как он достигнет службы IP Helper. Чтобы подтвердить эту гипотезу, временно отключите любой локальный брандмауэр (включая собственный брандмауэр Windows), затем повторите тестирование. Если это работает, просто добавьте исключение портов в конфигурацию вашего брандмауэра.