General guide to port forwarding a router

Is Port Forwarding Safe?

Yes and no. You are actually poking holes in your router by port forwarding. Nothing is ever safe online, and there’s always an underlying risk. On the other hand, you can’t connect to a game server or an external network without applying port forwarding rules. This leaves you vulnerable but only to specific traffic, and if the external device can’t communicate with you, it’s game over for them.

For example, you might have port 443 open for a database connection. Someone trying to FTP into that (which would normally be port 21) can’t communicate with port 443. It’s like trying to fit a square peg in a round hole.

Что означает «открытый» порт?

Связь на уровне транспортного уровня, использующая в основном протоколы TCP и UDP, использует так называемый «Интернет-сокет». Этот сокет представляет собой механизм, с помощью которого два процесса (например, приложения) могут обмениваться данными через локальную сеть или через Интернет. Любой поток данных, использующий TCP или UDP, требует как минимум следующей информации:

  • Источник IP
  • Порт отправления
  • Целевой IP-адрес
  • порт назначения

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

Когда мы определяем, что «порт открыт», это может быть в двух очень разных сценариях:

  • Открытый порт на локальном компьютере , например, на нашем компьютере или на локальном сервере. В принципе, все порты должны быть закрыты, потому что брандмауэр обычно настроен ограничительно (все блокируется, кроме того, что специально разрешено).
  • Открытый порт в NAT роутера . Обычно в маршрутизаторе нет «открытого» порта, а точнее, в разделе «Виртуальный сервер» или «Переадресация портов» нет порта на какой-либо компьютер. По умолчанию в любом маршрутизаторе эта таблица пуста, однако мы можем зарегистрировать разные правила для открытия портов на разных компьютерах.

Когда нам нужно открывать порты локально?

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

Обычно в домашних условиях, если мы устанавливаем Windows 10 или Linux-основная операционная система как «Частная сеть» или «Домашняя сеть», брандмауэр отключен, и все входящие соединения будут разрешены. Однако, если у нас есть «общедоступная сеть», брандмауэр будет активирован и заблокирует все входящие соединения, которые мы ранее не делали исходящими, поэтому мы сталкиваемся с «ограничивающим» брандмауэром.

Когда нужно открывать порты в NAT роутера?

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

Любой роутер по умолчанию не имеет правил для перенаправления портов, нам придется делать это специально

Кроме того, очень важной деталью является то, что если у вашего оператора есть CG-NAT, даже если вы откроете порт на маршрутизаторе извне, вы не сможете ничего сделать для доступа к внутренним ресурсам локальной сети

Настройка ip камеры для просмотра через интернет

Итак, чтобы подключить ip камеру к интернету:

— введите в адресную строку браузера её «ip адреса» (логин и пароль для входа уточните или на самой камеры или также в документах) или можно воспользоваться установочным диском, который также поставляется в комплекте с устройством;
— теперь перейдите на вкладку «Setting» (Настройки) – «Basic» (Базовые);
— далее раздел «Network» (Сеть) – «Information» (Информация);
— в строке «ip адрес» введите адрес, который будет находиться в одной подсети с вашим компьютером (192.168.0.12);
— и в данном разделе обратите внимание на строку «НTTP port»: по умолчанию стандартный порт ip камеры под номером 80, но иногда провайдеры блокируют данный порт. Поэтому рекомендуем изменить номер порта на любой подходящий для этого (благо, диапазон возможных портов огромен)

Например, «7777» и нажмите «ОК».

  • Кроме того, рекомендуем обойти стороной порты ip камер со следующими номерами: «21», «23», «25», «433», «435», «1243», «137», «139», «555», «666», «1025» и «7000» — по статистике они наиболее подвержены вирусному заражению (или могут быть использованы для получения несанкционированного доступа к вашей ip камере).
  • — далее перейдите на вкладку «System» (Система) – «Initialize» (Инициализировать): для того чтобы изменения вступили в силу нажмите «Reboot» — для перезагрузки ip камеры.

Теперь вернитесь в свойства вашей сети и верните прежний «ip адрес» 192.168.0.11.

Как узнать порт роутера

Для установления связи с раздатчиком нужно иметь представление о его «адресе». Для упрощения задачи большинство производителей присваивает изделиям стандартный «айпишник» – 192.168.1.1 (предпоследняя цифра может быть также 0). Чаще всего на корпусе есть наклейка, где указана эта информация.

