port mapping что такое

Открываем порты за NAT при помощи NAT-PMP и UPnP IGD

port mapping что такое. Смотреть фото port mapping что такое. Смотреть картинку port mapping что такое. Картинка про port mapping что такое. Фото port mapping что такое

Ранее я много раз слышал, что UPnP каким-то образом умеет самостоятельно открывать порты (производить Port Forwarding на роутере) по запросу от хоста из локальной сети. Однако, то, каким именно образом это происходит, и какие протоколы для этого используются, доселе было покрыто для меня пеленой тумана.

В данной статье я хочу кратко рассказать, как работают два механизма для проброса портов, а именно NAT Port Mapping Protocol и Internet Gateway Device (IGD) Protocol, входящий в набор протоколов UPnP. К своему удивлению я обнаружил, что в рунете информация по данному вопросу более чем скудна, что и сподвигло меня на написание данной заметки.

Для начала приведу краткий FAQ:

Q: Для чего нужны данные протоколы?
A: Для формирования на маршрутизаторе правила проброса определенного TCP/UDP порта (Port Forwarding) не вручную, а «автоматически», т.е. по запросу от хоста во внутренней сети.

Q: Как это реализуется?
A: Устройство за NAT отправляет маршрутизатору запрос с указанием внутреннего и внешнего номеров портов и типа протокола (TCP/UDP). Если указанный внешний порт свободен, маршрутизатор формирует у себя правило трансляции и рапортует запросившему компьютеру об успешном выполнении запроса.

Q: Проводится ли на маршрутизаторе аутентификация/авторизация запросов на открытие порта?
A: Нет, не проводится.

Теперь же рассмотрим работу данных протоколов более подробно (под катом).

Port Mapping Protocol

NAT-PMP описан в RFC 6886. Для своей работы он использует UDP-порт сервера 5351.

Рассмотрим работу протокола на конкретном примере — торрент-клиенте Vuze 5.7 для Windows 7.

Примечание: NAT-PMP во Vuze по умолчанию выключен. Его необходимо активировать в настройках плагинов.

1. Запускаем Wireshark. В строке фильтра вводим nat-pmp
2. Запускам Vuze.
3. Останавливаем перехват пакетов, смотрим результаты.

У меня получилось следующее:

port mapping что такое. Смотреть фото port mapping что такое. Смотреть картинку port mapping что такое. Картинка про port mapping что такое. Фото port mapping что такое

Всего видим 6 пакетов (3 запроса и 3 ответа).

Первые 2 это запрос внешнего адреса маршрутизатора и ответ с указанием этого самого адреса. Не будем на них подробно останавливаться и лучше рассмотрим, как происходит маппинг портов на примере пакетов 3-4.

port mapping что такое. Смотреть фото port mapping что такое. Смотреть картинку port mapping что такое. Картинка про port mapping что такое. Фото port mapping что такое

Здесь мы видим, что запрашивается проброс внешнего UDP порта 48166 на такой же внутренний порт. Интересно, что внутри протокола не указывается адрес хоста, на который должна происходить трансляция (Inside Local в терминологии Cisco). Это означает, что маршрутизатор должен взять адрес источника пакета из IP-заголовка и использовать его в качестве Inside Local.

Параметр Requested Port Mapping Lifetime ожидаемо означает время жизни записи в таблице трансляций.

port mapping что такое. Смотреть фото port mapping что такое. Смотреть картинку port mapping что такое. Картинка про port mapping что такое. Фото port mapping что такое

Как мы видим, маршрутизатор предполагаемо создал запрашиваемую трансляцию и ответил кодом Success. Параметр Seconds Since Start of Epoch означает время с момента инициализации таблицы трансляций (т.е. с момента последней перезагрузки роутера).

Маппинг TCP-портов происходит точно также и отличается только значением поля Opcode.

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

Вот что произойдет, если мы закроем Vuze.

port mapping что такое. Смотреть фото port mapping что такое. Смотреть картинку port mapping что такое. Картинка про port mapping что такое. Фото port mapping что такое

port mapping что такое. Смотреть фото port mapping что такое. Смотреть картинку port mapping что такое. Картинка про port mapping что такое. Фото port mapping что такое

На этом рассмотрение NAT-PMP закончено, предлагаю перейти к несколько более «мудреному» UPnP IGD.

Internet Group Device Protocol

Для обмена своими сообщениями данный протокол использует SOAP.

Однако, в отличие от NAT-PMP, IGD не использует фиксированный номер порта сервера, поэтому перед тем, как обмениваться сообщениями, нужно сперва этот порт узнать. Делается это при помощи протокола SSDP (данный протокол является частью UPnP и используется для обнаружения сервисов).

Запускаем торрент-клиент. Он формирует SSDP-запрос и отсылает его на мультикастовый адрес 239.255.255.250.

port mapping что такое. Смотреть фото port mapping что такое. Смотреть картинку port mapping что такое. Картинка про port mapping что такое. Фото port mapping что такое

Маршрутизатор формирует ответ и отправляет его уже юникастом:

port mapping что такое. Смотреть фото port mapping что такое. Смотреть картинку port mapping что такое. Картинка про port mapping что такое. Фото port mapping что такое

Внутри ответа мы можем увидеть URL для взаимодействия с маршрутизатором по протоколу IGD.

Далее Vuze подключается к маршрутизатору по указанному URL и получает XML с информацией о данном устройстве, в том числе содержащую набор URI для управления некоторыми функциями маршрутизатора. После того, как нужный URI найден в rootDesc.xml, Vuze отправляет SOAP-запрос на содание NAT-трансляции по найденному URI.

Примечание: до того, как запросить создание трансляции, Vuze заставил маршрутизатор перечислить все имеющиеся Port Forwarding’и. Для чего это было сделано, я могу лишь догадываться.

SOAP-запрос на создание трансляции UDP-порта:

port mapping что такое. Смотреть фото port mapping что такое. Смотреть картинку port mapping что такое. Картинка про port mapping что такое. Фото port mapping что такое

Как говорилось ранее, нужный URI (идет сразу после POST) Vuze взял из rootDesc.xml. Для добавления трансляции используется функция с названием AddPortMapping.

Также можно отметить, что, в противоположность NAT-PMP, Inside Local-адрес указывается внутри самого протокола.

Аналогично NAT-PMP, при закрытии торрент-клиента маппинги проброшенных портов удаляются. Делается это функцией DeletePortMapping:

port mapping что такое. Смотреть фото port mapping что такое. Смотреть картинку port mapping что такое. Картинка про port mapping что такое. Фото port mapping что такое

Можно заметить, что для удаления правила достаточно указать только тип протокола (UDP) и номер внешнего порта, не указывая остальные параметры.

Источник

[#DCBEELINEKZ] БИЛАЙН ХАБЫ КАЗАХСТАН

Меню навигации

Пользовательские ссылки

Информация о пользователе

Что такое port mapping?

Сообщений 1 страница 2 из 2

Поделиться114.09.17 14:42

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

Эта технология в чем-то аналогична прокси серверу, однако она гораздо проще и гораздо менее гибкая.

Ваш компьютер >>> компьютер с port mapping >>> удаленный сервер.

Предположим, что сделан port mapping:

http://www.mail.ru
http://192.168.1.255:1234/
(в данном случае обязательно пишите http:// )
Хотелось бы заметить: если Вам нужно использовать port mapping, то Вы должны пользоваться только вторым адресом. То есть если Вы не можете подключиться к mail.ru, то Вы должны использовать только внутренний адрес ( http://192.168.1.255:1234/ ).

Port mapping на локальном компьютере
В случае, когда у Вас делается port mapping на Вашем же компьютере, то обычно указывают:

То есть если Вы сделали port mapping на web сайт, то Вам нужно писать: http://127.0.0.1:1234/

Поделиться214.09.17 14:45

Рассмотрим настройку port mapping через прокси на примере почтовых программ.

К примеру, для того, чтобы задать port mapping для получения почты, необходимо сделать следующее:

Жирным шрифтом выделены отличия этих двух процедур (получения и отправки почты).

Теперь настройте программу на тот прокси, через который будет осуществляться port mapping:
выберите вкладку «proxy»;
в полях «host name or IP address» и «Port» задайте имя сервера (или IP) прокси и номер порта соответственно.

После этого нажмите кнопку «Start» для запуска программы в работу.

POP3 server: 127.0.0.1
SMTP server: 127.0.0.1

Источник

Что такое port mapping?

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

Эта технология в чем-то аналогична прокси серверу, однако она гораздо проще и гораздо менее гибкая.

Ваш компьютер >>> компьютер с port mapping >>> удаленный сервер.

Для чего нужен port mapping?

Разумеется это только основные способы применения port mapping. Существует еще масса видов деятельности, где он также будет весьма и весьма полезен.

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

Недостатки port mapping

Как работать с port mapping

Предположим, что сделан port mapping:

Хотелось бы заметить: если Вам нужно использовать port mapping, то Вы должны пользоваться только вторым адресом. То есть если Вы не можете подключиться к mail.ru, то Вы должны использовать только внутренний адрес ( http://192.168.1.255:1234/ ).

Port mapping на локальном компьютере

В случае, когда у Вас делается port mapping на Вашем же компьютере, то обычно указывают:

Так вот, в этом случае Вам нужно (настроив port mapping) подключаться не к mail.ru (и им подобным), а указать в качестве сервера Ваш же компьютер:

127.0.0.1:localport

То есть если Вы сделали port mapping на web сайт, то Вам нужно писать: http://127.0.0.1:1234/

Источник

RussianProxy.ru

Навигация

Вход на сайт

Переадресация трафика / Port mapping

Разберем использование port mapping на конкретном примере.

Имеем компьютер подключенный к домашней локальной сети ( IP адрес 192.168.1.20 ), через роутер Asus WL 500g ( IP адрес 192.168.1.1 ). К роутеру также подключены спутниковый ресивер dreambox с операционной системой линукс ( IP адрес 192.168.1.30 ), вебкамера (IP адрес 192.168.1.40).

Задача: получить доступ ко всем устройствам в локальной сети используя RussianProxy VPN соединение с постоянным выделенным IP, к примеру это будет 212.24.51.50

1. Устанавливаем впн соединение, после чего наш компьютер становится доступен из интернета по адресу 212.24.51.50

2. Скачиваем бесплатную утилиту KomodiaRelay http://www.komodia.com/index.php?page=KomodiaRelay.html
Free open source TCP/UDP relay
This small utility performs either TCP/UDP/HTTP port forwarding from a source IP and port to another destination IP and port.
Usage:
KomodiaRelay.exe

— Local IP to bind to
— Local port to bind to
— Remote IP to relay data to
— Remote port to relay data to

— u for UDP, and t for TCP, h for HTTP (regular TCP relay may not work with systems that have transparent proxy
— Timeout in MS to close inactive connections (0 is not timeout)
Example: KomodiaRelay 127.0.0.1 80 64.127.67.124 80 h 0
Will create a relay between localhost and my site, openning a web browser to address 127.0.0.1 will connect to my site

Источник

Что такое port mapping и как его настроить

В этой статье я хочу рассказать вам о настройке port mapping на прокси сервера iDeco. Для начала давайте разберемся, что же такое port mapping или перенаправление портов. Обычно как в не больших так и в крупных организациях компьютеры всех пользователей объединены в одну локальную сеть, а выход в интернет осуществляется через единый шлюз. В качестве шлюза может выступать обычный роутер, более умный маршрутизатор Cisco или как в нашем случае интернет шлюз iDeco.

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

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

Итак, разберем все на конкретном примере:
внешний ip адрес шлюза: 82.231.13.165
адрес компьютера за шлюзом: 192.168.1.115
к компьютеру необходимо получить доступ по RDP
По умолчанию порт RDP = 3389

Сейчас мы сделаем так, что бы при обращении к ip 82.231.13.165 из интернета по порту 3389 мы могли спокойно управлять своим офисным компьютером, который имеет локальный ip 192.168.1.115

Данное правило будет выглядеть следующим образом:

port mapping что такое. Смотреть фото port mapping что такое. Смотреть картинку port mapping что такое. Картинка про port mapping что такое. Фото port mapping что такое

Как видите ничего сложного нет, осталось только перезагрузить службу, что бы применить только что созданное правило.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *