Проброс диапазона (пула) портов — потратил два часа времени, я в шоке!

Содержание

Для чего нужно открывать порты на роутере?

Вопрос, который чаще всего задают новички, — для чего вообще необходимо перенаправление портов?

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

Если мы наберем в браузере IP адрес роутера TP-Link http://192.168.0.1, то попадем на страницу панели администратора. Однако мы знаем, что маршрутизатор назначает такие же адреса всем остальным устройствам внутри локальной сети — компьютерам, ноутбукам, смартфонам, сетевым камерам, ТВ приставке и так далее. У каждого из них есть свой IP адрес.

programma-dlya-videonabludenia.jpg

  1. Представим, что у нас есть веб-камера, подключенная к компьютеру, с которой транслируется изображение по локальной сети через специальную программу (я разбирал такую схему видеонаблюдения в одной из статей)
  2. Если мы захотим посмотреть на ноутбуке картинку с нее, то первым делом напрашивается ввести в браузере ip адрес самого компьютера, например «192.168.0.20» (как узнать IP своего компьютера читайте здесь).
  3. Однако в этом случае мы просто попадем в его открытые для общего доступа папки, но никакого видео с камеры не увидим

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

pereadresaciya-porta.jpg

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

Соответственно, если курьеру на упаковке указать только дом и улицу, то он будет ходить к каждому из жильцов, но не знать точно, кому адресуется посылка. Номер квартиры точно укажет, куда именно ее нужно отнести.

В нашем случае:

  • дом и улица — это IP адрес
  • номер квартиры — порт
  • курьер, которому нужно указать на коробке полный адрес получателя — это роутер, на котором настроен проброс портов.

Что такое проброс портов на маршрутизаторе?

Проброс портов (Port Forwarding) — это закрепление за той или иной программой, запущенной на каком-либо из устройств, которое подключено к wifi роутеру, определенного порта для подключения к ней с другого компьютера, ноутбука или смартфона.

Именно определенный закрепленный за конкретным приложением порт определяет, к какой именно программе, запущенной на данном компьютере, мы хотим получить удаленный доступ с другого устройства. На одном и том же ПК может быть одновременно запущено несколько ресурсов для общего сетевого использования — файловое хранилище, игровой сервер, видеонаблюдение и т.д. У всех у них будет один и тот же IP адрес, который принадлежит данному ПК. А порты — разные.

То есть:

  • IP адрес — это идентификатор устройства в локальной сети
  • Порт — ID конкретного приложения, которое на этом устройстве запущено

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

Как пробросить порты на роутере TP-Link — NAT переадресация

Итак, на практике для проброса портов на ТП-Линк нам необходимо сделать две вещи:

  1. Определить в настройках этой программы порт компьютера, на котором она будет работать
  2. Задать перенаправление этого порта и открыть его для внешнего подключения в настройках непосредственно роутера

marshrutizaciya.jpg

Для того, чтобы открыть порт на роутере TP-Link, необходимо зайти в меню «Дополнительные настройки — NAT-переадресация». Здесь данная функция называется «Port Triggering». Для добавления нового перенаправления нажимаем на ссылку «Добавить +»

Ваше мнение — WiFi вреден?Да24.03%Нет75.97%Проголосовало: 10888

tp-link-port-triggering.png

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

spisok-prilozheniy-dlya-probrosa-portov-tp-link.png

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

perenapravlenie-portov-tp-link.png

Вернемся к примеру с веб-камерой. В моем случае она использует порт «80», то есть нам нужно его открыть и пробросить на роутере. IP компьютера имеет значение «192.168.0.20».

nastroyka-ip-kamery-webcamxp.jpg

В результате выполненного перенаправления на TP-Link при вводе в браузер адреса «http://192.168.0.20:80» мы попадаем в панель управления веб-камерой.

Почему не открываются порты на роутере TP-Link — возможные проблемы

Даже если вы сделаете все правильно, то есть вероятность столкнуться с ошибкой, что порты на роутере TP-Link не открываются — почему?

Если при обращении к внутреннему устройству через интернет вы попадаете на главную страницу админки роутера TP-Link, то попробуйте поменять WEB-порт (http-порт) и медиа-порт на другие значения и пробросить их. Также учтите, что проверять работу проброса портов следует только из внешней сети интернет, а не с устройства, входящего в вашу локальную сеть.

