Я получил запрос от одного из наших разработчиков, который мне не удается решить.
Здесь, в офисе, они используют рабочие столы 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 ...
выполнять проксирование портов, но не пересылку пакетов. Основное отличие
Мы использовали эту технику для переадресации портов, но после этих открытий нам пришлось использовать дополнительные правила на сетевом брандмауэре, чтобы избежать использования netsh.