Настройка проброса портов для создания интернет-сервисов
Если вы читаете это руководство в интернете при помощи веб-браузера, то вероятно используете протокол HTTPS, работающий на порту 443.
Хотя порты упрощают задачу идентификации и обработки определенных запросов, соглашение о нумерации портов является стандартом, но не правилом. Порты могут использовать для любых задач при условии, что соединение между клиентом и сервером на указанном порту использует соответствующий протокол.
В веб-браузерах нестандартные HTTP порты могут быть указаны после двоеточия в конце IP адреса или URL с целью загрузки содержимого через этот порт. Если веб-сервер запущен на локальной машине на порту 8080, а не более общепринятом 80 порту, возможно получить доступ к этому серверу, если ввести в браузере адрес localhost:8080 или 127.0.0.1:8080. Если же ввести один из вышеуказанных адресов без суффикса «:8080» та же самая страница загружена не будет.
Хотя любой открытый порт должен позволять попытки соединения, чтобы эти попытки совершились, у клиента должен быть сетевой доступ к целевому устройству. В случае с сервером, подключенным к интернету напрямую, или при соединении через локальную сеть, сложностей обычно не возникает. Проблема появляется в тот момент, когда мы пытаемся подключиться к порту у устройства, находящегося за роутером или фаерволом.
超詳細解說!IP 位置在哪裡?為什麼無法連線?如何 Port Forwarding?伺服器架設教學《CC字幕》
Большинство домашних или офисных сетей подключено к интернету через роутер, который регулирует доступ и аккумулирует трафик на одном IP адресе. Все запросы и пакеты отсылаются через роутер перед обратным возвращением ответов на соответствующие устройства, сделавшие изначальные запросы. По умолчанию роутеры не обрабатывают входящие запросы на определенных портах. Если кто-то пытается подключиться к роутеру через SSH, роутер не сможет ни обработать этот запрос, ни отправить этот запрос дальше по цепочке, поскольку не знает целевого адресата. Эту проблему как раз и решает настройка проброса портов внутри роутера.
Шаг 1. Выяснение IP адреса роутера
C:> ipconfig/all Windows IP Configuration Host Name . . . . . . . . . . . . : █████████ Primary Dns Suffix . . . . . . . : █████████ Node Type . . . . . . . . . . . . : █████████ IP Routing Enabled . . . . . . . : █████████ WINS Proxy Enabled . . . . . . . : █████████ Ethernet adapter Ethernet: Connection-specific DNS Suffix . : █████████ Description . . . . . . . . . . . : Intel(R) PRO/1000 MT Desktop Adapter Physical Address . . . . . . . . : █████████ DHCP Enabled . . . . . . . . . . : Yes Autoconfiguration Enabled . . . . : Yes Link-local IPv6 Address . . . . . : █████████ IPv4 Address . . . . . . . . . . : █████████ Subnet Mask . . . . . . . . . . . : 255.255.255.0 Lease Obtained . . . . . . . . . : █████████ Lease Expires . . . . . . . . . . : █████████ Default Gateway . . . . . . . . . : 192.168.0.1 DHCP Server . . . . . . . . . . . : 192.168.0.1 DHCPv6 IAID . . . . . . . . . . . : █████████
Обычно у роутеров доступна административная панель по протоколу HTTP (порт 80). В большинстве случаев для доступа используется локальный IP адрес роутера (192.168.0.1 или 192.168.1.1). В Microsoft Windows подключенный роутер (или шлюз, используемый по умолчанию) легко обнаружить при помощи команды ipconfig/all.
EP68 軍曹IT資源課, 路由器係乜, IP係乜野? 點樣SET Port Forward? HD [廣東話.中文字幕]
В Линуксе та же самая задача решается при помощи утилиты netstat. Откройте терминал и введите следующую команду для выяснения IP адреса подключенного роутера.
~$ netstat -rn Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 enp0s25 █████████ ████████████ █████████ ███ ██████ ████████████ █████████ ████████████ █████████ ███ ██████ ████████████
В macOS используется та же самая команда:
~% netstat -rn Routing tables Internet: Destination Gateway Flags Netif Expire default 192.168.0.1 UGSc en0 █████████ █████████ █████████ ███ ████ █████████ █████████ █████████ ███ ████ █████████ █████████ █████████ ███ ████ █████████ █████████ █████████ ███ ████ █████████ █████████ █████████ ███ ████ █████████ █████████ █████████ ███ ████
Шаг 2. Доступ к конфигурационной панели роутера
После выяснения локального IP адреса роутера вы можете получить доступ к конфигурационной панели, если введете адрес в браузере, как и в случае с обычным URL (у некоторых роутеров, например, предусмотрено мобильное приложение, и задача упрощается).
Рисунок 2: Форма авторизации конфигурационной панели роутера
После загрузки панели управления необходимо выполнить авторизацию. Имя пользователя и пароль могут быть установлены производителем или интернет-провайдером или вами. Эту информацию можно найти в документации на роутер или на корпусе.
Хотя у разных роутеров панель управления может отличаться, в целом процедура настройки примерно одинаковая. После авторизации зайдите в раздел «Advanced» или найдите, где находится раздел «Port Forwarding». В нашем случае соответствующий раздел называется «Advanced Port Forwarding Rules».
Рисунок 3: Раздел с настройкой проброса портов
Шаг 3. Настройка правил проброса портов
Для демонстрации правил проброса портов рассмотрим простейший случай, когда у пользователя есть устройство Raspberry Pi, подключенное домашнему сетевому роутеру. На Pi запущена служба SSH, позволяющая залогиниться на устройстве при наличии корректного имени пользователя и пароля. Текущий IP адрес устройства Raspberry Pi — 192.168.0.105.
- Правило было названо как «RBPi SSH» с целью упрощения идентификации в будущем. В целом имя правила полностью зависит от ваших личных предпочтений и не влияет на используемые порты.
- Диапазон параметра PublicPort(иногда именуемого какSourcePort) установлен от 22 до 22 (стандартный порт протоколаSSH). Этот порт роутер сделает доступным через интернет. Через этот же порт пользователь будет подключаться к Raspberry Pi.
- Параметр PrivatePort(иногда именуемый какDestinationPort) установлен как 22, поскольку демон SSH на устройстве Pi работает на 22 порту.
- Параметр Traffic Type установлен как TCP, поскольку по протоколу SSH передается TCP трафик.
- Параметр IPAddressсоответствует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 (в этом случае проброс портов активируется на уровне операционной системы):
~$ echo «1» > /proc/sys/net/ipv4/ip__forward
Как только IP форвардинг включен, убедитесь, что вы знаете текущий порт сервиса, который нужно пробросить. Во время конфигурирования ханипота Cowrie эта задача решается посредством настройки демона SSH на порт 9022.
GNU nano 2.7.4 File: /etc/ssh/sshd_config Modified # $OpenBSD: sshd_config,v 1.100 2016/08/15 12:32:04 naddy Exp $ # This is the sshd server system-wide configuration file. See # sshd_config(5) for more information. # This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin # The strategy used for options in the default sshd_config shipped with # OpenSSH is to specify options with their default value where # possible, but leave them commented. Uncommented options override the # default value. Port 9022 #AddressFamily any #ListenAddress 0.0.0.0 #ListenAddress ::
Наконец, для включения локального проброса портов, можно воспользоваться iptables. Команда ниже перенаправляет запросы с порта 22 на порт 2222, где эти запросы обрабатывает ханипот.
~$ sudo iptables -t nat -A PREROUTING -p tcp —dport 22 -j REDIRECT —to-port 2222
Другие сферы, где используется проброс портов
Перенаправление портов может использоваться и в других задачах. Например, порт 8080 может быть перенаправлен на порт 80 с целью облегчения доступа к тестовому серверу, или могут быть добавлены новые порты для использования определенной службой.
Проброс портов полезен для удаленного доступа, администрирования сервера, конфигурирования сети и даже во время пост-эксплуатации и пивотинга. Понимание этой технологии может быть ключом к бесчисленному множеству других проектов по безопасности.
Мир сходит с ума, но еще не поздно все исправить. Подпишись на канал SecLabnews и внеси свой вклад в предотвращение киберапокалипсиса!
Источник: www.securitylab.ru
Перенаправление IP-пакетов (IP Forwarding) для S7-1500 (FW2.8 и выше)
В данной заметке рассмотрим функционал, появившейся в «прошивке» 2.8 (поддерживается в Step 7 версии 16 и выше) серии контроллеров S7-1500, а именно — перенаправление (форвард) ip-пакетов между интерфейсами. Не путаем IP forward и S7 routing. и, да, не путаем S7 routing с Data Record routing.
S7 routing работает в «тысячной» серии просто прекрасно, и не требует никаких специальных настроек или сакральных знаний. Единственное требование — это заданная сетевая конфигурация оборудования, разовая индивидуальная прогрузка каждого CPU, после чего можно спокойно пользоваться этим функционалом. К примеру, вот такая несложная схема:
В данном случае CPU 1516 по интерфейсу X1 (адрес 192.168.43.1) соединяется с CPU 1214 (адрес 192.168.43.2). По интерфейсу X2 я просто подключаю программатор. Сконфигурировано две сети:
PLC_PLC — связь между контроллерами;
TO_PG — для связи с программатором.
Оба контроллера прогружены . Теперь для выхода в онлайн контроллера PLC_2 мне нет необходимости подключаться к нему непосредственно, достаточно лишь убедиться, что программатор соединен с интерфейсом X2 PLC_1 и выбрать для подключения сеть TO_PG. Шлюз система определит автоматически.
Прошу обратить внимание на следующий факт, а именно — на выбранные мной IP-адреса. Я не использую в своих экспериментах сети 192.168.0.X и 192.168.1.X Связано это с тем, что программатор в тепличных лабораторных условиях посредством адаптера WiFi смотрит еще и в Интернет, а офисный (домашний) рутер в 99% случаев настроен именно на эти диапазоны адресов. Поэтому, перед любыми сетевыми экспериментами убедитесь, что вы не используете «офисные» адреса или просто отключите WiFi.
Но вернемся к вопросам маршрутизации. В принципе, функционала S7 routing хватает почти на все. За некоторым исключением. Во-первых, мы можем использовать исключительно устройства, поддерживающие S7 routing (большинство современного оборудования Simatic). Во-вторых, маршрутизация пакетов S7 маршрутизирует только… пакеты S7, а именно — PG, OP или обмен данными посредством S7-коммуникаций «контроллер-контроллера», например, на базе механизма Put/Get.
Говоря менее заумным языком, попробуйте пропинговать контроллер PLC_2.
Разумеется, данная попытка заведомо обречена на провал: ноутбук (программатор) находится в другой подсети. Для таких случаев, когда необходимо общение именно на уровне протокола IP и предназначен новый функционал. Сейчас я предлагаю путем проб и ошибок «походить по граблям» и настроить эту маршрутизацию, чтобы я мог пропинговать мой S7-1214 с ноутбука.
Функционал форварда IP пакетов находится в свойствах CPU в закладке Advanced Configuration
Поставим эту галочку, выполним download и попробуем пропинговать PLC_2. Я даже скриншот приводить не буду, сразу скажу, что это бесполезно. С чем это связано? Для ответа на этот вопрос требуется базовое пониманием межсетевого протокола (internet protocol) и маршрутизации. Лучше выполним на нашем программаторе команду
tracert 192.168.43.2
Я получил следующее:
C:UsersEarl>tracert 192.168.43.2 Tracing route to 192.168.43.2 over a maximum of 30 hops 1
Смотрим на третью строку. Пакет, предназначающийся узлу сети с адресом 192.168.43.2, пошел по маршрутизации на узел с адресом 192.168.1.1. Адрес 192.168.1.1 — это шлюз по умолчанию офисного роутера. Смотрите, что происходит.
Проводной интерфейс, которым я подключен к PLC_1, настроен на ip-адрес 192.168.143.100. Если я начну пинговать интерфейс X2 контроллера PLC_1, адрес которого 192.168.143.1, то пакеты и пойдут по этому проводному интерфейсу. Но адрес 192.168.43.2, который интересен мне, находится в другой подсети. Мой программатор не знает, куда направить пакет этого адреса, и отправляет его на офисный маршрутизатор. Который, в свою очередь, тоже не особо знает, что это за адрес, и скидывает его дальше в «непонятном направлении».
То есть, в первую очередь нам необходимо поправить таблицу маршрутизации нашего ноутбука. Осуществляется это при помощи текстовой команды route. Для этого в первую очередь запускаем интерпретатор коммандной строки cmd в режиме адмнистраторских полномочий.
Далее выполняем команду route print
Смотрим вначале первую часть: Interface list, список интерфейсов. Мне интересна сетевая плата с именем Intel(R) Ethernet Connection (2) I219-LM, именно с ее помощью я подключен к CPU. В вашем случае интерфейс будет, разумеется, другим. Номер моего интерфейса = 14, запоминаю его.
Далее при помощи команды route add я должен сообщить своему ноутбуку, через какой интерфейс и через какой маршрутизатор надо отправлять пакеты, предназначенные для PLC_2.
C:Windowssystem32>route add 192.168.43.0 mask 255.255.255.0 192.168.143.1 IF 14 OK!
Рассмотрим команду route add 192.168.43.0 mask 255.255.255.0 192.168.143.1 IF 14 подробнее. Смысл ее следующий: все пакеты в сеть 192.168.43.Х с сетевой маской 255.255.255.0 направлять на маршрутизатор с адресом 192.168.143.1 через интерфейс ноутбука с номером 14
192.168.43.0 — диапазон адресов, который касается записи в таблице маршрутизации ноутбука
mask 255.255.255.0 — сетевая маска этого диапазона (сети)
192.168.143.1 — адрес интерфейса X2 контроллера PLC_1, по этому интерфейсу у нас и устанавливается соединение… по суть, это адрес роутера, который должен направлять пакеты далее
IF 14 — это номер моего интерфейса
В ответ должно быть сообщение «ОК!»
Если все сделано правильно, и в таблице маршрутизации ноутбука появилась корректная запись, то после этих манипуляций можно смело пропинговать адрес 192.168.43.1
Таким образом, наш контроллер PLC_1 отзывается по адресу интерфейса, с которым у нас нет физического соединения (ведь наша непосредственная сеть имеет адрес 192.168.143.Х).
Может показаться, что теперь можно еще и удачно пинговать PLC_2 по адресу 192.168.43.2, но не тут-то было!
Чего же не хватает? Давайте посмотрим сетевые настройки PLC_2 и снова вспомним принципы работы межсетевого протокола.
А не хватает следующего. PLC_2 находится в сети «43», а к нему приходят пакеты из сети «143». При этом на PLC_2 даже не задан шлюз по умолчанию. Грубо говоря, запросы пингов PLC_2 получает, но не знает, куда отправлять ответы. Добавим в качестве роутера для контроллера 2 адрес сетевого интерфейса X1 контроллера 1, т.е.
192.168.43.1 и выполним download.
После этой настройки контроллер начал давать ответы на ping
В принципе, внимательный и/или опытный читатель к этому времени уже может смело упрекнуть меня — «А зачем оно? Ради какого-то пинга? Да еще и с симатиковским же оборудованием в аппаратной конфигурации».
Все оборудование в проекте было симатик, это точно. Но исключительно для упрощения жизни. Сейчас я предлагаю отвязаться от S7-1200 и представить на его месте некое абстрактное устройство с поддержкой протокола Modbus TCP (его серверную часть). Для этого на S7-1200 я быстро настроил Modbus Server и проверил его в работе.
Как видно, клиентская часть спокойно опрашивает сервер. Сейчас давайте отвяжемся от S7-1200 в нашем проекте. Отсоединим его от сети PLC_PLC.
Даже больше, полностью удалим PLC_2 из проекта:
Сделаем прогрузку PLC_1. При этом у нас сохранился ping 192.168.43.2. И клиент modbus на ноутбуке продолжает успешно опрашивать подчиненное устройство. То есть, свое применение у этого функционала, несомненно, имеется, когда речь заходит не только об устройствах S7.
Во встроенной справке на функционал IP Forwarding есть вполне подробное описание. Таблица маршрутизации контроллера S7-1500 строится на основании сетевой конфигурации. Откровенно говоря, я ожидал, что после удаления PLC_2 из проекта и прогрузки PLC_1, PLC_2 вообще перестанет отвечать на какие-либо запросы, и потребуется установить в сеть PLC_PLC какое-либо фиктивное устройство с ip адресом. Однако, скорее всего, в связи с предельной примитивностью этого примера, дополнительных действий не потребовалось.
Еще одно возможное применение. Применять форвард пакетов для функционирования Simatic PDM. К интерфейсу X1 CPU S7-1516 подключены две линейки расширения, одна из которых содержит аналоговый модуль с поддержкой HART, это io device 2. К каналу 0 этого AI подсоединен датчик давления HART. Виртуальная машина с установленным Simatic PCS 7 в PDM, подключена к интерфейсу X1 ПЛК. Адреса сети ПЛК-комп относятся к 192.168.1.X, «контроллерная сеть» — 192.168.43.X.
Тут все происходит аналогично. Необходимо разрешить IP Forward в настройках CPU. Необходимо задать default gateway для io device 2.
Конечно же, в машине с PCS выполняем команду route add. После этих нехитрых настроек, функционал HART становится доступным. Особо в тонкости PDM я в этом примере не углублялся, так даже базу данных «умных полевых приборов» не устанавливал, проверялся сам факт работоспособности функционала.
Необходимо дополнительно остановиться на нюансах. Первое. Корректировка таблицы маршрутизации на уровне компьютера с отправкой команды — дело, разумеется, веселое и полезное (мало того, так и приведено в примерах Siemens), но немного бестолковое. Разумеется, этот вопрос необходимо решать аппаратными маршрутизаторами. Второе.
Не забываем, что при таком подходе у нас пропадает разделение сетей. А это уже влияет на безопасность. Применять эти знания следует с умом.
- Промышленное программирование
- SCADA
Источник: habr.com
4 лучших программных приложения для перенаправления портов и способы их использования
Переадресация портов перенаправляет попытки внешнего подключения в вашу локальную сеть к определенному устройству в этой сети. Большинству людей переадресация портов не требуется, поэтому порты в домашней сети обычно следует держать закрытыми. Но есть множество причин, по которым вы также можете настроить переадресацию портов.
Если вам нужно настроить переадресацию портов на маршрутизаторе локальной сети, вот некоторые из лучших программ и способы их использования.
Настройка переадресации портов в сети
Мы рекомендуем избегать переадресации портов UPnP (Universal Plug and Play), поскольку это может создать несколько угроз безопасности вашей сети.
Программы для Windows, мобильные приложения, игры — ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале — Подписывайтесь:)
Вместо использования программного обеспечения UPnP для включения переадресации портов вы можете создать правила переадресации портов на странице администрирования вашего маршрутизатора. Этот процесс будет немного отличаться в зависимости от марки маршрутизатора, сложности вашей сети и ваших целей.
Прочтите наше руководство для настройка переадресации портов вручную в вашей сети.
Если вы предпочитаете использовать программное обеспечение UPnP для включения переадресации портов на своем маршрутизаторе, вот четыре лучших программных приложения для этого.
Simple Port Forwarding — это бесплатное программное обеспечение, разработанное PCWintech, которое позволяет пользователям легко настраивать перенаправление портов. Это программное обеспечение работает через веб-страницы, а не напрямую с вашим маршрутизатором, а это означает, что вам не нужно получать доступ к веб-интерфейсу вашего маршрутизатора. В целом, это автоматизирует процесс переадресации портов, что значительно упрощает его выполнение.
Simple Port Forwarding содержит базу данных из более чем 700 программ и игр, может установите свой IP на статический или DHCP, и работает со всеми текущими версиями Windows. Кроме того, он поддерживает 3050 маршрутизаторов и 52 языка.
Есть бесплатная и платная версия. Платная версия предлагает несколько улучшений качества жизни, которые улучшают использование программного обеспечения, но бесплатная версия включает в себя все функции переадресации портов.
Чтобы использовать простую переадресацию портов, сделайте следующее:
- Загрузите Simple Port Forwarding и установите программное обеспечение с помощью установочного файла.
- Выберите модель своего маршрутизатора из раскрывающегося списка Маршрутизатор.
- Введите имя пользователя и пароль вашего роутера.
- Выберите File> Add Port / s.
- Выберите «Добавить пользовательский» (если у вас нет платной версии, в которой вы можете выбрать программу из базы данных программ).
- Введите необходимую информацию, включая имя, начальный порт и конечный порт (это порты, которые вы хотите переадресовать).
- Выберите Добавить.
Теперь порт должен быть перенаправлен и отображаться в списке в главном окне. Вы можете проверить, была ли переадресация порта успешной, выбрав Port Tester в правом нижнем углу окна.
Примечание. Если у вас нет платной версии, возможно, вам придется сначала вручную установить для локального IP-адреса статический IP-адрес.
Port Forward Network Utilities — это программа переадресации портов с множеством функций, упрощающих использование вашего маршрутизатора. Он совместим с Windows 7 — Windows 10.
Как и другое программное обеспечение в этом списке, сетевые утилиты переадресации портов позволяют настроить статический IP-адрес, проверить, перенаправляются ли ваши порты, или настроить переадресацию новых портов, и даже восстановить утерянный пароль маршрутизатора.
Выберите PFConfig, чтобы настроить переадресацию портов. PFConfig включает тысячи совместимых маршрутизаторов и работает с простым графическим интерфейсом. Просто выберите приложение, которое вы хотите переслать, щелкнув «Переслать это приложение», выберите протокол и место назначения, затем выберите «Обновить маршрутизатор».
UPnP PortMapper — еще одна бесплатная программа, которая позволяет вам установить статический общедоступный IP-адрес и переадресацию портов. Он доступен в виде файла .jar (исполняемого файла Java), что означает, что для его использования вам потребуется Java. Вы можете использовать его как графический интерфейс или с помощью консольных команд (позволяя автоматизировать скрипты).
UPnP PortMapper прост в использовании, но поддерживает не все модели маршрутизаторов. Обратите внимание, что пользователям Windows 10 может потребоваться использовать версию 2.1.1, поскольку более новые версии, по-видимому, приводят к ошибке при запуске.
Чтобы использовать программу, сделайте следующее.
- Запустите файл .jar, затем выберите «Создать».
- В новом окне выберите Добавить и заполните Протокол, Внешний порт и Внутренний порт.
- Выберите Сохранить.
AUTAPF — это программное обеспечение для переадресации портов, разработанное NetworkActiv. Он обеспечивает простую переадресацию портов UDP и TCP с поддержкой Windows 10, включая 64-разрядные версии.
С помощью AUTAPF вы можете легко перенаправить внешний трафик на определенные порты или IP-адреса. Он позволяет переадресацию нескольких портов, мониторинг соединений в реальном времени, экспорт журналов и многое другое. Кроме того, его можно запускать через графический интерфейс пользователя, как системную службу или через веб-браузер. AUTAPF также включает поддержку IPv4, IPv6 и MAC-адресов.
Использовать AUTAPF для настройки переадресации портов просто, но вам придется заранее настроить статический IP-адрес.
Перенаправление портов: легко или сложно
Если ручная настройка переадресации портов в вашей сети — не ваша чашка чая (или у вас нет времени узнать, как это сделать), не волнуйтесь! Программное обеспечение, которое мы перечислили в этой статье, сделает всю работу за вас.
Но имейте в виду, что существуют риски безопасности, связанные с переадресацией портов, которых следует избегать, чтобы злоумышленники не взломали вашу сеть.
Программы для Windows, мобильные приложения, игры — ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале — Подписывайтесь:)
Источник: mexn.ru
Что такое порт форвардинг и как пробросить порты
Высшее образование по специальности «Информационные системы». Опыт работы системным администратором — 5 лет.
Задать вопрос
Проброс портов потребуется вам дома, если нужно получить доступ к какому-то домашнему оборудованию из интернета. Маршрутизатор не позволяет делать такие вещи напрямую, это служит дополнительной защитой от атак из глобальной сети. Иногда требуется дать подключение из внешней сети к внутреннему устройству. Тогда и пригодится перенаправление портов.
Содержание
- Зачем нужен проброс портов
- Что необходимо для выполнения перенаправления
- Ручной проброс через кабинет роутера
- Как пробросить порты с помощью
- Windows
- iptables в Линукс
- SSH-туннеля
- Заключение
Зачем нужен проброс портов
Домашние устройства находятся в локальной сети. Для доступа к интернету они используют маршрутизатор. Через него проходят данные от каждого домашнего устройства и отправляются в интернет. После получения ответа он сам раздает нужные данные обратно. Получается такая ситуация, что домашние девайсы видят интернет и могут получать из него данные, а из интернета виден только маршрутизатор.
Он выполняет роль сетевого шлюза, который защищает локальную сеть от проникновения. Поэтому и ценятся устройства, имеющие встроенные системы защиты, с их помощью внутренняя сеть остается в большей безопасности. Если вы не знаете, кто шлет сигналы в интернет, то и подобрать ключи к нему не сможете или это будет трудно.
Есть вещи, которые почти бесполезны при использовании в локальной сети. Это камеры видеонаблюдения или FTP-сервера. Доступ к камерам нужен всегда, чтобы в любой момент можно было посмотреть, что происходит дома или на другой территории. FTP для домашнего использования заводить смысла нет, есть способы организовать обмен данными проще. Так что для его использования тоже потребуется подключение из интернета.
Чтобы подключаться к таким девайсам используют переадресацию. На маршрутизатор приходит пакет с указанием номера порта, а тот его переадресуют напрямую камере или серверу. Получается, что человек из интернета общается сразу с устройством, минуя роутер. Такой способ позволяет получать данные напрямую, но при его перехвате, проникнуть в сеть становится проще.
Подключение устройств для прямого обмена данными с интернетом повышает опасность для домашней сети, но иногда другого выбора нет.
Что необходимо для выполнения перенаправления
Для начала вам нужен белый IP-адрес . Белый – это значит статический адрес. Обычно при каждом подключении провайдер выдает вам адрес из своего пула свободных IP. Каждый раз он оказывается разным, а для подключения его нужно знать. Чтобы избежать проблем с подключением, обратитесь к провайдеру и попросите, чтобы он дал вам статический адрес.
Услуга по предоставлению постоянного адреса платная, но сумма в месяц получается небольшая. Так что заплатите, если такая услуга предоставляется. Подключение такой услуги несет и угрозу, потому что вы всегда доступны по этому адресу. Это упрощает попытки подключение к вашему оборудованию злоумышленников.
Если провайдер не оказывает услуг по покупке белых адресов, то посмотрите в параметры роутера. Некоторые из них умеют работать в dynDNS, который можно использовать вместо адреса. Если на роутере такой настройки нет, то воспользуйтесь одним из сервисов, которые предоставляют услуги по использованию имени. После подключения к такому сервису, к роутеру можно обращаться по имени, а не по адресу.
Теперь на том оборудовании, которое «смотрит» в интернет настраивается переадресация портов. Прописываете, что данные, пришедшие на такой-то порт направляются такому-то устройству. Здесь тоже можно указать порт, на который они пойдут, если это важно. Теперь все полученные пакеты в неизменном виде отправятся вашему домашнему девайсу. Если порт не указывать, то все пакеты идут маршрутизатору, а оттуда распределяются стандартным порядком.
Ручной проброс через кабинет роутера
Проще всего перенаправить пакеты через настройку роутера. У них обычно есть встроенные параметры, которые называются «переадресация», «проброс портов», «port forwarding», «виртуальные порты» или каким-то похожим образом. Если название не очевидно, то лучше найти инструкцию для своей модели.
На Dlink можно сделать через мастер настройки виртуального сервера. На главном экране нажмите на него, откроется еще одно окно, в котором выберите внутренний IP, на который будут передавать пакеты.
Или можно настроить стандартный проброс, для этого зайдите в расширенные настройки, потом «Виртуальные серверы» в разделе «Межсетевой экран». В открывшемся коне нажмите на «Добавить».
Здесь заполните данные для установки соединения. Главное – это поставить значения во внешнем и внутреннем порте, чтобы маршрутизатор понимал, откуда и куда переправлять данные. Тут же можно указать и внешние с внутренними адресами.
Как пробросить порты с помощью
Бывает и так, что внешним устройством в сети является компьютер или специально созданный для этого сервер . Это не значит, что вам придется обязательно ставить роутер или настраивать все заново, большинство систем позволяет пробросить порты. Здесь покажем несколько примеров того, какие параметры нужно устанавливать, чтобы все заработало.
Если у вас более экзотические варианты и указанные способы вам не подходят, то придется смотреть инструкции конкретно под вашу версию операционной системы. Хотя что-то более сложное обычно носит специализированный характер и на домашних компьютерах не стоит.
Windows
Откройте меню пуска и наберите там «cmd», по найденной программе щелкните правой кнопкой мыши и выберите в появившемся меню «Запуск от имени администратора». В открытой командной строке введите следующую команду:
netsh interface portproxy add v4tov4 listenaddress=xxx.xxx.xxx.xxx listenport=nnn connectaddress=xxx.xxx.xxx.xxx connectport=nnn
В команде нужно установить эти данные:
- listenaddress – это тот адрес, с которого будут передавать пакеты.
- listenport – порт на адресе, принимающем пакеты, который будет прослушиваться для получения информации.
- connectaddress — удаленный или локальный адрес на который перенаправляются соединения.
- connectport — удаленный или локальный порт на который перенаправляются соединения.
Чтобы посмотреть все созданные правила введите netsh interface portproxy show all, после этого списком отобразятся все доступные перенаправления. Для удаления используйте netsh interface portproxy delete v4tov4, только впишите тут те адреса, которые были прописаны в начальной команде.
Эти способы работают и в Windows 10, и в других системах, начиная с Windows Server 2003, в котором и добавили возможность использования этих команд. Во всем, что было до него так сделать не получится. Вот только такими системами лучше не пользоваться, потому что их поддержка давно отменена, так что там нет обновлений и устранения угроз безопасности.
iptables в Линукс
В линуксе действовать будем с помощью таблиц маршрутизации iptables. Действовать будем с помощью команд, хотя в некоторых системах, таких как Linux Ubuntu есть и графическая оболочка, через которую можно провести такие операции.
Сначала включаем возможность пробрасывать порты в принципе. Для этого вводим команду:
sudo echo 1 > /proc/sys/net/ipv4/ip_forward
Теперь открываем /etc/sysctl.conf и ищем там строку #net.ipv4.ip_forward=1, удаляем с неё значок комментария, чтобы она стала снова активна. Теперь пишем команду:
sudo iptables -A FORWARD -i enp0s3 -o enp0s8 -j ACCEPT
Вместо enp0s3 подставляем название вашего внешнего интерфейса, вместо enp0s8 ставим название внутреннего интерфейса. Вся этак команда разрешает проброс портов и передачу данных из внешней сети во внутреннюю.
Теперь пишем сами правила для перенаправления:
- sudo iptables -t nat -A PREROUTING -p tcp -d адрес внешнего интерфейса —dport внешний порт -j DNAT —to-destination внутренний адрес:внутренний порт
- sudo iptables -t nat -A POSTROUTING -p tcp —sport внутренний порт —dst внутренний адрес -j SNAT —to-source внешний адрес:внешний порт
В тех местах, где написан курсив, вам нужно проставить свои значения. Первая команда будет отправлять все поступившие на определенный порт внешнего интерфейса данные на определенный порт по внутреннему адресу. Вторая команда делает обратную операцию, отправляет данные с определенного порта устройства внутренней на определенный порт внешней сети.
Теперь нужно создать файл, в который запишем наши новые правила, на случай, если они слетят. Выполняем команду:
- sudo nano /etc/ nat
Вписываем в файл наши созданные правила. - sudo iptables -t nat -A PREROUTING -p tcp -d адрес внешнего интерфейса —dport внешний порт -j DNAT —to-destination внутренний адрес:внутренний порт
- sudo iptables -t nat -A POSTROUTING -p tcp —sport внутренний порт —dst внутренний адрес -j SNAT —to-source внешний адрес:внешний порт
- sudo nano /etc/network/interfaces
Открываем файл интерфейсов. - Дописываем в конце строчку pre-up /etc/ nat . Это позволит подгружать файл с командами после каждой перезагрузки системы.
Если вдруг захотите посмотреть все действующие правила, то введите в консоли sudo iptables -L -t nat . Отобразятся все действующие правила.
SSH-туннеля
SSH-туннели используются для безопасного внешнего доступа и передачи данных из интернета во внутреннюю сеть. Чем-то их действие похоже на организацию VPN -сервера и передачу данных внутри этой приватной сети.
Только если впн бывает еще и общим, то про SSH этого не скажешь. Такие туннели организуют для безопасной связи со своей локальной сетью или каким-то устройством в нем. Если у вас уже организован доступ к какому-то оборудованию внутри сети, то можно будет пробросить порт через него, чтобы получить нужный доступ.
SSH-туннели используют для безопасно передачи данных и подключению к свое оборудованию, но не к каждому девайсу так удобно подключаться.
Проблема возникает такая же, как и в случае с роутерами. Если у вас построен полноценный туннель, то он может быть организован на Линуксе, виндовсе или используя какую-то операционную систему с вашего маршрутизатора. При этом настройка параметров и ограничений тоже лежит на вас.
Команда для проброски портов выглядит так на большинстве устройств:
Теперь доступ к устройству можно получить по адресу http://localhost:2222 или командой $ ssh -p2222 localhost. Все это делается через ваш хост 99.88.77.66 к которому уже построен и настроен туннель, так что само его построение не рассматриваем.
Заключение
Проброс портов требуется в нескольких случаях, но всегда нужен для получения доступа к какой-то информации. Проводить его стоит с осторожностью, также хорошо, если вы сможете как-то дополнительно защитить оборудования, к которому теперь подключаетесь из сети. Сам белый адрес увеличивает шансы на взлом оборудования, а если иметь еще и незащищенное соединение через один из портов, то шансы увеличиваются.
Проблемы возникнут и при параноидальной настройке фаерволлов и антивирусов на компьютере или маршрутизаторе. Лучше заранее создайте исключения для каждого проброшенного порта и будущего соединения. Если этого не сделать, то в случайный момент времени антивирус может зарезать это соединение. Фаерволл-то его сразу не пропустит, если оно ему не нравится. А вот комплексные решения могут подложить свинью в самый неожиданный момент.
Источник: help-wifi.ru