Меню

Port mapping как настроить

Что такое port mapping?

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

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

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

Схема примерно такая же, как и при использовании прокси (можно сказать, что port mapping похож на proxy — но это будет то же. что сказать «дедушка похож на внука» — вообще-то это как раз proxy похож на port mapping):

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

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

  1. Если в организации используется корпоративный прокси, то настроив на нем port mapping на внешний почтовый сервер (mail.ru), Вы сможете использовать любую почтовую программу изнутри корпоративной сети — и Вам не потребуется устанавливать/настраивать никаких дополнительных программ!
  2. Точно таким же образом как почтовую программу, Вы можете настроить практически любую другую программу! Лишь бы она поддерживала TCP/IP.

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

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

  1. Эта система очень проста и в интернет имеется множество программ, позволяющих реализовать эту функцию;
  2. Поскольку данные передаются 100% безо всяких искажений, Вам обеспечена 100% анонимность;
  3. Если Вы используете эту систему, Вам не нужны никакие «соксификаторы» — поскольку не требуется никаких дополнительных инициализаций соединения, соединение с port mapper-ом эквивалентно соединению с удаленным компьютером.

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

  1. Эта система не отличается гибкостью. В отличие от прокси, у которого через один прокси можно подключиться на множество сайтов, через один port mapping можно подключиться только к одному серверу.
  2. Для каждого нового port mapping нужно изменять настройки на сервере, где реализована эта функция — с клиентского компьютера это недоступно.
  3. В интернете нет бесплатных port mapper-ов (ввиду их крайней ограниченности — один port mapping дает доступ только на один сервер), поэтому если Вы хотите быть действительно анонимным на своем компьютере, Вам нужно где-то иметь сервер, на котором будет установлена программа для маппинга портов — и вот уже адрес этого сервера и будет «светиться» в логах веб-сайтов.

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

Учтите, схема работы с port mapping примерно та же, что и при работе с proxy, только еще проще. Port mapping — это алиас (дополнительное имя) для компьютера, на который он настроен.

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

192.168.1.255:1234 => www.mail.ru:80 (80-й порт — это порт web серверов)