Ну а если ее нет, как узнать порт роутера? Это просто. Запускаем любой браузер на компьютере и печатаем уже известные нам варианты IP-адресов.

Другой способ – задействовать командную строку. В нее вбиваем кодовое слово IPCONFIG. Оно вызовет нужные данные (смотрим, что написано рядом с пунктом «Основной шлюз»).

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

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

То есть:

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

Примеры пробросов

RDP (удаленный рабочий стол)

  • Chain — dstnat;
  • Dst. Address — внешний IP-адрес;
  • Protocol — rdp;
  • Action — dst-nat;
  • To Address — IP-адрес сервера, на который должно идти перенаправление.

 

* если данная настройка не сработает, меняем протокол на tcp и задаем порт RDP — по умолчанию, 3389.

WWW (80 или веб-сервер или http)

  • Chain — dstnat;
  • Dst. Address — внешний IP-адрес;
  • Protocol — tcp;
  • Dst. Port — 80;
  • Action — dst-nat;
  • To Address — IP-адрес сервера, на который должно идти перенаправление.

FTP

  • Chain — dstnat;
  • Dst. Address — внешний IP-адрес;
  • Protocol — tcp;
  • Dst. Port — 20,21;
  • Action — dst-nat;
  • To Address — IP-адрес сервера, на который должно идти перенаправление.

Видеонаблюдение

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

В данном примере рассмотрим проброс RTSP.

  • Chain — dstnat;
  • Dst. Address — внешний IP-адрес;
  • Protocol — udp;
  • Dst. Port — 554;
  • Action — dst-nat;
  • To Address — IP-адрес сервера, на который должно идти перенаправление.

* RTSP работает по протоколам TCP и UDP. В данном примере правило настроено для последнего.

Почтовая система Zimbra

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

  • 25 — основной порт для обмена почтой по протоколу SMTP.
  • 80 — веб-интерфейс для чтения почты (http).
  • 110 — POP3 для загрузки почты.
  • 143 — IMAP для работы с почтовым ящиком с помощью клиента.
  • 443 — SSL веб-интерфейс для чтения почты (https).
  • 465 — безопасный SMTP для отправки почты с почтового клиента.
  • 587 — SMTP для отправки почты с почтового клиента (submission).
  • 993 — SSL IMAP для работы с почтовым ящиком с помощью клиента.
  • 995 — SSL POP3 для загрузки почты.
  • 5222 — для подключения к Zimbra по протоколу XMPP.
  • 5223 — для защищенного подключения к Zimbra по протоколу XMPP.
  • 7071 — для защищенного доступа к администраторской консоли.
  • 8443 — SSL веб-интерфейс для чтения почты (https).
  • 7143 — IMAP для работы с почтовым ящиком с помощью клиента.
  • 7993 — SSL IMAP для работы с почтовым ящиком с помощью клиента.
  • 7110 — POP3 для загрузки почты.
  • 7995 — SSL POP3 для загрузки почты.
  • 9071 — для защищенного подключения к администраторской консоли.

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

Сама настройка на микротике будет такой:

  • Chain — dstnat;
  • Dst. Address — внешний IP-адрес;
  • Protocol — tcp;
  • Dst. Port — 25,80,110,143,443,465,587,993,995,5222,5223,9071,7071,8443,7143,7993,7110,7995;
  • Action — dst-nat;
  • To Address — IP-адрес сервера, на который должно идти перенаправление.

Уязвимости сервисов

Во всем популярном ПО рано или поздно находят ошибки, даже в самых оттестированных и самых критичных. В среде ИБэшников, есть такая полу-шутка — безопасность инфраструктуры можно смело оценивать по времени последнего обновления. Если ваша инфраструктура богата торчащими в мир портами, а вы ее не обновляли год, то любой безопасник вам не глядя скажет, что вы дырявы, и скорее всего, уже взломаны.
Так же стоит упомянуть, что все известные уязвимости, когда-то были неизвестными. Вот представьте хакера, который нашел такую уязвимость, и просканировал весь интернет за 7 минут на ее наличие… Вот и новая вирусная эпидемия ) Надо обновляться, но это может навредить проду, скажете вы. И будете правы, если пакеты ставятся не из официальных репозиториев ОС. Из опыта, обновления из официального репозитория крайне редко ломают прод.

Что предлагает нам Simple Port Forwarding после его установки

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

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

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

Dynamic Port Forwarding

