port forwarding что это
Как работает переадресация портов (Port Forwarding)
Большинство людей не имеют никакого представления, что такое перенаправление портов (Port Forwarding) и что можно сделать используя эту технологию. В этой статье мы собираемся объяснить, что такое переадресация портов и как вы можете использовать ее для доступа к локальным устройствам, таким как камеры, устройств NAS, принтеры, и т.д. за пределами вашей локальной домашней или офисной сети. После того, как вы узнаете, как настроить переадресацию портов, вы сможете настроить удаленный рабочий стол и доступ к компьютеру из любой точки мира.
Прежде чем начать разбираться в переадресации портов, вы должны сначала немного узнать о том, что делает в вашей локальной сети маршрутизатор.
Интернет, маршрутизатор и NAT
Большинство домашних сетей, наподобие изображенной выше: у вас есть свои устройства, такие как смартфон, планшетный, компьютер, телевизор и т.д., подключенные напрямую или по беспроводной сети к маршрутизатору, который подключен к Интернету. Однако у вас есть только один IP-адрес для подключения, который является уникальным в Интернете, тогда как все эти устройства подключаются и используют только один адрес?
Вот где вступает в действие ваш маршрутизатор. Он позволяет устройствам в локальной сети связываться с устройствами в Интернете с помощью NAT (Network Address Translation). Так что же такое NAT? Мы не будем вдаваться в подробности, но в общем, это выглядит так — все IP-адреса в вашей локальной сети являются частными или защищенными адресами. Это означает, что они могут быть использованы только в частной сети. Пример частных адресов: 10.x.x.x, 192.x.x.x и т.д.
Каждое устройство в сети получает назначенный ему частный адрес маршрутизации через сервис под названием DHCP. Это сетевой протокол, который конфигурирует устройства в сети с адресами, так что они могут взаимодействовать друг с другом. С другой стороны маршрутизатор подключается к Интернету. В этом интерфейсе, маршрутизатор имеет IP-адрес, назначенный провайдером, который является уникальным.
Как вы можете видеть, IP-адрес здесь начинается по другому (99.108.xx). Теперь начинает работу NAT. Если компьютер в вашей локальной сети попытается отправить данные через Интернет, ничего не произойдет пока трафик не будет маршрутизироваться. Любой трафик с частного адреса в Интернет отбрасывается. Так вместо этого, компьютер посылает данные на маршрутизатор, который затем «переводит» эти данные и отправляет их через Интернет.
Чтобы объяснить это немного более понятно, приведем пример: компьютер внутри сети хочет подключиться к компьютеру в Интернете, то есть попасть на сайт Google.com из веб-браузера. Этот запрос передается в маршрутизатор, который является шлюзом по умолчанию.
Теперь маршрутизатор просто берет эти данные и изменяет адрес источника в локальной сети и заменяет его на IP для общественного маршрутизатора. При этом также делается запись в NAT таблице, что этот компьютер сделал запрос на определенный порт для этого интернет-ресурса. Когда внешний сервер отвечает, он будет посылать данные обратно к маршрутизатору. Маршрутизатор проверит NAT таблицу и посмотрит, какой компьютер инициировал эту связь. Затем он направляет эти данные в порт на локальном компьютере, который запрашивал данные.
Если все это слишком сложно для вас, вы можете обратиться в сервисный центр CyberTech: модернизация компьютера и качественное обслуживание с гарантией правильной настройки.
Перенаправление портов
Так это все великолепно работает для просмотра веб-страниц, отправки электронной почты, и т.д., потому что в почтовых клиентов и веб-браузеров порты предопределены. Например, HTTP-трафик всегда идет через порт 80. Это регламентируется IANA и все должны следовать этому. SMTP, который используется для отправки электронной почты, использует порт 25 по умолчанию. Однако то, что происходит, когда кто-то пытается подключиться к маршрутизатору из Интернета на порт 80, например?
По умолчанию, если вы не настроили переадресации портов и ваш брандмауэр включен, что соединение просто будет прекращено. Если вы хотите запустить веб-сервер в локальной сети, вам придется пересылать трафик, поступающий в порт 80 на местной IP-адрес машины под управлением веб-сервера. Другой пример, если вы используете игровой сервер в локальной сети, и вы хотите, чтобы ваши друзья имели возможность присоединиться к вам в игре, вы можете принимать новые подключения на порт 55202. Это значит, что вы должны направить данные, поступающие в порт 55202 в маршрутизаторе к IP адресу игрового сервера в локальной сети. IP камера, например, может использовать порт как 5000 для входящих соединений.
Как вы можете видеть, переадресация портов, не так сложна. Вы даете устройству имя (Netcam, RDP, и т.д.), затем задаете начальные и конечные номера портов. Обычно они являются одинаковыми. Это означает, что данные, поступающие в порт 5000 из-за пределов сети будут направлены на порт 5000 на локальном компьютере внутри сети. После того как вы выбираете номера портов, введите в IP-адрес устройства, которое собирается ожидать данные по этому номеру порта.
Дополнительные материалы:
2 комментария
Очень сложно и мутно, не понятно! У меня модем Д-линк 500Т дсл. Я не могу выйти ни на один сайт. Говорят, что нужно что-то перенастроить. Нигде не нашел «что». Может подскажете?
Авторы ламеры и сами не понимают о чём пишут.
Ликбезы им надо читать, а не писать
Wi-CAT LLC
Wireless Comprehensive Advanced Technology. Build your network now.
В данной статье рассмотрим всё, что связано с Port Forward (проброс портов) – автоматически и вручную.
Часто, помимо обеспечения доступа в интернет пользователям, подключенным к маршрутизатору, возникают такие задачи как:
– прозрачный доступ к какому-либо устройству или сервису, находящемуся в локальной сети
– фильтрация входящих или исходящих соединений с целью ограничить посещение тех или иных ресурсов, работу сервисов, и другие несанкционированные активности.
По сути, раздел веб-интерфейса Firewall (Сетевой Экран) — это не что иное, как GUI, позволяющий создавать правила iptables, не прибегая к консоли. Разумеется, последний вариант (консоль) позволяет осуществить более гибкую настройку политик разрешений и запретов, и если есть такая возможность, то лучше «подружиться» с iptables (тем более, что это штатное средство unix-систем, и понимание логики его работы будет применимо и к работе с другими unix-based устройствами). Однако, базовые пользовательские задачи вполне решаются посредством web.
1. Настройки проброса портов (Port Forwarding).
Иногда нам необходимо организовать удаленный доступ к устройству, находящемуся в локальной сети, по тому или иному протоколу. К примеру, доступ к web-интерфейсу IP телефона (по умолчанию, порт 80), или же работу с удаленным рабочим столом по протоколу RDP (по умолчанию порт в Windows 3389). Также, может возникнуть задача обеспечения функционирования сервиса, запущенного в локальной сети, который ведет прием и передачу данных по конкретному диапазону равнозначных портов (к примеру, SIP сервер, или же раздача контента посредством torrent клиента).
Но с точки зрения того, кто находится в глобальной сети, все эти устройства имеют один и тот же IP адрес (либо доменное имя). Именно тут на помощь приходит проброс портов (port forward).
Включение проброса портов (port forward)
Для включения сервиса необходимо обратиться к пунктам меню:
Сетевой экран (Firewall) → Сетевой экран (Firewall) → Настройка проброса портов (Port Forwarding), и включить сервис.
Настройка проброса портов (Port forward) на роутере
Например, правило вида:
Interface (Интерфейс) = WAN,
Protocol (Протокол) = TCP,
Src Ports (Порт ист.) = 8888,
Dst IP (IP назначения) = 192.168.1.124,
Dst Ports (Порт назн.) = 80,
Comment (Комментарий) = ‘IP Phone’
будет означать, что при обращении по адресу http://Ваш_IP_адрес:8888 либо http://Ваш_Домен:8888 весь TCP трафик будет перенаправляться на устройство, имеющее IP адрес 192.168.1.124 в Вашей локальной сети, а именно — на 80 порт.
TCP&UDP / 3389 / 192.168.1.150 / 3389 / ‘RDP’
гласит о том, что в Вашей сети есть ПК, живущий на IP адресе 192.168.1.150, к удаленному рабочему столу на котором Вы подключитесь, сказав “http://Ваш_Домен:3389” (т.к в примере выбран интерфейс VPN, то судя по всему, указать статический IP просто невозможно — для решения этой проблемы можно воспользоваться аккаунтом на одном из DynDNS сервисов (такая возможность также доступна штатно в ПО Wive-NG).
Настройка Dynamic DNS
Настройка статической пары MAC-IP на DHCP сервере роутера
Если же Вам необходимо пробросить диапазон портов, необходимо учесть следующее:
1. Стоит по возможности избегать проброса с разными портами src/dst, т.к при использовании комплексных протоколов обслуживаемых ALG (FTP/RTSP/SIP/PPTP/L2TP etc) т.к., могут возникать разночтения.
2. Ширина диапазонов src и dst портов должна совпадать.
3. Порты должны быть равнозначны. Т.е, работа сервиса не должна зависеть от конкретного выбранного порта из диапазона. Такими случаями, например, являются: data порты FTP сервера, порты для передачи голоса SIP сервера, порты раздачи torrent, и т.д.
4. Если необходимо настроить NETMAP, т.е проброс 1:1 (фиксированные пары src и dst портов диапазона), то необходимо каждую пару создавать отдельным правилом. В общем случае при указании диапазона соединение осуществляется на первый доступный порт для которого в conntrack отсутствует запись.
2. Пара слов про UPNP
На сегодняшний день многие приложения, включая torrent-клиенты, умеют UPNP IGD (Universal Plug and Play Internet Gateway Device), что позволяет не пробрасывать порты вручную для этих приложений, а воспользоваться автоматичесим пробросом. OS Wive-NG также поддерживает эту возможность. Основным условием является включение UPNP как на роутере, так и в настройках клиента.
Включить UPNP можно в блоке настроек Сервисы → Разное → Сервис
Включение UPNP на роутере
3. Пара слов про настройки ALG (Шлюз прикладного уровня)
ALG (Application Layer Gateway, Шлюз прикладного уровня) анализирует проходящий трафик, распрозает конкретные протоколы и осуществляет ретрансляцию на стандартный порт, соответствующий протоколу. Это позволяет нескольким клиентским устройствам, находящимся за NAT (т.е, в локальной сети маршрутизатора) одновременно и беспрепятственно вести обмен трафиком ряда прикладных протоколов с внешними хостами без настройки проброса портов. В linux данная опция называется Conntrack NAT Helpers.
Включение ALG на роутере
В Wive-NG ручная настройка ALG не требуется — достаточно выбрать интересующий протокол из списка.
4. Пара слов про DMZ (Демилитаризованная зона)
Настройка DMZ на роутере
Важно: при включении DMZ NAT loopback соединения с LAN на маршрутизатор будут обрабатываться тем же образом, что и соединения с WAN. То есть, доступ к маршрутизатору будет утерян, тк все запросы будут перенаправлены на соответствующие порты по адресу, указанному в качестве DMZ.
Важно: чтобы избежать конфликта, не следует одновременно с DMZ настраивать правила firewall, содержащие в себе тот же адрес, что указан в качестве DMZ.
Особенности фильтрации трафика по IP / MAC / портам рассмотрим в следующей статье…..
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Настройка проброса портов для создания интернет-сервисов
Порты позволяют сетевым и подключенным к интернету устройствам взаимодействовать через указанные каналы. Хотя серверы с назначенными IP адресами могут подключаться к интернету напрямую и делать порты публично доступными, система, находящаяся за роутером в локальной сети, может оказаться недоступной из интернета. Технология проброса портов (port forwarding) позволяет преодолеть это ограничение и сделать устройства доступными публично.
Сетевые сервисы и приложения, запущенные на различных устройствах, используют порты с определенными номерами с целью инициации соединений и организации коммуникаций. Разные порты могут использоваться одновременно для разделения типов трафика и запросов. Обычно порты ассоциируются с определенными службами, чтобы клиент мог подключиться к серверу по определенному порту, а сервер принять соединение и ответить соответствующим образом.
Ниже представлены наиболее распространенные порты:
Если вы читаете это руководство в интернете при помощи веб-браузера, то вероятно используете протокол HTTPS, работающий на порту 443.
Хотя порты упрощают задачу идентификации и обработки определенных запросов, соглашение о нумерации портов является стандартом, но не правилом. Порты могут использовать для любых задач при условии, что соединение между клиентом и сервером на указанном порту использует соответствующий протокол.
В веб-браузерах нестандартные HTTP порты могут быть указаны после двоеточия в конце IP адреса или URL с целью загрузки содержимого через этот порт. Если веб-сервер запущен на локальной машине на порту 8080, а не более общепринятом 80 порту, возможно получить доступ к этому серверу, если ввести в браузере адрес localhost:8080 или 127.0.0.1:8080. Если же ввести один из вышеуказанных адресов без суффикса «:8080» та же самая страница загружена не будет.
Хотя любой открытый порт должен позволять попытки соединения, чтобы эти попытки совершились, у клиента должен быть сетевой доступ к целевому устройству. В случае с сервером, подключенным к интернету напрямую, или при соединении через локальную сеть, сложностей обычно не возникает. Проблема появляется в тот момент, когда мы пытаемся подключиться к порту у устройства, находящегося за роутером или фаерволом.
Большинство домашних или офисных сетей подключено к интернету через роутер, который регулирует доступ и аккумулирует трафик на одном IP адресе. Все запросы и пакеты отсылаются через роутер перед обратным возвращением ответов на соответствующие устройства, сделавшие изначальные запросы. По умолчанию роутеры не обрабатывают входящие запросы на определенных портах. Если кто-то пытается подключиться к роутеру через SSH, роутер не сможет ни обработать этот запрос, ни отправить этот запрос дальше по цепочке, поскольку не знает целевого адресата. Эту проблему как раз и решает настройка проброса портов внутри роутера.
Шаг 1. Выяснение IP адреса роутера
Обычно у роутеров доступна административная панель по протоколу HTTP (порт 80). В большинстве случаев для доступа используется локальный IP адрес роутера (192.168.0.1 или 192.168.1.1). В Microsoft Windows подключенный роутер (или шлюз, используемый по умолчанию) легко обнаружить при помощи команды ipconfig/all.
В Линуксе та же самая задача решается при помощи утилиты netstat. Откройте терминал и введите следующую команду для выяснения IP адреса подключенного роутера.
В macOS используется та же самая команда:
Шаг 2. Доступ к конфигурационной панели роутера
После выяснения локального IP адреса роутера вы можете получить доступ к конфигурационной панели, если введете адрес в браузере, как и в случае с обычным URL (у некоторых роутеров, например, предусмотрено мобильное приложение, и задача упрощается).
Рисунок 2: Форма авторизации конфигурационной панели роутера
После загрузки панели управления необходимо выполнить авторизацию. Имя пользователя и пароль могут быть установлены производителем или интернет-провайдером или вами. Эту информацию можно найти в документации на роутер или на корпусе.
Хотя у разных роутеров панель управления может отличаться, в целом процедура настройки примерно одинаковая. После авторизации зайдите в раздел «Advanced» или найдите, где находится раздел «Port Forwarding». В нашем случае соответствующий раздел называется «Advanced Port Forwarding Rules».
Рисунок 3: Раздел с настройкой проброса портов
Шаг 3. Настройка правил проброса портов
Правило было названо как «RBPi SSH» с целью упрощения идентификации в будущем. В целом имя правила полностью зависит от ваших личных предпочтений и не влияет на используемые порты.
Диапазон параметра Public Port (иногда именуемого как Source Port) установлен от 22 до 22 (стандартный порт протокола SSH). Этот порт роутер сделает доступным через интернет. Через этот же порт пользователь будет подключаться к Raspberry Pi.
Параметр Private Port (иногда именуемый как Destination Port) установлен как 22, поскольку демон SSH на устройстве Pi работает на 22 порту.
Параметр Traffic Type установлен как TCP, поскольку по протоколу SSH передается TCP трафик.
Параметр IP Address соответствует IP адресу устройства Pi в локальной сети (192.168.0.105).
Наконец, слева от правила отмечен флажок, чтобы правило стало активным.
У вашего роутера интерфейс может отличаться, но в целом суть настроек остается неизменной.
Рисунок 4: Настройки правила проброса портов для авторизации через протокол SSH
Вышеуказанное правило означает, что пользователь может подключаться по IP адресу роутера по протоколу SSH через интернет и впоследствии будет перенаправлен на сервер устройства Raspberry Pi. Эту схему можно использовать для создания веб-сервера, работающего на 80 порту, или, например, для прикрепления сервера видеоигр к указанному порту. Учитывайте, что у некоторых провайдеров есть правила, касательно хостинга и другого контента, которые нужно учитывать перед тем, как сделать доступным сервер из локальной сети.
Шаг 4. Защита от сканирования портов и атак
Одна из проблем, возникающая во время открытия портов в интернете при помощи проброса – порты становятся доступными для сканирования. Злоумышленники в интернете могут использовать автоматизированные средства для сканирования диапазонов IP адресов или утилиты навроде Shodan для поиска потенциально уязвимых устройств с определенными активными портами. Порты протокола SSH являются основной целью, поскольку дают доступ к шеллу, при помощи которого можно украсть данные или установить вредоносное приложение.
В случае проброса портов для защиты от сканирования может оказаться полезным поменять публичный или исходный порт в настройках роутера. Вместо распространенного порта 22, на который настроены все сканеры, можно указать нестандартный порт (например, 9022).
Рисунок 5: Настройка SSH на нестандартный порт
После смены порта клиент при подключении к устройствам через SSH из интернета должен будет указать порт 9022. Попытка подключиться к порту 22 извне окажется неудачной, поскольку проброс будет идти от порта 9022, а не от порта 22.
Вы также можете использовать сервис типа Fail2ban (фреймворк для защиты от внешний вторжений), предназначенного для защиты сети от атак с использованием брутфорса, после того как злоумышленник найдет активный порт. Утилиты навроде Fail2ban ограничивают количество попыток авторизации, выполняемых из внешней сети.
Проброс портов в Линуксе на системном уровне
Проброс портов на уровне роутера может быть полезным для настройки сетей, доступных через интернет. В Линуксе ту же самую задачу можно решить на системном уровне.
Схожим образом, что и порт роутера связывается с указанным портом устройства внутри локальной сети, один порт можно связать с другим для упрощения использования. Например, при установке ханипота Cowrie демон SSH перемещается от порта 22 на порт 9022. Затем порт 2222, где работает ханипот, перенаправляется на порт 22, который будет доступен в интернете и, как следствие, с высокой степенью вероятности просканирован и атакован.
Для конфигурирования локального проброса портов в Линуксе вначале нужно выполнить следующую команду с целью установки в параметр ip_forward значения 1 (в этом случае проброс портов активируется на уровне операционной системы):
Как только IP форвардинг включен, убедитесь, что вы знаете текущий порт сервиса, который нужно пробросить. Во время конфигурирования ханипота Cowrie эта задача решается посредством настройки демона SSH на порт 9022.
Наконец, для включения локального проброса портов, можно воспользоваться iptables. Команда ниже перенаправляет запросы с порта 22 на порт 2222, где эти запросы обрабатывает ханипот.
Другие сферы, где используется проброс портов
Перенаправление портов может использоваться и в других задачах. Например, порт 8080 может быть перенаправлен на порт 80 с целью облегчения доступа к тестовому серверу, или могут быть добавлены новые порты для использования определенной службой. Проброс портов полезен для удаленного доступа, администрирования сервера, конфигурирования сети и даже во время пост-эксплуатации и пивотинга. Понимание этой технологии может быть ключом к бесчисленному множеству других проектов по безопасности.
ИТ База знаний
Полезно
— Онлайн генератор устойчивых паролей
— Онлайн калькулятор подсетей
— Руководство администратора FreePBX на русском языке
— Руководство администратора Cisco UCM/CME на русском языке
— Руководство администратора по Linux/Unix
Навигация
Серверные решения
Телефония
FreePBX и Asterisk
Настройка программных телефонов
Корпоративные сети
Протоколы и стандарты
Port Forwarding: теория и настройка Cisco
Port Forwarding – или проброс портов, который также иногда называемый перенаправлением портов или туннелированием – это процесс пересылки трафика, адресованного конкретному сетевому порту с одного сетевого узла на другой. Этот метод позволяет внешнему пользователю достичь порта на частном IPv4-адресе (внутри локальной сети) извне, через маршрутизатор с поддержкой NAT.
Полный курс по Сетевым Технологиям
В курсе тебя ждет концентрат ТОП 15 навыков, которые обязан знать ведущий инженер или senior Network Operation Engineer
Обычно peer-to-peer (p2p) программы и операции обмена файлами, такие как веб-сервер и FTP, требуют, чтобы порты маршрутизаторов были перенаправлены или открыты, чтобы позволить этим приложениям работать.
Поскольку NAT скрывает внутренние адреса, p2p работает только в ситуации где соединение идет изнутри наружу, где NAT может сопоставлять исходящие запросы с входящими ответами.
Проблема в том, что NAT не разрешает запросы, инициированные извне, но эту ситуацию можно решить с помощью перенаправления портов. Проброс портов может быть настроен для определенных портов, которые могут быть перенаправлены внутренним хостам.
Напомним, что программные приложения в интернете взаимодействуют с пользовательскими портами, которые должны быть открыты или доступны для этих приложений. В различных приложениях используются разные порты. Например, HTTP работает через well-known порт 80. Когда кто-то набирает адрес wiki.merionet.ru то браузер отображает главную страницу нашей базы знаний. Обратите внимание, что им не нужно указывать номер порта HTTP для запроса страницы, потому что приложение принимает порт 80. Если требуется другой номер порта, его можно добавить к URL-адресу, разделенному двоеточием (:). Например, если веб-сервер слушает порт 8080, пользователь вводит http://www.example.com:8080.
Проброс портов позволяет пользователям в интернете получать доступ к внутренним серверам с помощью адреса порта WAN маршрутизатора и соответствующего номера внешнего порта. Внутренние серверы обычно конфигурируются с частными адресами IPv4 и когда запрос отправляется на адрес порта WAN через Интернет, маршрутизатор перенаправляет запрос на соответствующий сервер в локальной сети. По соображениям безопасности широкополосные маршрутизаторы по умолчанию не разрешают перенаправление любого внешнего сетевого запроса на внутренний хост.
Пример с ”домашним” роутером
На схеме показан пример, когда проброс портов выполнятся при помощи домашнего SOHO (small office/home office) роутера. Переадресация портов может быть включена для приложений при помощи указания внутреннего локального адреса. Пользователь в интернете вводит адрес //wiki.merionet.ru, который соответствует внешнему адресу 212.193.249.136 и пакет попадает на маршрутизатор, который перенаправляет HTTP-запрос на внутренний веб-сервер по адресу IPv4 192.168.1.10, используя номер порта по умолчанию 80.
Можно указать порт, отличный от порта 80 по умолчанию. Тем не менее, внешний пользователь должен знать конкретный номер порта для использования. Подход, используемый для настройки перенаправления портов, зависит от марки и модели маршрутизатора.
Настройка проброса порта
В общем виде основная команда выглядит так:
Подобно статическому NAT, команда show ip nat translations может использоваться для проверки переадресации портов.
Полный курс по Сетевым Технологиям
В курсе тебя ждет концентрат ТОП 15 навыков, которые обязан знать ведущий инженер или senior Network Operation Engineer