Как сделать проброс com порта

Добавил пользователь Валентин П.
Обновлено: 04.10.2024

Настраиваем проброс портов в Windows при помощи командной строки и Portproxy

Часто можно услышать совершенно неверное утверждение, что в части сетевых настроек операционные системы Windows значительно уступают своим конкурентам (Linux и BSD). Отчасти такие суждения опираются на опыт администрирования стандартных ролей полностью игнорируя возможности командной строки.

Начиная с Windows Server 2003 в состав системы был в введена команда Netsh, которая позволяет гибко управлять сетевыми настройками компьютера. Обзор всех возможностей этой утилиты займет не одну статью, поэтому мы остановимся на командах Netsh для интерфейса Portproxy, позволяющих непосредственно решить нашу задачу.

Данный набор команд позволяет перенаправлять приходящие пакеты с IPv4 и IPv6 портов на любые IPv4 и IPv6 порты компьютера назначения в любых комбинациях. Единственное ограничение - portproxy может работать только с протоколом TCP, но в большинстве случаев этого достаточно.

Для добавления перенаправления используется команда add v4tov4 (если требуется перенаправление с IPv4 в IPv6 используйте v4tov6 и т.д.), полный синтаксис будет такой:

  • listenaddress - локальный адрес на котором принимаются соединения
  • listenport - локальный порт на котором принимаются соединения
  • connectaddress - удаленный или локальный адрес на который перенаправляются соединения
  • connectport - удаленный или локальный порт на который перенаправляются соединения

Для изменения уже существующего правила используется команда set v4tov4, которая имеет идентичный синтаксис, listenaddress и listenport - являются обязательными параметрами. Из необязательных параметров можно указывать только тот, который нужно изменить.

Для удаления правил используйте delete v4tov6 с указанием входящих адреса и порта:

Для просмотра существующих правил введите:

Вместо all допустимо указывать v4tov4 или v6tov4 и т.п. для просмотра только соответствующих правил.

winsrv-portproxy-001.jpg

Для сброса всех существующих правил используйте:

Чтобы не быть голословными рассмотрим практический случай использования portproxy в одной довольно непростой ситуации.

У одного нашего клиента имеется две аффилированных (т.е. принадлежащих одному владельцу) организации, имеющие разный вид деятельности и между собой не взаимодействующие. Одна из них находится в городе и не испытывает проблем с внешними коммуникациями. Вторая в сельской местности где доступен только среднего качества интернет, а о выделенном IP-адресе не может быть и речи.

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

Кроме того, выяснилось, что обе сети имеют одинаковый диапазон IP-адресов, что делало маршрутизацию между ними в принципе крайне затруднительной. По условиям задачи требовалось обеспечить доступ к RDP (порт 3389) сервера SRV-2-1 и SSH (порт 22) сервера SRV-2-2 второй организации, для этого выделялся сервер SRV-1-1 первой компании, при этом, как можно увидеть из схемы ниже, сервера обоих компаний также имеют одинаковые внутренние адреса.

winsrv-portproxy-002.jpg

Между серверами был поднят VPN-туннель, и они видят друг друга по адресам VPN-сети (10.8.0.0), а дальше на выручку приходит portproxy. Так как порты 3389 и 22 соответствующие нужным службам уже использовались для целей администрирования первой компании, то мы выбрали для служб второй компании внешние порты 3390 и 22222, которые были проброшены с внешнего интерфейса роутера первой компании на сервер SRV-1-1 штатным образом.

Первое правило отправит все пакеты пришедшие на порт 3390 с адресом 192.168.0.200 (внутренний адрес SRV-1-1) в VPN-туннель серверу SRV-2-1, а так как он уже является целевым для службы RDP, то сразу меняем порт назначения на 3389. Первая часть задачи выполнена.

Второе правило отправит к SRV-2-1 все пакеты с порта 22222 (SSH), теперь нам надо научить этот сервер как правильно доставить их адресату. Для этого добавим уже этому серверу следующее правило:

Согласно которому сервер SRV-2-1 в сети второй компании будет слушать порт 22222 на интерфейсе VPN-сети и передавать все полученные пакеты на порт 22 (SSH) сервера SRV-2-2.

Как видим мы весьма просто реализовали довольно сложную схему, так пакет к серверу SRV-2-2 проходит три промежуточных узла, но при этом мы не настраивали никакой маршрутизации и не устанавливали никакого дополнительного ПО и вообще обошлись минимальным вмешательством в инфраструктуру.