dmz.jpg

Если при обращении к внутреннему устройству через интернет вообще ни чего не происходит, то проверьте:

  • Отключены ли антивирусные средства (файрволл, брандмауэр) или в них должны быть настроены исключения на подключение к вашим портам.
  • Также есть вероятность, что при отсутствии внешнего статического IP при использовании сервиса DDNS провайдер запретил использовать некоторые порты.
  • Следующее, что имеет смысл проверить — включена ли функция NAT для того соединения, через которое вы получаете интернет от провайдера.
  • В сетевых настройках устройства/компьютера, на который осуществляется проброс портов, необходимо, чтобы IP-адрес шлюза по умолчанию был равен LAN IP-адресу роутера (по умолчанию 192.168.1.1). Это актуально, если на устройстве/компьютере вы указываете вручную сетевые настройки. Если же устройство/компьютер является DHCP-клиентом, т.е. получает автоматически IP-адрес, маску подсети, шлюз по умолчанию и DNS-адреса, в этом случае шлюз по умолчанию будет равен LAN IP-адресу роутера.
  • Возможно также часть проблем удастся устранить путем включения функции открытого DMZ сервера. Его работа будет заключаться в том, чтобы перенаправлять абсолютно все внешние запросы из интернета на один и тот же определенный IP адрес внутри вашей локальной сети.

Переадресация портов на роутерах других фирм

Цены в интернете

АлександрВыпускник образовательного центра при МГТУ им. Баумана по специальностям «Сетевые операционные системы Wi-Fi», «Техническое обслуживание компьютеров», «IP-видеонаблюдение». Автор видеокурса «Все секреты Wi-Fi»

Перенаправление порта  — это сопоставление определённого порта на внешнем интерфейсе роутера с определённым портом нужного устройства в локальной сети.

Перенаправление порта является одной из функций механизма NAT (трансляции сетевых адресов). Суть NAT заключается в использовании несколькими устройствами в локальной сети одного внешнего интерфейса. В домашних сетях внешний интерфейс — это WAN-порт роутера, а сетевые устройства — это компьютеры, планшеты и смартфоны. А суть перенаправления заключается в том, чтобы предоставить доступ к какому-то устройству в сети из Интернета, используя какой-либо открытый порт роутера.

Это то, что в народе называется «как открыть порт на роутере».

Допустим, есть задача предоставить доступ к удалённому рабочему столу компьютера, который подключён к Интернету через роутер. Для этого нужно создать правило перенаправления любого свободного порта WAN-интерфейса роутера на порт 3389 нужного компьютера. 3389 — это порт, который используется по умолчанию для приёма входящих подключений службы сервера удалённых рабочих столов. После создания такого правила и применения настроек на роутере запросы, поступившие на указанный внешний порт будут перенаправлены на 3389 нужного компьютера в сети.

Для этого на роутере необходимо зайти в настройки перенаправления портов и добавить правило.

Пример настройки перенаправления порта на роутере D-Link.

1 Откройте раздел Advanced (Расширенные настройки).

2 Выберите настройку Port Forwarding (перенаправление портов).

3 Настройте правило перенаправления:

  • Укажите любое удобное для вас имя правила;
  • Укажите номер публичного порта (или диапазон). Публичный порт — это тот, который будет открыт на роутере для доступа из Интернета через WAN-интерфейс. Если нужно открыть только один порт, укажите один и тот же порт и в качестве начального в диапазоне, и в качестве конечного.В нашем случае нам нужно открыть порт 3389, поэтому мы два раза указали его в верхней строке настроек.
  • Укажите IP-адрес компьютера (сервера) в локальной сети, на котором запущена служба, доступ к которой нужно предоставить. Рекомендуется зарезервировать IP-адрес для данного сервера в настройках DHCP-резервирования на роутере, чтобы он не поменялся в дальнейшем. Вместо этого также можно указать IP-адрес вручную в настройках сетевого адаптера на компьютере, проброс до которого вы будете делать на роутере.В нашем примере мы указываем внутренний серый IP-адрес 192.168.1.100, который принадлежит компьютеру с Windows Server 2008 с настроенным сервером удалённых рабочих столов.
  • Укажите порт для приёма входящих подключений на компьютере в локальной сети.В нашем случае на сервере для службы Сервер удалённых рабочих столов используется порт по умолчанию 3389.
  • Установите флажок слева для включения правила.

4 Нажмите Save Setting (Сохранить настройки)

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

Нажмите win+r, введите mstsc и нажмите Enter:

В поле Компьютер dведите внешний IP-адрес роутера (который присвоен провайдером WAN-интерфейсу) либо имя хоста.

Нажмите Подключить:

(Тем самым вы устанавливаете соединение с WAN-портом роутера на 3389. При этом на роутере срабатывает перенаправление порта согласно правилу на внутренний IP-адрес 192.168.1.100 и указанный порт 3389)

Если вы увидите подпись Настройка удалённого сеанса, значит перенаправление порта работает:

В итоге вы должны увидеть рабочий стол удалённого компьютера (сервера удалённых рабочих столов):

В веб-интерфейсе маршрутизаторов вместо настройки Port Forwarding может присутствовать настройка Virtual Server. А иногда — и та, и другая.

Имейте в виду, что для публикации одного порта можно использовать как настройку Port Forwarding, так и Virtual Server. Разница в том, что настройка Виртуальный сервер позволяет переадресовывать (публиковать) только один порт на локальном компьютере, а с помощью настройки Перенаправление можно пробрасывать и отдельные порты, и диапазоны.

Рекомендуемые к прочтению статьи:

  • Как создать FTP-сервер и открыть к нему доступ из Интернета;
  • Как изменить номер порта по умолчанию для RDP-сервера;
  • Настройка резервирования DHCP;
  • Как задать статический IP в Windows;
  • Как привязать динамический IP к доменному имени. Сервис No-IP.

Чтобы понимать, что такое Forwarding и для чего это нужно, вспомним как устроено подключение большинства домашних компьютеров. Обычно у большинства из нас дома установлен роутер, к которому подключён кабель Интернет-провайдера. От этого роутера наши домашние устройства — компьютеры, телефоны, планшеты, умные телевизоры и другие — подключаются к Интернету через Wi-Fi или кабель. То есть у нас дома функционирует локальная сеть, в которой у каждого из устройств есть свой локальный (серый) IP адрес.

Представим, что на одном из компьютеров вы установили и настроили веб-сервер Apache. И вы хотите, чтобы к этому веб-серверу можно было подключаться из Интернета. Самый простой способ это сделать — набрать в адресной строке внешний IP адрес.

Кстати, вот вы сидите за компьютером, который через роутер подключён к Интернету, у меня к вам вопрос, какой внешний IP адрес у компьютера? Вы можете зайти на один из многочисленных сервисов показа вашего IP адреса, но суть в том, что любой ответ будет неправильным. Дело в том, что у вашего компьютера, который подключён к Интернету через роутер, вообще нет внешнего IP! Этот внешний IP есть только у вашего роутера (и то не всегда — об этом в этой же статье, но позже).

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

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

Вот именно эту проблему и решает Forwarding, который ещё называют «переадресацией» портов, «проброской портов», «перенаправлением портов».

Перенаправление портов заключается в следующем: на роутере (или на другом сетевом устройстве) устанавливается правило, суть которого примерно в следующем

«трафик, пришедший на порт 80 отправить на IP адрес 192.168.1.30 на порт 80».

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

В результате получается, что можно сделать HTTP запрос к роутеру, указав его глобальный IP, роутер получит этот запрос и отправит его веб-серверу в локальной сети. Благодаря переадресации портов веб-сервер без внешнего IP оказывается доступным за пределами локальной сети.

Как бы это не было странно, но именно в настройках Apache ничего для перенаправления портов делать не надо.

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

То есть начать нужно с того, чтобы настроить статичный локальный IP адрес для компьютера. Это можно сделать двумя способами: 1) на компьютере с веб-сервером, 2) в роутере

Для изменения на компьютере, откройте Панель управления → Сеть и Интернет → Центр управления сетями и общим доступом → Изменение параметров адаптера:

static-ip.png

Правой кнопкой мыши откройте контекстное меню интересующего вас подключения, найдите там пункт IP версии 4 (TCP/IPv4):

static-ip-2.png

Нажмите Свойства и пропишите нужные параметры в зависимости от настроек вашей сети (Основной шлюз — это IP адрес вашего роутера):

static-ip-3.png

