Как пробросить порты на компьютере

Обновлено: 05.07.2024

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

Зачем нужно открывать порты?

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

Проверка порта

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

Чтобы проверить порт, используя специальную команду вам понадобится:

Список открытых портов

Перед вами отобразится список открытых на данный момент портов.

Открытие порта в фаерволе

Чтобы настроить порты используя встроенный в систему брандмауэр, потребуется установить правила подключений. Осуществить это можно проделав следующие операции:

В большинстве случаев требуется создать 2 правила – одно для входящих и второе для исходящих соединений.

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

Правило для исходящего

  1. Далее возвращаемся на главную страницу и выбираем вариант«Правила для исходящего подключения» и опять нажимаем «Создать правило». Создаем его таким же образом, как было описано ранее, для входящих подключений.

Настройки маршрутизатора

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

  1. Открыть обозреватель и ввести IP адрес вашего роутера.

Обычно это 192.168.1.1 или 192.168.0.1 (точный адрес маршрутизатора можно найти не его панели или в инструкции).

По окончании настройки роутер нужно перезагрузить, после чего порты станут доступны.


Данная операция может производится разными способами, в зависимости от модели маршрутизатора.

Открытие порта в антивирусе

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

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

date

28.08.2020

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

Проброс портов и настройка роутера для внешнего доступа

Любительский

Аватар пользователя

Содержание

Содержание

Домашний роутер обычно не дает возможности добраться из внешнего Интернета до компьютеров во внутренней сети. Это правильно — хакерские атаки рассчитаны на известные уязвимости компьютера, так что роутер является дополнительным препятствием. Однако бывают случаи, когда доступ к роутеру и его локальным ресурсам из «внешнего мира» становится необходим. О том, в каких случаях бывает нужен доступ извне, и как его безопасно настроить — эта статья.

Зачем открывать доступ извне?

Доступ «снаружи» нужен не только в экзотических случаях вроде открытия игрового сервера или запуска сайта на домашнем компьютере. Гораздо чаще приходится «открывать порт» для многопользовательской игры, а это — как раз предоставление внешнему пользователю (серверу игры) доступа к внутренней сети (порт компьютера). Если необходимо удаленно подключиться и настроить компьютер или роутер, скачать файл-другой из домашней сети, находясь в командировке, или посмотреть видео с подключенных к домашней сети IP-камер — нужно настроить доступ.

Цвета и формы IP-адресов

Прежде чем разбираться, как открыть доступ к своим ресурсам, следует понять, как вообще происходит соединение в сети Интернет. В качестве простой аналогии можно сравнить IP-адрес с почтовым адресом. Вы можете послать письмо на определенный адрес, задать в нем какой-то вопрос и вам придет ответ на обратный адрес. Так работает браузер, так вы посещаете те или иные сайты.

Но люди общаются словами, а компьютеры привыкли к цифрам. Поэтому любой запрос к сайту сначала обрабатывается DNS-сервером, который выдает настоящий IP-адрес.


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

Обычно провайдер выдает белый динамический адрес — какой-нибудь из незанятых. Это похоже на ежедневный заезд в гостиницу, когда номер вам выдается случайно. Здесь с письмом будут проблемы: получить его можете вы или другой постоялец — гарантий нет. В таком случае выручит DDNS — динамический DNS.

Самый печальный, но весьма распространенный в последнее время вариант — серый динамический адрес: вы живете в общежитии и делите один-единственный почтовый адрес с еще сотней (а то и тысячей) жильцов. Сами вы письма писать еще можете, и до адресата они дойдут. А вот письмо, написанное на ваш почтовый адрес, попадет коменданту общежития (провайдеру), и, скорее всего, не пойдет дальше мусорной корзины.


Сам по себе «серый» адрес проблемой не является — в конце концов, у всех подключенных к вашему роутеру устройств адрес именно что «серый» — и это не мешает им пользоваться Интернетом. Проблема в том, что когда вам нужно чуть больше, чем просто доступ к Интернету, то настройки своего роутера вы поменять можете, а вот настройки роутера провайдера — нет. В случае с серым динамическим адресом спасет только VPN.

Кто я, где я, какого я цвета?

С терминологией разобрались, осталось понять, какой именно адрес у вас. У большинства провайдеров фиксированный адрес стоит денег, так что если у вас не подключена услуга «статический IP-адрес», то он наверняка динамический. А вот белый он или серый гусь — это нужно проверить. Для начала надо узнать внешний IP-адрес роутера в его веб-интерфейсе и сравнить с тем адресом, под которым вас «видят» в Интернете.

В админ-панели роутера свой IP можно найти на вкладках «Информация о системе», «Статистика», «Карта сети», «Состояние» и т. п. Где-то там нужно искать WAN IP.


Если адрес начинается с «10.», или с «192.168.», то он определенно «серый» — большинство способов открытия доступа работать не будет и остается только VPN.



Если адрес, показанный на сайте, совпадает с тем, что вы увидели в веб-интерфейсе, то у вас честный «белый» адрес и доступ из «большого мира» не вызовет особых затруднений — остается только настроить «пробросы» на роутере и подключить DDNS.

Что такое порты и зачем их бросать?

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

Необходимость «проброса» портов обычно возникает при желании сыграть по сети в какую-нибудь игру с компьютера, подключенного к роутеру. Впрочем, это не единственная причина — «проброс» потребуется при любой необходимости получить «извне» доступ к какому-нибудь конкретному устройству в вашей локальной сети.

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


Игровые порты: что, куда бросаем?

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

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

Например, чтобы сыграть по сети в «Destiny 2», нужно пробросить UDP-порт 3074 до вашей «плойки», или UDP-порт 1200 на Xbox. А вот до ПК потребуется пробросить уже два UDP-порта: 3074 и 3097.

В следующей таблице приведены некоторые игры и используемые ими порты на ПК:

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

В нашей новой статье мы кратко расскажем вам об общем назначении портов и как их разблокировать в ОС Windows, приведя несколько примеров.

Что такое «Порт» и зачем он нужен

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

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






Как узнать, какие порты использует конкретная программа

Как открыть порт на компьютере с Windows 7/10 вы уже знаете, теперь давайте посмотрим, как определить, какая программа или процесс использует тот или иной порт. Для поиска открытых портов на ПК мы уже предлагали воспользоваться утилитой CurrPorts. С её же помощью можно в два счёта определить задействованный любой запущенной на компьютере сетевой программой порт.

Допустим, мы хотим выяснить, какой порт занимает программа для скрытия IP-адреса FreeHideIP. Запускаем утилиту CurrPorts, в первой колонке находим процесс FreeHideIP и смотрим в колонке «Локальные порты» номер используемого ею порта.


Определить используемый программой порт можно и безо всяких сторонних инструментов, средствами самой Windows. Прибегнем к помощи уже знакомой утилиты netstat. Открываем от имени администратора командную строку или консоль PowerShell и выполняем такую команду;

netstat -aonb | more


На этот раз в список задействованных ключей мы добавили параметр b, отвечающий за отображение имени процесса. К примеру, на приложенном скриншоте видно, что один из процессов браузера Chrome с идентификатором 5732 использует в данный момент локальный порт 61233. В принципе, вы можете не использовать ключ b, но тогда вам понадобится Диспетчер задач.


Находим в Диспетчере процесс приложения, смотрим его идентификатор и сопоставляем его с данными колонки PID в командной строке. Только вот зачем делать лишние движения, если есть более короткий путь?

  • 1поделились
  • 0Facebook
  • 1Twitter
  • 0VKontakte
  • 0Odnoklassniki

Проверка статуса портов

Перед открытием туннеля сначала нужно проверить открытые порты в Windows. Для этого отлично подойдет обычная командная строка.

  1. Открываем меню «Пуск/Программы/Стандартные» и выбираем программу «Командная строка».


Другой способ – введите «cmd» (без кавычек) в поисковую строку Пуска и нажмите «Enter».

    В открывшейся командной строке задаем команду «netstat –aon | more» без кавычек. Система отобразит состояние всех активных туннелей.


Смотрим на два последних столбца и находим нужный номер. Напротив номера выведен его статус:

  • Listening – идет опрос свободного порта системой. Он является открытым.
  • Established – идет передача данных, порт занят.
  • Close wait – процесс прекращения передачи данных.
  • Time wait – порт не отвечает.