image

Порты позволяют сетевым и подключенным к интернету устройствам взаимодействовать через указанные каналы. Хотя серверы с назначенными IP адресами могут подключаться к интернету напрямую и делать порты публично доступными, система, находящаяся за роутером в локальной сети, может оказаться недоступной из интернета. Технология проброса портов (port forwarding) позволяет преодолеть это ограничение и сделать устройства доступными публично.

Сетевые сервисы и приложения, запущенные на различных устройствах, используют порты с определенными номерами с целью инициации соединений и организации коммуникаций. Разные порты могут использоваться одновременно для разделения типов трафика и запросов. Обычно порты ассоциируются с определенными службами, чтобы клиент мог подключиться к серверу по определенному порту, а сервер принять соединение и ответить соответствующим образом.

Ниже представлены наиболее распространенные порты:

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

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

Шаг 1. Выяснение IP адреса роутера

В Линуксе та же самая задача решается при помощи утилиты netstat. Откройте терминал и введите следующую команду для выяснения IP адреса подключенного роутера.

В macOS используется та же самая команда:

Шаг 2. Доступ к конфигурационной панели роутера

После выяснения локального IP адреса роутера вы можете получить доступ к конфигурационной панели, если введете адрес в браузере, как и в случае с обычным URL (у некоторых роутеров, например, предусмотрено мобильное приложение, и задача упрощается).


Рисунок 2: Форма авторизации конфигурационной панели роутера

После загрузки панели управления необходимо выполнить авторизацию. Имя пользователя и пароль могут быть установлены производителем или интернет-провайдером или вами. Эту информацию можно найти в документации на роутер или на корпусе.


Рисунок 3: Раздел с настройкой проброса портов

Шаг 3. Настройка правил проброса портов

Для демонстрации правил проброса портов рассмотрим простейший случай, когда у пользователя есть устройство Raspberry Pi, подключенное домашнему сетевому роутеру. На Pi запущена служба SSH, позволяющая залогиниться на устройстве при наличии корректного имени пользователя и пароля. Текущий IP адрес устройства Raspberry Pi - 192.168.0.105.

Диапазон параметра Public Port (иногда именуемого как Source Port) установлен от 22 до 22 (стандартный порт протокола SSH). Этот порт роутер сделает доступным через интернет. Через этот же порт пользователь будет подключаться к Raspberry Pi.

Параметр Private Port (иногда именуемый как Destination Port) установлен как 22, поскольку демон SSH на устройстве Pi работает на 22 порту.

Параметр Traffic Type установлен как TCP, поскольку по протоколу SSH передается TCP трафик.

Параметр IP Address соответствует IP адресу устройства Pi в локальной сети (192.168.0.105).

Наконец, слева от правила отмечен флажок, чтобы правило стало активным.

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


Рисунок 4: Настройки правила проброса портов для авторизации через протокол SSH

Вышеуказанное правило означает, что пользователь может подключаться по IP адресу роутера по протоколу SSH через интернет и впоследствии будет перенаправлен на сервер устройства Raspberry Pi. Эту схему можно использовать для создания веб-сервера, работающего на 80 порту, или, например, для прикрепления сервера видеоигр к указанному порту. Учитывайте, что у некоторых провайдеров есть правила, касательно хостинга и другого контента, которые нужно учитывать перед тем, как сделать доступным сервер из локальной сети.

Шаг 4. Защита от сканирования портов и атак

Одна из проблем, возникающая во время открытия портов в интернете при помощи проброса – порты становятся доступными для сканирования. Злоумышленники в интернете могут использовать автоматизированные средства для сканирования диапазонов IP адресов или утилиты навроде Shodan для поиска потенциально уязвимых устройств с определенными активными портами. Порты протокола SSH являются основной целью, поскольку дают доступ к шеллу, при помощи которого можно украсть данные или установить вредоносное приложение.

В случае проброса портов для защиты от сканирования может оказаться полезным поменять публичный или исходный порт в настройках роутера. Вместо распространенного порта 22, на который настроены все сканеры, можно указать нестандартный порт (например, 9022).


Рисунок 5: Настройка SSH на нестандартный порт

После смены порта клиент при подключении к устройствам через SSH из интернета должен будет указать порт 9022. Попытка подключиться к порту 22 извне окажется неудачной, поскольку проброс будет идти от порта 9022, а не от порта 22.

