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

Windows 7 с перенаправлением внутреннего порта, это возможно?

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

Здесь, в офисе, они используют рабочие столы Linux, и я могу перенаправить localhost: 80 через iptables nat на localhost: 8080. Они хотят того же дома в Windows 7.

У меня есть два способа сделать это. Один для перенастройки веб-сервера jboss и всех URL-адресов веб-приложений (беспорядок). Другой - найти способ перенаправить / nat с порта localhost 8080 на порт 80. Хотя в Windows 7 я не уверен, как это сделать.

У кого-нибудь есть идеи, как сделать второй?

Да, у Windows есть эквивалент iptables, это делается с помощью инструмента netsh и интерфейс portproxy.

Команда делать то, что вы хотите, будет

netsh interface portproxy add v4tov4 listenaddress=YOUR_IP_HERE listenport=8080 connectaddress=YOUR_IP_HERE connectport=80 

Обратите внимание, что это будет делать только соединения IPv4, если вы также хотите перенаправить соединения IPv6, вам также нужно будет сделать

netsh interface portproxy add v6tov6 listenaddress=YOUR_IP_HERE listenport=8080 connectaddress=YOUR_IP_HERE connectport=80

AFAIK, Win7 не имеет эквивалента iptables. Написание сервера, который делает то, что вы хотите (слушает порт, копирует все в / из другого), должно быть достаточно простым. Вы можете найти его по этому URL-адресу: http://www.quantumg.net/portforward.php (непроверено). Использование обратного прокси-сервера (Google - ваш друг) может оправдать расходы на http-подобный трафик. Также проверьте этот пост: https://stackoverflow.com/questions/3721000/port-forwarding-on-windows-7

Я думаю, что в Windows нет эквивалента iptables. Команда

netsh interface portproxy ...

выполнять проксирование портов, но не пересылку пакетов. Основное отличие

  • Performace намного хуже, чем iptables (например, см. https://plus.google.com/+OlafMonien/posts/fsjUjropYeR)
  • исходный IP-адрес изменяется на localhost (127.0.0.1 или :: 1 зависит от версии IP), вы теряете исходный IP-адрес источника запроса.

Мы использовали эту технику для переадресации портов, но после этих открытий нам пришлось использовать дополнительные правила на сетевом брандмауэре, чтобы избежать использования netsh.