Тогда для того, чтобы открыть сайт mail.ru, Вы можете использовать 2 способа — откройте в окошке браузера сайт:

  1. http://www.mail.ru
  2. http://192.168.1.255:1234/
    (в данном случае обязательно пишите http:// )

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

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

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

  1. local port — локальный порт на Вашем компьютере, к которому Вы должны будете подключаться для использования port mapping. Это число может быть любым (от 1 до 65535), желательно больше 1000;
  2. remote host — тот компьютер (хост), на который указывает port mapping. Например, это может быть почтовый сервер pop.mail.ru ;
  3. remote port — порт компьютера, к которому будет происходить подключение через port mapping. Для получения почты (POP3) это обычно порт 110 , для отправки почты (SMTP) — порт 25, для web серверов (www. ) — это обычно порт 80.
Читайте также:  Как настроить тайминги видеопамяти

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

127.0.0.1:localport

где localport — это номер порта, заданный при настройке port mapping. Например это может быть порт 1234.

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

Если же Вы настраиваете почту — то в качестве почтового сервера укажите 127.0.0.1 — как для получения, так и для отправки почты. И не забудьте найти настройки номеров портов (POP3 и SMTP) в Вашем почтовом клиенте и изменить их в соответствии с Вашими же настройками в port mapping!

Источник



Настройка port mapping в windows с помощью netsh

О чём речь и зачем это нужно

В windows, начиная с версии Windows XP существует возможность настроить проброс портов (port forwarding или port mapping) без каких-либо внешних программ (и даже не используя встроенный брандмауэр!).

Зачем это может быть нужно? Например, для настройки еще одного (дополнительного) порта, на котором будет «висеть» служба. К примеру, вдобавок к порту 80 (на котором находится apache) можно вдобавок «открыть» порт 1580 или 65123, который будет фактически выполнять ту же роль, что и 80-й порт, но при этом он будет «секретным» портом.
Или же можно таким образом «прятать» фактические серверы: разрешать подключения на какой-либо локальный порт (на localhost, 127.0.0.1), а затем «пробрасывать» это подключение на другой сервер (и на другой порт).

Ограничение: данные перенаправления действуют только на TCP порты, UDP трафик таким образом перенаправить не удастся.

Как сделать port mapping (port forwarding) через netsh

Для этого в netsh есть контекст portproxy, который находится в контексте interface. Для создания port mapping выполните из командной строки (в windows Vista и выше — от имени администратора):

netsh interface portproxy add v4tov4 listenport= <целое_число или имя_службы>listenaddress= connectport= <целое_число или имя_службы>connectaddress=

  • listenport — обязательный параметр. Задает порт IPv4, который должен прослушиваться, по номеру порта или имени службы;
  • listenaddress — задает IPv4-адрес, который должен прослушиваться. Может быть введен IP-адрес, NetBIOS-имя или DNS-имя компьютера. Если адрес не задан, по умолчанию используется локальный компьютер;
  • connectaddress — задает IPv4-адрес, к которому следует подключаться. Может быть введен IP-адрес, NetBIOS-имя или DNS-имя компьютера. Если адрес не задан, по умолчанию используется локальный компьютер;
  • connectport — задает порт IPv4, к которому следует подключаться, по номеру порта или имени службы. Если параметр connectport не задан, по умолчанию используется значение listenport на локальном компьютере.

например:
netsh interface portproxy add v4tov4 listenport=5556 listenaddress=192.168.1.1 connectport=3389 connectaddress=192.168.1.10
В этом примере на компьютере с IP адресом 192.168.1.1 был открыт порт № 5556. При подключении к этому порту все пакеты, приходящие на порт, автоматически будут пересылаться на IP адрес 192.168.1.10, на порт 3389 (RDP).

Проверка правильности настройки port mapping

В первую очередь проверяем, появилось ли наше правило в списке правил netsh:
netsh interface portproxy show all

Если правило появилось, убеждаемся, что настроенный нами порт прослушивается. Для этого выполним команду:
netstat -ano | findstr :
например:
netstat -ano | findstr :5556

Если порт не прослушивается (т.е. port mapping не выполняется), то эта команда не отобразит ничего. Если же наша затея увенчалась успехом, то мы увидим что-то типа такого сообщения:
TCP . 5556 0.0.0.0:0 LISTENING .

Читайте также:  Апи ватсап как настроить

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

Удаление port mapping

Для того, чтобы удалить все правила перенаправления (простейший случай) достаточно выполнить команду (напоминаю, командная строка должна быть запущена от имени администратора!):
netsh interface portproxy reset

После этого убедитесь, что все правила удалены: по команде
netsh interface portproxy show all
не должно ничего отображаться.

Если же Вы хотите удалить только одно правило перенаправления портов, команда будет немного сложнее:
netsh interface portproxy delete v4tov4 listenport= <целое_число или имя_службы>listenaddress=

  • listenport — обязательный параметр. Задает удаляемый порт IPv4;
  • listenaddress — задает удаляемый адрес IPv4. Если адрес не задан, по умолчанию используется локальный компьютер.

например:
netsh interface portproxy delete v4tov4 listenport=5556
В этом примере мы удаляем port mapping, который был настроен на локальном компьютере, на порту 5556.

Изменение настроек port mapping через netsh

Если Вы хотите изменить значения параметров существующей на portproxy-сервере (т.е. на компьютере, где Вы запускали команду netsh interface portproxy add . ) записи, созданной командой add v4tov4, или добавить новую запись port mapping / port forwarding, выполните следующую команду:
netsh interface portproxy set v4tov4 listenport= <целое_число или имя_службы>listenaddress= connectport= <целое_число или имя_службы>connectaddress=

  • listenport — обязательный параметр. Задает порт IPv4, который должен прослушиваться, по номеру порта или имени службы;
  • listenaddress — задает IPv4-адрес, который должен прослушиваться. Может быть введен IP-адрес, NetBIOS-имя или DNS-имя компьютера. Если адрес не задан, по умолчанию используется локальный компьютер;
  • connectaddress — задает IPv4-адрес, к которому следует подключаться. Может быть введен IP-адрес, NetBIOS-имя или DNS-имя компьютера. Если адрес не задан, по умолчанию используется локальный компьютер;
  • connectport — задает порт IPv4, к которому следует подключаться, по номеру порта или имени службы. Если параметр connectport не задан, по умолчанию используется значение listenport на локальном компьютере.

например:
netsh interface portproxy set v4tov4 listenport=5556 listenaddress=192.168.1.1 connectport=3300 connectaddress=192.168.1.10
В этом примере на компьютере с IP адресом 192.168.1.1 была изменена настройка порта № 5556: теперь при подключении к этому порту все пакеты, приходящие на порт, автоматически будут пересылаться на IP адрес 192.168.1.10, на порт 3300.

Примечание: Можно изменять любые значения параметров для существующей записи сервера portproxy. Если значения не заданы, изменения не производятся.

Источник

Настройка port mapping в windows с помощью netsh

В windows, начиная с версии Windows XP существует возможность настроить проброс портов (port forwarding или port mapping) без каких-либо внешних программ (и даже не используя встроенный брандмауэр!).

Зачем это может быть нужно? Например, для настройки еще одного (дополнительного) порта, на котором будет «висеть» служба. К примеру, вдобавок к порту 80 (на котором находится apache) можно вдобавок «открыть» порт 1580 или 65123, который будет фактически выполнять ту же роль, что и 80-й порт, но при этом он будет «секретным» портом.
Или же можно таким образом «прятать» фактические серверы: разрешать подключения на какой-либо локальный порт (на localhost, 127.0.0.1), а затем «пробрасывать» это подключение на другой сервер (и на другой порт).

Ограничение: данные перенаправления действуют только на TCP порты, UDP трафик таким образом перенаправить не удастся.

Как сделать port mapping (port forwarding) через netsh

Для этого в netsh есть контекст portproxy, который находится в контексте interface. Для создания port mapping выполните из командной строки (в windows Vista и выше — от имени администратора):

netsh interface portproxy add v4tov4 listenport= <целое_число или имя_службы>listenaddress= connectport= <целое_число или имя_службы>connectaddress=

  • listenport — обязательный параметр. Задает порт IPv4, который должен прослушиваться, по номеру порта или имени службы;
  • listenaddress — задает IPv4-адрес, который должен прослушиваться. Может быть введен IP-адрес, NetBIOS-имя или DNS-имя компьютера. Если адрес не задан, по умолчанию используется локальный компьютер;
  • connectaddress — задает IPv4-адрес, к которому следует подключаться. Может быть введен IP-адрес, NetBIOS-имя или DNS-имя компьютера. Если адрес не задан, по умолчанию используется локальный компьютер;
  • connectport — задает порт IPv4, к которому следует подключаться, по номеру порта или имени службы. Если параметр connectport не задан, по умолчанию используется значение listenport на локальном компьютере.
Читайте также:  Как настроить точку доступа internet

например:
netsh interface portproxy add v4tov4 listenport=5556 listenaddress=192.168.1.1 connectport=3389 connectaddress=192.168.1.10
В этом примере на компьютере с IP адресом 192.168.1.1 был открыт порт № 5556. При подключении к этому порту все пакеты, приходящие на порт, автоматически будут пересылаться на IP адрес 192.168.1.10, на порт 3389 (RDP).

Проверка правильности настройки port mapping

В первую очередь проверяем, появилось ли наше правило в списке правил netsh:
netsh interface portproxy show all

Если правило появилось, убеждаемся, что настроенный нами порт прослушивается. Для этого выполним команду:
netstat -ano | findstr :
например:
netstat -ano | findstr :5556

Если порт не прослушивается (т.е. port mapping не выполняется), то эта команда не отобразит ничего. Если же наша затея увенчалась успехом, то мы увидим что-то типа такого сообщения:
TCP …:5556 0.0.0.0:0 LISTENING …

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

Удаление port mapping

Для того, чтобы удалить все правила перенаправления (простейший случай) достаточно выполнить команду (напоминаю, командная строка должна быть запущена от имени администратора!):
netsh interface portproxy reset

После этого убедитесь, что все правила удалены: по команде
netsh interface portproxy show all
не должно ничего отображаться.

Если же Вы хотите удалить только одно правило перенаправления портов, команда будет немного сложнее:
netsh interface portproxy delete v4tov4 listenport= <целое_число или имя_службы>listenaddress=

  • listenport — обязательный параметр. Задает удаляемый порт IPv4;
  • listenaddress — задает удаляемый адрес IPv4. Если адрес не задан, по умолчанию используется локальный компьютер.

например:
netsh interface portproxy delete v4tov4 listenport=5556
В этом примере мы удаляем port mapping, который был настроен на локальном компьютере, на порту 5556.

Изменение настроек port mapping через netsh

Если Вы хотите изменить значения параметров существующей на portproxy-сервере (т.е. на компьютере, где Вы запускали команду netsh interface portproxy add …) записи, созданной командой add v4tov4, или добавить новую запись port mapping / port forwarding, выполните следующую команду:
netsh interface portproxy set v4tov4 listenport= <целое_число или имя_службы>listenaddress= connectport= <целое_число или имя_службы>connectaddress=

  • listenport — обязательный параметр. Задает порт IPv4, который должен прослушиваться, по номеру порта или имени службы;
  • listenaddress — задает IPv4-адрес, который должен прослушиваться. Может быть введен IP-адрес, NetBIOS-имя или DNS-имя компьютера. Если адрес не задан, по умолчанию используется локальный компьютер;
  • connectaddress — задает IPv4-адрес, к которому следует подключаться. Может быть введен IP-адрес, NetBIOS-имя или DNS-имя компьютера. Если адрес не задан, по умолчанию используется локальный компьютер;
  • connectport — задает порт IPv4, к которому следует подключаться, по номеру порта или имени службы. Если параметр connectport не задан, по умолчанию используется значение listenport на локальном компьютере.

например:
netsh interface portproxy set v4tov4 listenport=5556 listenaddress=192.168.1.1 connectport=3300 connectaddress=192.168.1.10
В этом примере на компьютере с IP адресом 192.168.1.1 была изменена настройка порта № 5556: теперь при подключении к этому порту все пакеты, приходящие на порт, автоматически будут пересылаться на IP адрес 192.168.1.10, на порт 3300.

Примечание: Можно изменять любые значения параметров для существующей записи сервера portproxy. Если значения не заданы, изменения не производятся.

Источник