Вы также можете использовать сервис типа Fail2ban (фреймворк для защиты от внешний вторжений), предназначенного для защиты сети от атак с использованием брутфорса, после того как злоумышленник найдет активный порт. Утилиты навроде Fail2ban ограничивают количество попыток авторизации, выполняемых из внешней сети.

Проброс портов в Линуксе на системном уровне

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

Схожим образом, что и порт роутера связывается с указанным портом устройства внутри локальной сети, один порт можно связать с другим для упрощения использования. Например, при установке ханипота Cowrie демон SSH перемещается от порта 22 на порт 9022. Затем порт 2222, где работает ханипот, перенаправляется на порт 22, который будет доступен в интернете и, как следствие, с высокой степенью вероятности просканирован и атакован.

Для конфигурирования локального проброса портов в Линуксе вначале нужно выполнить следующую команду с целью установки в параметр ip_forward значения 1 (в этом случае проброс портов активируется на уровне операционной системы):

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

Наконец, для включения локального проброса портов, можно воспользоваться iptables. Команда ниже перенаправляет запросы с порта 22 на порт 2222, где эти запросы обрабатывает ханипот.

Другие сферы, где используется проброс портов

Перенаправление портов может использоваться и в других задачах. Например, порт 8080 может быть перенаправлен на порт 80 с целью облегчения доступа к тестовому серверу, или могут быть добавлены новые порты для использования определенной службой. Проброс портов полезен для удаленного доступа, администрирования сервера, конфигурирования сети и даже во время пост-эксплуатации и пивотинга. Понимание этой технологии может быть ключом к бесчисленному множеству других проектов по безопасности.

В нашем телеграм канале мы рассказываем о главных новостях из мира IT, актуальных угрозах и событиях, которые оказывают влияние на обороноспособность стран, бизнес глобальных корпораций и безопасность пользователей по всему миру. Узнай первым как выжить в цифровом кошмаре!



Часовой пояс: UTC + 3 часа

Проброс COM-порта через LAN/интернет

А есть-ли в радиолюбительсной практике самодельные устройства позволяющие пробросить COM-порт по локальной сети или через интернет?
Может аппаратная доработка маршрутизатора или что-то на PIC'ах.

Не знаю то ли имелл виду топикстартер, но меня интересует можно ли удалённо использовать COM порт. Вот есть два компа соединенных по LAN. На первом есть com порт а на втором неу. Как со второго до первого достучатся? Например из проги(удалённый рабочий стол не катит) для прошивки. Программатор стоит на первой машине а софт на второй

_________________
There is only 10 kind of people: those who understands binary code and those who dont.

JLCPCB, всего $2 за прототип печатной платы! Цвет - любой!

Только писать свой драйвер виртуального ком-порта. + на другом конце ваять серверную часть (в простейшем виде - нечто вроде телнет-сервера).

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Как правило при любом решении будут работать только символьные потоки данных, про программаторы и любые другие времязависимые приложения можно забыть.
Оба решения годятся для управления телекоммуникационным оборудованием, подключения модемов, контроль и диагностика пром оборудования, подключения торгово-кассового оборудования. Есть опыт применения.

_________________
__________________
Все, что нельзя запрограммировать на ассемблере, приходится паять

Необходим быстродействующий преобразователь питания средней мощности с высоким КПД? Он должен быть компактным и недорогим? Решение – карбид-кремниевые модули средней мощности WolfPACK производства Wolfspeed. В статье рассмотрены основные особенности модулей WolfPACK и показано, что переход на эту универсальную и масштабируемую платформу позволяет не только быстро разработать новые устройства, но и без значительных затрат времени и средств модернизировать уже существующие схемы на традиционной элементной базе.

Про программаторы конечно, может и отдельный разговор надо начинать, но насколько я понял - все программаторы, сделанные на МК и подключающиеся через COM порт, получают байты команд. А все время зависимые операции с дёрганьем пинов выплняют сами. Уточнение - речь не идёт о программаторах, работающих в режиме bitbang

_________________
There is only 10 kind of people: those who understands binary code and those who dont.

Критически важные распределенные системы требуют синхронного преобразования во всех подсистемах и непрерывного потока данных. Распределенные системы сбора данных могут быть синхронизированы как на основе АЦП последовательного приближения, так и на основе сигма-дельта (∑-Δ)-АЦП. Новый подход, основанный на преобразователе частоты дискретизации (SRC), содержащемся в микросхемах линейки AD7770 производства Analog Devices, позволяет достигать синхронизации в системах на основе сигма-дельта-АЦП без прерывания потока данных.

Алгоритм работы удаленных COM портов следующий (по крайней мере всех что прошли черрез мои руки):
- на одной стороне получаются данные до заполнения входного буфера 64/128/. 512 байт или по достижению таймаута 10/20. 500 миллисекунд (зависит от скорости порта)
- потом данные передаются пакетом на другую сторону и уже выходят с разьема со скоростью порта.
аналогично в обратную сторону.

Есть вариации , например один из вариантов дополнительно отправлял пакет при получении символа возврат каретки. Сильно ускоряло работу в терминале. Передаются все символы от 0х00 до 0хFF без искажений. Если программатору это будет достаточно - то работать будет.

_________________
__________________
Все, что нельзя запрограммировать на ассемблере, приходится паять

Проброс портов на роутере для RDP. Удаленный доступ через интернет

Zip File, мои маленькие любители сисадминства. В данном уроке мы поговорим о том, как быстро, а главное совершенно бесплатно организовать удалённый доступ через интернет к рабочим компьютерам для сотрудников вашей организации. Идею для записи ролика мне подал комментарий одного из подписчиков.

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

Признаться, я даже не думал, что у моих зрителей могут возникать подобные проблемы. Однако, проведя небольшой опрос среди членов нашей закрытой академии, я ужаснулся. После появления всем известных проблем с TeamViewer’ом, часть админов по сей день так и не удосужилась решить вопрос с удалёнкой.

Некоторые, стыдясь продемонстрировать свою некомпетентность начальству, вообще встают в позу, заявляя, что это можно реализовать только посредством серьёзных вложений. Руководители в свою очередь тайком заставляют несчастных бухов таскаться на работу в эпоху тотального карантина.

В такой ситуации у меня возникает только один вопрос. Вы о**ели? Вам рили не стрёмно? Если не знаете, так спросите. Вы блин не на школьном уроке. Как там вещали великие умы, спросить – стыд минуту, а не знать – стыд всей жизни. Кажется так.

Не суть. Смысл в том, что по вашей вине могут реально пострадать люди. Поэтому, давайте не будем тупыми админами и научимся уже наконец в 2020 году пробрасывать порты и настраивать удалённый доступ по RDPшке.

Без вариантов. В 2020 году это то, что должно быть у вас в офисе, если вы планируете батрачить по удаленке. Забудьте уже про кастыли dyn-dns и no-ip. 150 рублей на айпишник, это не та сумма, которую стоит жидить на такое благое дело.

Если у вас ещё до сих пор на работе динамик, то прямо сегодня подойдите к начальнику и скажите, Ихтиандр Феодосьевич, *баный в рот, вот дальше просто никак без этого. Либо тряситесь, ожидая штрафа, либо звоните провайдеру и подключайте. А я ухожу из этого гадюшника.

Шутка. Далее обязательно проверьте, чтобы за компами, к которым будут пробрасываться порты были зарезервированы стабильные IP-адреса. Как вы это сделаете, грамотно настроите на сервере службу DHCP или тупо пропишите руками статику, решайте сами.

Ладненько, чёт я подзатянул со вступлением. Давайте уже переходить к настройке, а с остальными нюансами разберёмся по ходу дела. Погнали.

Проброс портов на роутере Ростелеком

Шаг 1. Первым делом вызываем таксу, едем в офис и усевшись за свой компик топаем в Яндекс. Пишем мой IP и выясняем, какой внейшний адрес закрепил за вами провайдер. Фиксируем в заметках.

probros portov dlya rpd 1

Шаг 2. Затем пишем в адресной строке адрес роутера и введя учётные данные ломимся на него.

probros portov dlya rpd 2

Они по факту свободны для админов и разработчиков. Все что до - зарезервированы за различными службами. В строчке Порт LANпрописываем 3389. Это стандартный порт, который по умолчанию закреплён за RDP. IP-адрес указываем тот, что зарезервирован за тачкой буха. Применить.

probros portov dlya rpd 3

Настройка клиента Windows 10 для RDP

probros portov dlya rpd 4

probros portov dlya rpd 5

Шаг 6. Настройка перехода в спящий режим.

probros portov dlya rpd 6

probros portov dlya rpd 7

probros portov dlya rpd 8

Шаг 9. Тут есть нюанс. У пользователя обязательно должен быть установлен пароль. Иначе подключение не заведётся. Если в вашей сети поднят домен, то тут проблем нет. Ну а там, где господствует одноранг, лучше убедиться, что пароль есть. Открываем управление компьютером и открыв вкладку с локальными пользователями задаёт пассворд.

probros portov dlya rpd 9

Настройка домашнего ПК для работы по RDP

probros portov dlya rpd 10

probros portov dlya rpd 11

probros portov dlya rpd 12

probros portov dlya rpd 13

Шаг 14. И подождав некоторое время вижу экран удалённой машины.

probros portov dlya rpd 14

probros portov dlya rpd 15

probros portov dlya rpd 16

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

На этом сегодня всё. Для тех, кому необходимо настроить не просто удалённый рабочий стол, а полноценное VPN соединение с возможностью сделать домашний компьютер частью рабочей сети, тут будет ссылка на соответствующий ролик по теме.

Если желаете научиться грамотно администрировать полноценную доменную сеть на базе Windows Server 2016, то обязательно ознакомьтесь с моим обучающим курсом. В нём я рассматриваю базовые сетевые службы вдоль и поперёк.

>>>КЛИКНИТЕ, ЧТОБЫ УЗНАТЬ ПОДРОБНОСТИ

Не забывайте писать свои комментарии с вопросами и предложениями новых тем. Если впервые оказались на канале, то кликните колокольчик. Нажмёте и в вашей ленте будут регулярно появляться полезные ролики по теме администрирования ЛВС, информационной безопасности и пентестингу.

Друзья, благодарю за просмотр. Всем удачи, успехов, отличного настроения. Берегите себя. Работайте удалённо и не нарушайте условий самоизоляции. Лучше останьтесь дома и посмотрите ютубчик. Всяко полезней, чем рисковать жизнью. До новых встреч.

date

28.08.2020

user

itpro

directory

Windows 10, Windows Server 2016

comments

комментария 62

В Linux перенаправление портов настраивается довольно просто с помощью iptables. На серверных системах Windows Server для настройки перенаправления портов, как правило используется служба маршрутизации и удаленного доступа (RRAS). Однако есть более простой способ настройки проброса портов, который одинаково хорошо работает в любой версии Windows.

Как включить перенаправления портов в Windows 10 с помощью netsh portproxy?

Настройка перенаправления портов в Windows выполняется из командой строки через режим Portproxy команды Netsh. Синтаксис команды следующий:
netsh interface portproxy add v4tov4 listenaddress=localaddress listenport=localport connectaddress=destaddress connectport=destport
где,

С помощью опций netsh interface portproxy add v4tov6 / v6tov4 / v6tov6 можно создавать правила порт форвардинга между IPv4 и IPv6 адресами.

Примечание. Обратите внимание, что номер локального порта, который вы указали в listenport не должен быть занят (слушаться) другой службой. Проверьте, что номер порта свободен командой:

netstat -na|find "3340"

Либо вы можете проверить что порт не слушается локально с помощью PowerShell командлета Test-NetConnection:

Test-NetConnection -ComputerName localhost -Port 3340

проверка доступности локального порта в windows

netsh interface portproxy - правило перенаправления портов Windows

Чтобы создать правило перенаправления порта, запустите командную строку с правами администратора и выполните команду:
netsh interface portproxy add v4tov4 listenport=3340 listenaddress=10.10.1.110 connectport=3389 connectaddress=10.10.1.110

Где 10.10.1.110 – текущий IP адрес данного компьютера

netstat ano findstr

Теперь с помощью утилиты netstat проверьте, что в Windows теперь слушается локальный порт 3340:
netstat -ano | findstr :3340

Примечание. Если эта команда ничего не возвращает и перенаправление портов через netsh interface portproxy не работает, убедитесь что у вас в системе включена служба iphlpsvc (IP Helper / Вспомогательная служба IP).

служба iphlpsvc (IP Helper / Вспомогательная служба IP)

А на сетевом интерфейсе, для которого создается правило перенаправления портов должна быть включена поддержка IPv6.

IPv6 включен на сетевом интерфейсе

Это обязательные условия для корректной работы порт-форвардинга. Без службы IP Helper и без включенной поддержки IPv6 механизм перенаправления не работает.