Dynamic port forwarding turns your SSH client into a SOCKS proxy server. SOCKS is a little-known but widely-implemented protocol for programs to request any Internet connection through a proxy server. Each program that uses the proxy server needs to be configured specifically, and reconfigured when you stop using the proxy server.

For example, say you wanted Firefox to connect to every web page through your SSH server. First you would use dynamic port forwarding with the default SOCKS port:

ssh -C -D 1080 laptop

The -D option specifies dynamic port forwarding. 1080 is the standard SOCKS port. Although you can use any port number, some programs will only work if you use 1080. -C enables compression, which speeds the tunnel up when proxying mainly text-based information (like web browsing), but can slow it down when proxying binary information (like downloading files).

Next you would tell Firefox to use your proxy:

  • go to Edit -> Preferences -> Advanced -> Network -> Connection -> Settings…

  • check «Manual proxy configuration»
  • make sure «Use this proxy server for all protocols» is cleared
  • clear «HTTP Proxy», «SSL Proxy», «FTP Proxy», and «Gopher Proxy» fields
  • enter «127.0.0.1» for «SOCKS Host»
  • enter «1080» (or whatever port you chose) for Port.

You can also set Firefox to use the DNS through that proxy, so even your DNS lookups are secure:

  • Type in about:config in the Firefox address bar
  • Find the key called «network.proxy.socks_remote_dns» and set it to true

The SOCKS proxy will stop working when you close your SSH session. You will need to change these settings back to normal in order for Firefox to work again.

To make other programs use your SSH proxy server, you will need to configure each program in a similar way.

Forwarding GUI Programs

SSH can also forward graphical applications over a network, although it can take some work and extra software to forward programs to Windows or Mac OS.

What are some commonly used ports?

Every program on your computer that uses the internet is programmed to send its packets through specific ports. Sometimes the ports are selected arbitrarily by the programmers of the software, but other times programmers will use a more standard port depending on the functionality of the software. Here are a few examples of industry-standard uses for common ports:

  • HTML pages: port 80
  • FTP file transferring: port 21
  • POP3 email: port 110
  • MSN Messenger: port 6901 and ports 6891-6900

For more information on the ports that specific programs use, please see our Port Forwarding Ports List. There you will find the ports that you need to port forward for any application including Minecraft and uTorrent.

»Options Reference

This is a complete list of the options that are available for forwarded
ports. Only the and options are required. Below this section,
there are more detailed examples of using these options.

  • (boolean) — If true, the host port will be changed
    automatically in case it collides with a port already in use. By
    default, this is false.

  • (int) — The port on the guest that you want to be exposed on
    the host. This can be any port.

  • (string) — The guest IP to bind the forwarded port to. If
    this is not set, the port will go to every IP interface. By default,
    this is empty.

  • (int) — The port on the host that you want to use to access the
    port on the guest. This must be greater than port 1024 unless Vagrant
    is running as root (which is not recommended).

  • (string) — The IP on the host you want to bind the forwarded
    port to. If not specified, it will be bound to every IP. By default,
    this is empty.

  • (string) — Either «udp» or «tcp». This specifies the protocol
    that will be allowed through the forwarded port. By default this is «tcp».

  • (string) — Name of the rule (can be visible in VirtualBox). By
    default this is «protocol»»guest» (example : «tcp123»).

Create a Port Forward

A port forward is basically a setting that tells your router to take data that shows up on certain ports and send it to a certain device. In this case the ports are the standard PlayStation Network ports and this device is your PlayStation.

As you configure a forward in your router you may be asked about TCP or UDP. If you router has the option of Both then just use that as it’s simpler. For the PlayStation network on a router that supports both, here’s the list of ports to forward:

If you must forward TCP and UDP separately then create a forward for the TCP ports and create another forward for the UDP ports. For the PlayStation Network here are the required TCP and UDP ports:

Remember that you are creating this forward pointing at the IP address of your PlayStation device.

Here is an example of forwarding the PlayStation Network ports on a very common Linksys router.

Since this router takes ranges of values, we’ve created 3 entries. Each entry has a range of values in it from the list above.

If this router did not support Protocol Both then we would have had to create 4 entries; 2 for TCP and 2 for UDP.

Проброс портов на роутере TP-LINK

Открываем свой любимый браузер и вбиваем в адресную строку локальный адрес нашего роутера. По умолчанию у TP-LINK он такой:192.168.0.1
Имя пользователя admin
Пароль admin

После ввода пароля открывается интерфейс роутера в приятных зеленых тонах.
Кидаем взгляд на левое вертикальное меню и находим там пункт Переадресация.
По буржуйски этот пункт может называться Forwarding.
(Если у вас на роутере стоит какой то другой язык, которым вы не владеете в совершенстве, то можно посоветовать поменять прошивку, закачав ее с официального сайта.)
Раскрыв этот пункт, то есть, просто кликнув по нему, заходим на подпункт Виртуальные серверы (Virtual Servers).

На открывшейся странице ищем единственную активную кнопку Добавить (Add New) и нажимаем ее.
Теперь нам надо заполнить поля, чтобы извне можно было попасть на видеорегистратор.

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

Внутренний порт (Internal Port), напротив, жестко лимитирован. Он указан в регистраторе или IP камере и по умолчанию, как правило, 80.

IP адрес (IP Address) – это внутренний локальный адрес нашего видеорегистратора. Его можно либо посмотреть в самом регистраторе, либо используя специальную программу, которая видит все устройства в сети.

Остальные пункты оставляем без изменений, как показано на рисунке.

После этого нажимаем кнопку Сохранить (Save) и получаем один готовый проброшенный порт, который можно Удалить (Delete) или Изменить (Modify) по нашему желанию.
Перезагрузки маршрутизатора, в отличии от ASUS, при этом не происходит, поэтому вся процедура проходит достаточно быстро.

Опять нажимаем кнопку Добавить (Add New) и пробрасываем следующий порт.
В данном случае показан пример проброса порта 8000, который используется для удаленного видеонаблюдения на мобильных приложениях.

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

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

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

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

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

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

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

How Does Port Forwarding Work?

To understand and appreciate port forwarding, you have to know about TCP/UDP ports first. The process is similar to how customer support works. If you’re familiar with Interactive Voice Response (IVRs), you may press 3 to speak with technical support and 4 to speak with the billing department.

Think of your router as an IVR; it knows specific rules and directs you, the caller, to the right place. Like an IVR, your router has specific directives configured in the backend that will perform a similar function, sending internet traffic that is associated with a port number to the specific device on the network that is configured to receive that traffic. (Don’t worry, every packet that hits your router that is intended for your game or server is embedded with the port, so your router will know what to do.)

You should also know that every application uses a specific port number to handle incoming requests from the outside world. For instance, the FTP protocol receives traffic only from port number 21, while the HTTP protocol uses port number 80.

Remember our first analogy here, the phone number of a company is the IP address, and the forwarded requests as denoted by the numbers you press when interacting with the IVR are the port numbers.

Whenever you connect to the internet, your internet service provider will assign your device a public IP address. An IP address is just a number (like your house number) that allows ISPs and other networks to recognize you on the internet. But your ISP will assign you a single IP address only; your ISP is pretty oblivious to the fact that you may have WiFi-powered cameras, tablets, 5 computers, and 3 consoles. This is where your router comes in.

When you connect your computer to a WiFi router, which connects to a modem, the router will assign private IP addresses to every single one of your devices (e.g., 192.168.2.33, 192,168.2.92, 192.168.2.221). Your public IP (let’s say it’s 123.45.67.89) address will be the one your ISP assigns you, but your private IP addresses may change.

To simplify things, look at this to understand the connection:

All connected devices at home

Now comes the port forwarding part…

Take the website example here. If you’re hosting a web server, someone trying to access your website will make incoming requests to port 80, the HTTP protocol’s assigned port (unless you happen to be hosting your web server on a different port, but we’re keeping it simple here).

In order for traffic to hit the web server that’s situated behind your router (remember, with 5 computers, 3 consoles, and a bunch of tablets, among other things, how is the router supposed to know which one is the web server?), you need to specify a rule in your router configuration that directs port 80’s traffic to your web server (denoted by its private IP).

Therefore, 123.45.67.89’s web traffic will be directed via the router to 192.168.2.92:80. Without port forwarding, when you tell your two friends to join your Minecraft server using your public IP address, it won’t work. You need to make similar configurations for all the games you play, in fact.

Those configurations put simply, are exactly what port forwarding achieves. It’s a directive that “my webserver gets port 80 traffic” and “my Xbox One gets UDP ports 4500, 3544, 3074-3075, 500, and 88 as well as TCP port 3074 so that I can play Call of Duty: Modern Warfare effectively.” In other words, if you are a heavy gamer and internet geek like we are, you’ll be making a lot of rules like these to divert traffic to the right devices.