Если требуемый порт отсутствует или занят – переходим к следующему пункту.







Проброс в антивирусном ПО

Интерфейс каждого антивируса может отличаться друг от друга. Однако принцип и суть действий остаются прежними. Рассмотрим открытие порта 25565 на примере защитной программы Kaspersky:

  1. Откройте настройки программы с помощью отмеченной иконки.


  1. Перейдите во вкладку «Дополнительно» и откройте раздел «Сеть».



  1. В открывшемся списке нажмите на кнопку «Добавить».


  1. Укажите название и впишите значение 25565, после чего сохраните изменения кнопкой «Добавить».


После этой операции рекомендуется перезагрузить компьютер. Также вы можете добавить Minecraft в список исключений, чтобы антивирус не отслеживал и не блокировал деятельность игры.

Открываем порт через Брандмауэр Windows

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

Процесс деблокирования выглядит так:

    Заходим в «Пуск/Панель управления/Система и безопасность» и находим «Брандмауэр Защитника Windows» (либо «Брандмауэр Windows»).



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



Ради примера попробуем открыть порт 27015 для сетевого шутера Counter-Strike 1.6.

Открыть порт в антивирусе

Если соединение блокируется антивирусной программой, ее работу потребуется немного откорректировать. Как настроить порты, сняв блокировку «Касперского»:

1. Откройте окно программы. 2. Найдите кнопку с изображением шестеренки и кликните по ней. 3. В открывшемся окне настроек следует выбрать раздел «Дополнительно». Он находится слева, в нижней части меню. 4. Нажмите на вкладку «Сеть». 5. Найдите строчку «Контролировать только выбранные порты». Перейдите по ссылке справа. Она называется «Выбрать». 6. Всплывет окно со списком сетевых портов. Чтобы задать нужный, нажмите кнопку «Добавить». 7. Введите описание правила. 8. Задайте номер порта. 9. Кликните по клавише «Добавить». 10. Перезагрузите Windows. 11. Добавьте приложение в список исключений для вашего антивируса.

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

Открываем порт 80

На этот раз мы обратимся к командной строке.




Перезагружаем компьютер и опять проверяем доступность 80 порта.

Проброс через настройки роутера

Ту же самую процедуру необходимо провести в настройках роутера. Для этого нужно следовать представленному руководству (работает только у пользователей со статическим IP):

  1. Откройте браузер и введите IP устройства в адресную строку. Обычно этим адресом является 192.168.1.1 или 192.168.0.1 (посмотреть точный адрес роутера можно в документации или на задней панели устройства).



  1. В боковом меню нажмите на пункт WAN и перейдите в отмеченную вкладку.


  1. Нажмите на «Да» (1), введите название правила, точное значение 25565 в оба поля (2) и нажмите кнопку «Добавить» (3). Эту операцию необходимо проделать для UDP и TCP протоколов.

Применение стороннего софта CurrPorts

В рассмотренных выше способах использовались лишь стандартные ресурсы Windows, однако, в Сети есть несколько программ для открытия портов на Windows. Первой на обзоре мы выбрали «CurrPorts» версии 2.51 от разработчика Nir Sofer. Она помогает узнать все свои активные порты на Windows и пригодится для их быстрого освобождения, удаляя ненужный или опасный процесс. Программа бесплатна и легка в освоении.

Для ее использования:



На скриншоте мы видим, что антивирус Avast занимает два порта: 80 и 443. При желании мы можем закрыть данное соединение из контекстного меню или панели инструментов программы (но делать этого не советуем по понятным причинам). Закрывайте только те ненужные процессы, назначение которых вам известно.

Преимущества

  • Бесплатная программа на русском языке.
  • Не требует установки.
  • Отображает все запущенные процессы и занимаемые ими порты в реальном времени.
  • Предоставляет самую подробную информацию.
  • Можно освобождать порты от одного или всех процессов.
  • Классический понятный интерфейс.

Недостатки

Для посещения сервиса:


  1. Как видно на скрине выше, туннель 25565 уже занят. Таким образом вы сможете проверить любой канал на занятость.

Преимуществами такого способа выступают его доступность и отсутствие необходимости в установке отдельного ПО. Но он лишь служит как дополнение предыдущим двум вариантам.

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