В Windows Server 2003 / XP для работы перенаправления дополнительно нужно включить параметр реестра IPEnableRouter = 1 в ветке HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Tcpip\Parameters.

tasklist findstr pid

Вы можете определить процесс, который слушает указанный локальный порт с помощью его PID (в нашем примере PID – 636):
tasklist | findstr 636

Теперь попробуем подключиться на данный порт с удаленного компьютера при помощи любого RDP клиента. В качестве rdp-порта нужно указать 3340 (номер порта указывается после двоеточия после адреса rdp-сервера), например, 10.10.1.110:3340

RDP подключение на другой порт

RDP подключение должно успешно установиться.

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

Это правило перенаправит весь входящий RDP трафик (с локального порта TCP 3389) с этого компьютера на удаленный компьютер с IP-адресом 192.168.1.100.

Так же для проброса локального порта на удаленный сервер в Windows можно использовать технику SSH туннелей.

Управление правилами проброса портов в Windows

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

netsh advfirewall firewall add rule name=”RDP_3340” protocol=TCP dir=in localip=10.10.1.110 localport=3340 action=allow
Или с помощью командлета PowerShell New-NetFirewallRule:
New-NetFirewallRule -DisplayName "RDP_3340" -Direction Inbound -Protocol TCP –LocalPort 3340 -Action Allow

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

Можно создать любое количество правил перенаправления локальных портов Windows. Все правила netsh interface portproxy являются постоянными и сохраняются в системе после перезагрузки Windows.

Несколько раз сталкивался со случаями, когда в Windows Server 2012 R2 правила перенаправления портов сбрасывались после перезагрузки сервера. В этом случае рекомендуется проверить нет ли периодических отключений на сетевом интерфейсе, и не меняется ли IP адрес при загрузке ОС (лучше использоваться статический IP, вместо динамического DHCP). В качестве обходного решения пришлось добавить в планировщик Windows скрипт с правилами netsh interface portproxy , который создает правило перенаправления порта при загрузке операционной системы.

Чтобы вывести на экран список всех активных правил перенаправления TCP портов в Windows, выполните команду:

netsh interface portproxy show all
В нашем случае присутствует только одно правило форвардинга с локального порта 3340 на 3389:

Совет. Также настройки перенаправления портов в режиме portproxy можно вывести так:
netsh interface portproxy dump

Конфигурация перенаправления портов Windows

Дамп всех правил portproxy


Чтобы удалить определенное правило перенаправления порта, выполните:
netsh interface portproxy delete v4tov4 listenport=3340 listenaddress=10.10.1.110

Удалить правило перенаправления портов

Чтобы удалить все имеющиеся правила перенаправления и полностью очистить таблицу с правилами порт-форвардинга:
netsh interface portproxy reset

Для настройки перенаправления UDP трафика можно использовать Windows Server с ролью RRAS и NAT. Вы можете настроить перенаправление портов между интерфейсами компьютера с помощью графической оснастки (rrasmgmt.msc) или командой:

netsh routing ip nat add portmapping Ethernet udp 0.0.0.0 53 192.168.1.54 53

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

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

Перенаправление портов также можно использовать, чтобы пробросить порт с внешнего IP адреса сетевой карты на порт виртуальной машины, запущенной на этом же компьютере. В Hyper-V такой проброс порта можно настроить на виртуальном коммутатор (см. ниже).

Windows не умеет пробрасывать диапазон TCP портов. Если вам нужно пробросить несколько портов, придется вручную создавать несколько правил перенаправления. Проще всего сформировать список команд netsh interface portproxy add с разными портами в блокноте и затем вставить в командную строку для выполнения.

Настройка перенаправления портов в Hyper-V Server

Сначала нужно создать виртуальный коммутатор с NAT:

New-VMSwitch -Name "NAT" -SwitchType NAT -NATSubnetAddress 192.168.0.0/24

Затем нужно подключить нужную ВМ в указанный коммутатор и включить правило трансляции адресов для всех виртуальных машин, подключенных через данный виртуальный коммутатор Hyper-V:

New-NetNat -Name Web_NAT -InternalIPInterfaceAddressPrefix 192.168.0.0/24
Add-NetNatStaticMapping -ExternalIPAddress "0.0.0.0/24" -ExternalPort 443 -Protocol TCP -InternalIPAddress "192.168.0.2" -InternalPort 443 -NatName Web_NAT

Читайте также: