Russian English German Ukrainian

Компьютерная помощь

(066) 72-00-654     (098) 44-74-068

г. Днепр

ж/м Левобережный-3

Windows: настройка порт форвардинга

В ОС Windows, начиная с Windows XP, существует встроенная возможность установки перенаправления сетевых портов (порт форвардинга). Благодаря этой возможности входящее TCP соединение на любой порт можно перенаправить на другой порт или даже на другой компьютер.

Функционал настройки порт-форвардинга в Windows реализуется через режим Portproxy команды Netsh. Синтаксис команды следующий:

netsh interface portproxy add v4tov4 listenaddress=localaddress listenport=localport connectaddress=destaddress connectport=destport

где,
listenaddress – локальный адрес, на котором будет ожидаться соединение
listenport – локальный порт, который должен слушаться (на него ожидается соединение)
connectaddress – ip-адрес / dns-имя, на который будет перенаправляться соединение
connectport – TPC порт, на который перенаправляется соединение с порта listenport

Допустим наша задача, заставить службу RDP отвечать на нестандартный порт, например 3340. Запускаем командную строку с правами администратора и выполняем:

netsh interface portproxy add v4tov4 listenport=3340 listenaddress=10.10.1.110 connectport=3389 connectaddress=10.10.1.110

С помощью netstat проверим, что на компьютере стал прослушиваться порт 3340:

netstat -ano | findstr :3340

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

netsh advfirewall firewall add rule name=”RDP_3340” protocol=TCP dir=in localip=10.10.1.110 localport=3340 action=allow

Выведем на экран список всех правил перенаправления в системе:

netsh interface portproxy show all

Чтобы удалить определенное правило перенаправления:

netsh interface portproxy delete v4tov4 listenport=3340 listenaddress=10.10.1.110

Чтобы очистить все имеющиеся правила перенаправления:

netsh interface portproxy reset

Важно. Такая схема перенаправления работает только для TCP портов, UDP порты перенаправить не удастся. Также нельзя использовать в качестве connectaddress адрес 127.0.0.1

Если нужно перенаправить входящее TCP соединение на другой компьютер, команда может выглядеть так:

netsh interface portproxy add v4tov4 listenport=3389 listenaddress=0.0.0.0 connectport=3389 connectaddress=192.168.1.100

Это правило перенаправит все входящие RDP запросы на ip-адрес 192.168.1.100

Еще одной неявной фичей portproxy является возможность создать видимость локальной работы любого удаленного сетевого сервиса.

Например, создадим такое перенаправление с локального порта 8888 на удаленный адрес 213.180.204.3:

netsh interface portproxy add v4tov4 listenport=8888 connectport=80 connectaddress= 213.180.204.3 protocol=tcp

Теперь, если в браузере перейди по адресу http://localhost:8888/, откроется стартовая страница Yandex. Т.е. несмотря на то, что браузер обращается к локальному компьютеру, в нем открывается удаленная страница. Перенаправление портов также можно использовать, чтобы пробросить порт с внешнего адреса сетевой карты на порт виртуальной машины, запущенной на этом же компьютере.

  • Сборка ПК для дома и офиса

  • Бесплатная диагностика

  • Гарантия

  • Самые низкие цены