Некоторые роутеры поддерживают выдачу статичных IP адресов определённым устройствам сети — они их запоминают на основе MAC-адреса устройства. У всех роутеров это настраивается чуть по-разному, но обычно нужно искать в настройках DHCP. Некоторые роутеры не поддерживают эту возможность.

Теперь, когда компьютеру с веб-сервером назначен постоянный локальный IP, нужно добавить правило перенаправления портов. В роутерах это может называться Forwarding, «Перенаправление портов», «Переадресация портов» и т. д. Иногда в роутерах имеются заготовленные настройки и можно выбрать из списка название службы, для которой вы хотите сделать переброску портов. Для Apache выберите службу HTTP:

forwarding-apache.png

В качестве портов назначения и перенаправления запроса укажите 80. На скриншоте видно, что можно установить не один порт, а диапазон портов. Если вы хотите настроить только один порт, то укажите одно и то же значение в качестве начала диапазона и конца диапазона.

В качестве Local (локальный IP, адрес, куда будет перенаправлен запрос) укажите IP веб-сервера. External (внешний IP) указывать не нужно.

Активируйте созданное правило перенаправления портов.

Теперь все запросы, пришедшие на 80 порт роутера, будут перенаправлены на указанный IP адрес и указанный порт. Аналогичные настройки можно сделать для любых служб — для FTP сервера, SSH и так далее. То есть к этим службам появиться доступ из внешней сети.

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

Если у вас кабель Интернет-провайдера напрямую подключается к компьютеру с веб-сервером, то вам не нужен форвардинг. При аренде VPS сервера также не нужен форвардинг, так как у таких серверов прямой (белый) IP адрес.

NAT — это технология, которая позволяет множеству устройств выходить в Интернет используя один и тот же IP адрес. Кстати, в вашей локальной сети, в которой имеется роутер, уже применяется NAT — именно благодаря этому все ваши устройства могут выходить в Глобальную сеть и не нужно каждому из них иметь внешний IP.

Как вы понимаете, это часто используемая технология. Возможно, вы много лет ею пользуетесь, даже не зная про неё. Она действительно приносит очень много пользы, но у неё есть недостаток — она позволяет делать подключения «в одну сторону». То есть если ваш компьютер инициализировал подключение к Интернету, то он отправит его роутеру, роутер сделает две вещи: 1) запомнит, что запрос пришёл с определённого устройства и 2) отправить этот запрос в Интернет. Когда придёт ответ, роутер всё ещё «помнит», что этот запрос был сделан для определённого устройства в локальной сети, и отправит ответ именно этому устройству. И так происходит каждый раз.

Но вот если на роутер придёт новый HTTP запрос из Глобальной сети (не ответ на запрос, а именно новый запрос), то роутер банально не знает, для кого в локальной сети он предназначен (если не настроена переадресация портов). Поэтому с этим поступившим запросом роутер ничего не делает. Мы уже рассмотрели эту проблему и даже нашли решение — переадресация портов. Но многие Интернет-провайдеры также используют NAT. И работа происходит по точно такому же принципу — ваши HTTP запросы уходят в Глобальную сеть и вы без проблем получаете HTTP ответы, но новые запросы из Интернета к вашему компьютеру не могут пройти через NAT.

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

Связанные статьи:

  • Как запустить Apache не на 80 порту (100%)
  • Apache для Windows (52.5%)
  • Как запустить Apache на Windows (52.5%)
  • Документация по Apache на русском языке (52.5%)
  • Как подключить PHP к Apache на Windows (52.5%)
  • Модули Apache mods (RANDOM — 52.5%)

Используемые источники:

  • https://wifika.ru/probros-portov-perenapravlenie-pereadresaciya.html
  • https://compfixer.info/port-forwarding/
  • https://apache-windows.ru/apache-forwarding-%d0%bf%d1%80%d0%be%d0%b1%d1%80%d0%be%d1%81%d0%ba%d0%b0-%d0%bf%d0%be%d1%80%d1%82%d0%be%d0%b2-%d0%b2%d0%b5%d0%b1-%d1%81%d0%b5%d1%80%d0%b2%d0%b5%d1%80%d0%b0/

Рейтинг автора
5
Подборку подготовил
Андрей Ульянов
Наш эксперт
Написано статей
168
Ссылка на основную публикацию
Похожие публикации