Как выполнить проброс портов на маршрутизаторе
Необходимость проброса портов на маршрутизаторе (роутере) возникает, когда вы хотите организовать доступ из интернета к какому-то ресурсу домашней сети. Это может быть как игровой сервер, так и сервер RDP, FTP или установить дома камеру охранного наблюдения, чтобы постоянно видеть, что творится у вас дома (например, если вы оставили дома своего ребёнка с наёмной няней).
Иногда безусловного проброса портов требуют IP-телефонии. Это уже зависит от того, по какому принципу осуществляет работу ваша коммуникационная компания.
Практически любой маршрутизатор корректно поддерживает весь этот функционал. Единственное, на что хотелось бы обратить пристальное внимание – это необходимость получения от провайдера внешнего IP. Статического или динамического, в данном случае не имеет большого значения. Он просто по факту у вас должен быть.
- Почему необходимо пробрасывать порты для доступа к внутренним ресурсам из интернета?
- Контрольный список необходимых операций
- Заходим в админку маршрутизатора
- Проверяем и корректируем настройки DHCP
- Подготавливаем компьютер через прописывание фиксированного (статического) IP-адреса (Способ 1)
- Подготавливаем компьютер через фиксирование его адреса на маршрутизаторе (Способ 2)
- Настраиваем проброс портов на маршрутизаторе
- Что делать, если вдруг ничего не заработало?
Почему необходимо пробрасывать порты для доступа к внутренним ресурсам из интернета?
Такая необходимость возникает в связи с тем, что ваш роутер автоматически отфильтровывает те данные, которые вы не запрашивали. Это связано, прежде всего, с необходимостью обеспечения безопасности вашей сети. Представьте себе такую картину: у вас дома компьютер, ноутбук, хранилище файлов (файлопомойка). И ко всему этому имеет доступ любой желающий из интернета…
Чтобы не допустить всякую нечисть в домашнюю сеть, роутер пропускает только те запросы и только тому компьютеру в сети, которые он запрашивал. Для этого умные инженеры придумали NAT – Network Address Translation (преобразование сетевых адресов). Эта система позволяет скрыть от всего интернета ваш внутренний адрес. Таким образом, все устройства, подключенные к интернету в вашей домашней сети, в интернете видятся под одним единственным IP-адресом – внешним или белым. Причём, это может быть как ваш белый IP, так и просто любой провайдерский, если провайдер раздаёт внутри своей сети серые IP.
Таким образом, если вы хотите, например, подключится удалённо к вашему домашнему компьютеру через RDP – роутер просто не будет понимать, кому именно в домашней сети перенаправить запрос – вы же ему этого не объяснили… Он просто его отфильтрует. Конечно, есть ещё возможность добавить ваш домашний сервис в раздел DMZ (Demilitarized Zone) – демилитаризованную зону. Но в этом случае абсолютно все запросы извне, которые никто не запрашивал, а так же те, для которых не прописано определённое правило для портов – будут перенаправляться к вашему узлу. Таким образом вы сделаете его совершенно беззащитным, так что без острой необходимости лучше не пользоваться этим разделом в целях безопасности.
Делаем проброс портов
Контрольный список необходимых операций
Для того, чтобы сделать корректный проброс портов необходимо сделать несколько вещей, которые мы сейчас пройдём по пунктам, а потом уже будем смотреть, как это всё происходит на наглядно примере.
1. Необходимо присвоить статический IP-адрес вашему компьютеру, который будет предоставлять какой-то сервис. Сделать это можно двумя способами.
1.1. Способ 1. Вы можете присвоить статический IP, прописав его в свойствах сетевой карты – это очень надёжный способ, т.к. уже ничего не изменится без вашего вмешательства. Я думаю, что для домашней сети этого вполне будет достаточно. Единственное, что при этом надо учесть – это необходимость скорректировать настройки вашего DHCP-сервера, который находится в роутере. Мы рассмотрим это на примере ниже.
1.2. Способ 2. Этот способ более изящный, т.к. не потребует изменения диапазона выдаваемых DHCP-сервером адресов. В этом случае вы должны закрепить за компьютером адрес средствами того же DHCP-сервера. Этот способ немного менее надёжный, однако тоже имеет право на жизнь. Один раз в жизни я столкнулся с таким, что компьютер, который был «закреплён» роутером на определённый IP вдруг стал получать другой адрес. Естественно, это была проблема глючноватой прошивки роутера. Однако, надо иметь ввиду, что такой исход тоже возможен.
2. Вы должны определить, какие порты и протоколы необходимо будет пробрасывать. В настоящий момент в обиходе используются два транспортных протокола – TCP и UDP. Например, для того, чтобы подключиться по RDP, либо организовать доступ к FTP-серверу, нам необходим TCP. IP-телефония использует UDP для передачи данных. Имейте это ввиду. Если эта информация вам неизвестна – не поленитесь открыть Яндекс или Google и сделать соответствующий запрос. Хотя, в большинстве случаев, в роутерах уже имеются предустановленные пробросы портов для самых часто возникающих нужд. Мы это с вами тоже посмотрим ниже.
3. Необходимо убедиться в том, что у вас есть белый IP. Некоторые провайдеры могут предоставлять его всем абонентам сети по умолчанию (сейчас это встречается всё реже и реже), либо же его придётся подключить (позвонить провайдеру или зайти в личный кабинет). Выяснить можно, зайдя в web-интерфейс админки роутера.
Заходим в админку маршрутизатора
Мы будем отрабатывать проброс портов на роутере марки TP-Link, т.к. роутеры этой марки набирают всё большую популярность из-за их соотношения цены и качества. Сейчас в кризисное время это особенно актуально. Не переживайте, если у вас роутер другой марки – проброс портов в 95% случаев практически ничем не отличается, просто нужно делать всё по аналогии.
Итак, заходим в админку роутера, введя в адресной строке адрес 192.168.0.1 – этот адрес по умолчанию установлен в большинстве роутеров. В более редких случаях это может быть адрес 192.168.1.1 или, в ещё более редких случаях – 192.168.10.1. Если вы пользуетесь интернет-центром Yota – скорей всего вам надо идти по адресу 10.0.0.1. А, чтобы не гадать на кофейной гуще и не перерывать пол интернета в поисках правильного адреса, можно зайти в Пуск>Панель управления>Центр управления сетями и общим доступом>Щёлкнуть по ярлычку активного сетевого подключения и нажать кнопочку Сведения. В пункте Шлюз по умолчанию будет прописан адрес вашего роутера.
После запроса логина и пароля, вводим в поле логин и в поле пароль слово admin (если иное не написано на корпусе роутера или вы сами не меняли).
И сразу в web-интерфейсе мы видим, что IP адрес у нас внутренний провайдерский (серый, иначе говоря). Смотреть надо именно в раздело WAN – это настройки для вашего интернета!
Для того, чтобы было понятно, как отличить белый от серого я написал эту мини-шпаргалку. Дело в том, что ещё вначале далёких 80-х годах, когда была утверждена спецификация TCP/IP умные головы сразу решили зарезервировать различные адресные пространства (подсети) для специальных целей. Даже зарезервировали пару подсетей для того, чтобы можно было упоминать эти адреса в технической документации, а то в суд на родине протокола ходят чаще чем за хлебом… Ну, это уже лирика. Из всего этого зарезервированного великолепия, нас интересуют подсети, выделенные именно под частные сети. Их немного:
10.Х.Х.Х
172.16.Х.Х
192.168.Х.Х
где Х – число от 0 до 255.
В моём примере мы видим, что адрес начинается с десятки – это значит, что адрес у меня внутренний. Ну, я и не в обиде – будет нужен белый, попрошу дядю-провайдера о выделении.
Проверяем и корректируем настройки DHCP
Перед тем, как пробрасывать порт, нам нужно выделить адресное пространство в своей домашней сети, которое мы сможем задействовать для наших сетевых сервисов, к которым необходимо получить доступ из интернета. Идём в раздел DHCP.
Здесь нас интересует три вещи:
— включен или выключен DHCP-сервер (DHCP Server Enabled/Disabled – в скобках буду приводить названия англоязычных пунктов меню, т.к. не все маршрутизаторы оснащены русскоязычным интерфейсом);
— Начальный IP-адрес (Start IP Address) – начальное значение диапазона адресного пространства, из которого DHCP-сервер будет раздавать IP-адреса;
— Конечный IP-адрес (End IP Address) – конечное значение диапазона адресного пространства, из которого DHCP-сервер будет раздавать IP-адреса.
А ещё посмотрите в заголовок на зелёном фоне и попытайтесь угадать, о чём думал переводчик, когда делал русскую локализацию, программисты были солидарны. Шучу-шучу – думаю, что у людей были очень сжатые сроки, и они не успели выловить все очепятки.
В принципе, если вы являетесь счастливым обладателем маршрутизатора марки TP-Link, то скорей всего у вас такой диапазон будет проставлен по умолчанию. Я не стал менять эту настройку на домашнем маршрутизаторе, т.к. выделение диапазона из 200 адресов мне хватит ещё с десятикратным запасом. У маршрутизаторов марки Zyxel вообще обычно где-то с 192.168.0.20 по 192.168.0.39 – 20 адресов диапазон по умолчанию стоит.
Теперь давайте определимся, будем мы фиксировать IP-адрес компьютера, к которому требуется открыть доступ или зададим это через соответствующие настройки DHCP-сервера.
Для пущей надёжности, я бы рекомендовал воспользоваться первым способом. Но рассмотрим мы их оба, т.к. случаи разные бывают.
Подготавливаем компьютер через прописывание фиксированного (статического) IP-адреса
Бывает, что по умолчанию маршрутизатор раздаёт адресное пространство всей подсети (в настройках стоит от 192.168.0.2 (адрес маршрутизатора не должен быть в адресном диапазоне) и по 192.168.0.254). Если вы хотите воспользоваться первым способом, то необходимо этот диапазон подкорректировать, освободив адрес для нашего компьютера. Поменять в поле ОТ, например, на 192.168.0.3 –тогда адрес 192.168.0.2 мы сможем использовать для нашего компьютера, к которому открываем доступ. Хотя, для домашней сети, как правило, такого количества адресов не требуется, поэтому в поле ОТ можно написать, например, 192.168.0.10, или 192.168.0.100 на конце – вдруг ещё что-то придётся открывать – точно с адресом не промахнётесь.
Для того, чтобы присвоить компьютеру статический IP-адрес, идём в Пуск>Панель управления>Центр управления сетями и общим доступом.
Щёлкаем по ссылочке, обозначающей соединение с интернетом (Тип доступа: Интернет) и попадаем вот в такое окошко:
Здесь мы нажимаем Свойства и выбираем Протокол Интернета версии 4
И нажимаем Свойства
Выбираем Использовать следующий IP-адрес: и вбиваем туда статический адрес, который освободили на предыдущем шаге. (IP-адрес, маску подсети, основной шлюз, предпочитаемый DNS-сервер). Нажимаем везде ОК.
Подготавливаем компьютер через фиксирование его адреса на маршрутизаторе
Это второй способ. В нём уже не требуется производить никаких настроек на компьютере, но нужно знать MAC-адрес сетевого адаптера. Впрочем, обо всём по порядку.
Идём по уже знакомому пути: Пуск>Панель управления>Центр управления сетями и общим доступом.
Только теперь в окне
Выбираем раздел Сведения
Здесь нас интересует строчка, обозначающая Физический адрес – это и есть тот самый MAC. Не удивляйтесь, что он у меня такой эксклюзивный, я его слегка подправил в одной известной программе. Иначе мой компьютер будет несложно отследить. Я, конечно, не страдаю паранойей, но и светить лишнюю информацию большим желанием не горю.
Итак, MAC-адрес мы выяснили, теперь переходим в раздел DHCP>Резервирование адресов (Address Reservation)
Здесь у меня уже зарезервирован некий адрес с не менее волшебным MAC-адресом (естественно, его я тоже подкорректировал). Нажимаем Добавить новую… (Add New…) (зато от такого перевода веселее на душе).
Вбиваем туда наш замечательный MAC-адрес и выделенный под это дело любой IP-адрес, причем находящийся в диапазоне, который раздаёт DHCP! Иначе ничего работать не будет. И нажимаем Сохранить.
Собственно, теперь, мы нажимаем там, где просит маршрутизатор, чтобы произвести перезапуск. Для чистоты эксперимента перезагружаем целевой компьютер и переходим к следующему этапу.
Настраиваем проброс портов на маршрутизаторе
Нас интересует раздел Переадресация (Forwarding), а в этом разделе Виртуальные серверы (Virtual Servers – кто бы мог подумать? – прим. авт.). Этот раздел открывается сразу по щелчку по пункту меню.
По умолчанию здесь у нас должно быть пусто. Дабы исправить эту несправедливость, мы нажимаем Добавить новую… (Add New…)
И попадаем в эту форму. Пройдём по порядку:
Порт сервиса (Service Port) – это порт, либо диапазон портов, по которому мы будем ломиться снаружи. Увидев обращение по этому порту, роутер поймёт, куда перенаправлять наш пакет, чтобы он достиг цели.
Внутренний порт (Internal Port) – это порт, который слушает наш домашний сетевой сервис. Если мы обратимся к внутреннему сервису по другому порту – ничего работать не будет.
IP-адрес (IP Address) – это адрес нашего компьютера или иного устройства, к которому нам нужно добраться из интернета. Как видите, он тут указывается явно. Поэтому его необходимо зафиксировать.
Протокол (Protocol) – здесь можно выбрать либо TCP, либо UDP, а можно обработку обоих протоколов по одному порту одновременно. Однако, мой добрый совет, — если вы знаете, что требуется именно один транспортный протокол, а так же знаете, какой именно протокол требуется – лучше выбирать строго его. Ибо, как гласит старая админская мудрость, лишний открытый порт – лишняя брешь в безопасности. Имейте это ввиду.
Состояние (Status) – Включено (Enabled) / Выключено (Disabled) – ну, тут, даже, комментировать нечего – правило может быть включено, может быть выключено.
Стандартный порт сервиса (Common Service Port) – наиболее часто используемые сервисы и предустановленные для них порты. Если развернуть этот выпадающий список, то можно увидеть, что предустановленных портов там немало и в большинстве случаев их хватает.
Если выбрать любой из них, то все поля заполнятся автоматически. Давайте выберем протокол HTTP, как будто мы собираемся сделать домашний вебсервер и сделать его доступным из интернета.
Как видите, нам осталось только прописать наш локальный адрес устройства. Если вам нужно, например, пробросить порт RDP – 3389, то вместо 80 в обоих полях нужно прописать 3389.
Иногда бывает такое, что в настройках маршрутизаторов фигурируют диапазоны строго от и до. В этом случае, если вам нужно прописать всего лишь один порт, вписываем в эти поля одинаковые значения.
Нажимаем кнопочку Сохранить (Save) и видим наш замечательный сервис в списке.
В поле IP-адрес я ввёл 192.168.0.97. Вы должны ввести тот адрес, который зафиксировали для своего целевого компьютера.
Вот, собственно, и всё. Все правила для виртуальных серверов, как правило, применяются без перезагрузки маршрутизатора. Хотя – всякое бывает. Если не заработало, то перезапустите маршрутизатор и попробуйте перезагрузить компьютер. После этого всё должно заработать.
Что делать, если вдруг ничего не заработало?
Есть ещё один момент, который может препятствовать доступу к сервису, который вы должны видеть из интернета. Это Firewall или Брандмауэр. А так же всякого рода антивирусы, имеющие свой Firewall и, порой параноидально, старающиеся любой ценой защитить компьютер пользователя от внешних угроз.
Попробуйте отключить ваш Firewall и проверить, будет ли доступен сервис после этого. Если всё заработает, значит нужно копать именно там.
Что именно и как копать – рассмотрим в одной из следующих статей.
Теги:
сетевые технологии,
как пробросить порты
Внимание! Все вопросы по статье прошу писать в комментариях, расположенных ниже, чтобы получить бесплатный ответ.
На вопросы, написанные «в личку», отвечаю только за деньги.
Мат и оскорбления — удаляются, а их автор отправляется в бан навсегда.
Другие статьи в разделе:
Или как настроить повторитель
Или сеть своими руками – это просто
Иногда возникает необходимость доступа извне к устройству, которое расположено в локальной сети. Например, если это IP-видеокамера или сервер используемый для игр, возможно, требуется использовать удаленное управление каким либо из компьютеров. Таких устройств может быть достаточно много в локальной сети. В этой статье разберемся, как осуществляется доступ с помощью проброса портов.
О пробросе портов
Локальная сеть (LAN) организована таким образом, что у устройств, находящихся в ней есть доступ во внешнуюю сеть (WAN), в то время как из глобальной сети получить доступ в локальную не получится.
Зачастую требуется открыть доступ к устройствам, находящимся в локальной сети. Например, если у вас есть FTP сервер и нужно, чтобы знакомые могли к нему подключаться, скачивать и обновлять файлы. Для того, чтобы получить доступ к файлам, хранящимся на нем, требуется открыть порты. В этом случае сделать так, чтобы пакеты пришедшие на 21 порт роутера (стандартный порт FTP) перенаправлялись на 21 порт компьютера, находящегося в локальной сети, на котором запущен FTP сервер.
Не обязательно, чтобы номер открытого порта на роутере был таким же, как и на сервере.
После перенаправления портов, TCP и (или) UDP пакеты, пришедшие на заданный порт роутера, будут перенаправлены на нужный порт устройства, находящегося в локальной сети. Для этого нужно, чтобы IP-адрес роутера был белый (статический внешний IP-адрес). О белых и серых IP адресах будет рассказано ниже.
Вот еще пример — есть несколько видеокамер в локальной сети, у каждой из них свой IP-адрес. С помощью программы удаленного управления можно подключаться к устройствам по определенному порту. Видеокамеры могут быть установлены в локальной сети одного объекта. Если мы хотим получить доступ к ним через интернет, это можно организовать с помощью проброса портов.
При всем этом следует обратить особое внимание на безопасность. Ведь открыв к ресурсам локальной сети через интернет, ими могут попытаться воспользоваться злоумышленники.
Теперь разберемся по пунктам как это все должно быть устроено, на что следует обратить внимание.
Внешний IP-адрес
IP-адрес может быть:
- Внешний статический IP-адрес, который закреплен за вашим роутером. Обычно выдается провайдером за дополнительную плату, в некоторых случаях предоставляется за дополнительную абонентскую плату.
- Внутрисетевой статический. В этом случае к вам подключиться можно только внутри сети провайдера. Извне этот IP-адрес не будет виден.
- Внешний динамический. Этот вариант часто встречается, если вы выходите в интернет через 3G/4G роутер. Вам выдается IP адрес из свободных, но через какое-то время он может измениться, например, после перезагрузки роутера.
- Внутрисетевой динамический. IP-адрес не будет виден из интернета, так же он может измениться со временем.
Для того чтобы извне подключаться к вашей локальной сети, должен быть у нее настроен внешний статический IP-адрес. Конечно, можно использовать и динамический, но в случае его изменения, все перестанет работать. Про IP-адрес можно уточнить у интернет-провайдера.
Внешние IP-адреса называются белыми, в то время как внутренние, к которым нет возможности получить доступ из глобальной сети — серыми.
Узнать свой IP-адрес можно с помощью разных сервисов, например, 2ip.ru, myip.ru, myip.com.
Безопасность
Так как в случае проброса портов будет открыт доступ к устройствам, находящимся внутри вашей локальной сети, особое внимание следует уделить безопасности:
- Для подключения к устройству должен использоваться надежный пароль;
- Если передается конфиденциальная информация, то она должна быть в шифрованном виде.
Особое внимание следует уделить при передаче удаленного доступа к компьютеру.
В этом случае злоумышленник может:
- Установить на компьютер свои программы;
- Перенастроить локальную сеть;
- Отслеживать и влиять на обмен данными по локальной сети.
Подключение
Перед настройкой проброса портов, следует подключиться к роутеру. У роутера обычно по умолчанию IP-адрес 192.168.0.1 или 192.168.1.1. Логин по умолчанию admin, а пароль может быть тоже admin, иногда 1234. Настройки роутера по умолчанию указываются на наклейке с тыльной стороны.
Вводим адрес роутера в браузере. На рисунке фото выше это 192.168.1.1, на запрос имени пользователя и пароля — заполняем соответствующие поля. После этого попадаем в главное меню роутера.
Установка статических адресов
У оборудования, к которому надо дать доступ из внешней сети, могут быть адреса в локальной сети:
- Статические, то есть заданные вручную на каждом устройстве;
- Динамические, раздаваемые DHCP сервером из пулла адресов.
При использовании DHCP сервера, если у устройств заданы статические IP-адреса, следует проследить, чтобы они не были из диапазона раздаваемых динамически. Это для того, чтобы новое устройство, подключенное к сети, случайно не получило такой же IP-адрес.
Если же IP-адрес получен динамически, то следует его закрепить за устройством по MAC адресу. Это делается в настройках DHCP сервера. На рисунке ниже показан пример резервирования адреса. После резервирования, следует перезагрузить маршрутизатор.
Настройка проброса портов
После того, как все подготовили, можно настроить проброс портов на роутере. Это осуществляется путем заполнения таблицы, в которой указаны:
- Порт роутера;
- IP устройства;
- Порт устройства.
Роутер будет проверять все входящие пакеты. IP-пакеты пришедшие на указанный порт роутера будут перенаправлены на выставленный порт устройства.
В настройках переадресации добваляем новый виртуальный сервер.
Запись настраивается следующим образом:
- Порт сервиса — это как раз тот порт, по которому будут подключаться из интернета;
- Внутренний порт — это порт устройства, к которому надо открыть доступ;
- IP-адрес — это адрес устройства в локальной сети
- Протокол — тут можно выбрать протокол TCP или UDP. Можно выбрать «ВСЕ», тогда будут перенаправляться оба протокола.
- Состояние — здесь выбираем «включено». При не надобности, можно отключить проброс, не удаляя запись.
Пункт «стандартный порт сервиса» предназначен только для того, чтобы упростить выбор портов. При выборе нужного сервиса, их номера просто подставятся в поля «порт сервиса» и «внутренний порт». Ниже будут рассмотрены основные сервисы.
После того как все настройки выполнены, следует их сохранить.
Номера портов
Следует обратить внимание, что номера портов могут задаваться в диапазоне от 0 до 65536.
На компьютере эти порты делятся на следующие группы :
- Системные (от 0 до 1023);
- Пользовательские (от 1024 до 49151);
- Динамические (от 49152 до 65535).
Если для проброса портов вам нужно выбрать любой порт, который будет открыт на роутере, то без особой необходимости желательно не использовать системный диапазон. Лучше всего в таком случае открывать порты на роутере из динамического диапазона.
Стандартные сервисы
Для организации доступа к сервисам, некоторые роутеры помогают правильно выбрать номер порта автоматически. Таким образом, можно сделать так, что при обращении к порту FTP из интернета, обращение переадресовывалось на FTP сервис, запущенный на одном из локальных компьютеров. Рассмотрим основные:
Сервис | Порт | Пояснение |
DNS | 53 | Преобразование символьного наименования в IP-адрес |
FTP | 21 | Хранение и передача файлов |
GOPHTER | 70 | Хранение и передача документов |
HTTP | 80 | Получение информации с сайтов |
NNTP | 119 | Сервер новостей |
POP3 | 110 | Получение почты |
PPTP | 1723 | Защищенное соединение |
SMTP | 25 | Прием и передача почты |
SOCK | 1080 | Передача минуя межсетевой экран |
TELNET | 23 | Управление в текстовом виде |
Брандмауэр
После настройки проброса портов на роутере все должно работать. Но то же делать, если все равно не удается подключиться? В таком случае следует проверить настройки антивируса и брандмауэра Windows на компьютере, к которому осуществляется подключение. Возможно они считают подключения подозрительными и не дают доступ. В этом случае в брандмауэре следует прописать правило, разрешающее подключение к заданному порту.
В настройки брандмауэра проще всего попасть двумя способами:
- Записываем в строке поиска «Брандмауэр Защитника Windows». После ввода первых нескольких букв, находится нужное приложение.
- Выполнить «firewall.cpl». Для этого надо одновременно нажать комбинации клавиш <Win>+<R>, в поле поле открыть записываем команду и нажимаем «OK».
В дополнительных параметрах выбрать правила для входящих подключений. Там создаем новое правило. Рассмотрим это подробно.
Здесь показано основное окно настроек брандмауэра . Выбираем дополнительные параметры.
Два раза щелкаем мышью по пункту «Правила для входящих подключений». После этого в правой колонке, которая называется «Действия» жмем на «Создать правило…».
Выбираем тип правила «Для порта» и жмем далее.
Выбираем необходимый протокол. В большинстве случаев это TCP. Указываем локальный порт, для которого мы ранее настраивали проброс порта на маршрутизаторе. Можно задавать сразу несколько портов через запятую или диапазон через «-«.
С точки зрения безопасности, тут важно выбирать не все локальные порты, а именно указать нужный.
Выбираем «Разрешить подключение».
Указываем галочками профили.
Пишем свое имя для правила. Желательно выбрать такое имя, чтобы потом было легко его найти, в случае если решити отключить это правило или видоизменить. Можно для себя оставить пометку в виде описания, чтобы потом было легче разобраться для чего это правило было создано.
После того как параметры были настроены, жмем кнопку «Готово». Созданное правило автоматически добавится в список правил для входящих подключений и активизируется. При необходимости его можно редактировать, отключить или удалить.
Отключение брандмауэра
В основном меню брандмауэра имеется пункт «Включение и отключение брандмауэра Защитника Windows».
Выбрав этот пункт, можно отключить брандмауэр. Но это делать не рекомендуется, разве что для проверки того, что именно брандмауэр влияет на то, что не удается открыть порт.
После проверки не забудьте включить брандмауэр.
Содержание
- 1 Необходимость открытия портов
- 2 Определение собственного IP-адреса или назначение статического
- 3 Выполнение процедуры
- 3.1 Настройка Windows
- 3.2 Действия с роутером
- 3.3 Проверка результатов
- 4 Закрытие портов
- 5 Какие проблемы могут возникнуть и как их решить
По умолчанию компьютерный маршрутизатор закрыт для доступа со стороны провайдера и Всемирной сети. Чтобы получить возможность взаимодействия с домашним ПК отовсюду, необходимо подробно рассмотреть, как открыть порты на роутере.
Для обмена данными с внешними источниками необходимо открыть порты в роутере.
Необходимость открытия портов
Пробрасывать порты требуется для получения доступа к компьютеру за пределами локальной сети путем отправки запросов на роутер. Это может понадобиться в следующих случаях:
- для использования специализированных приложений для удаленного управления ПК;
- для дистанционной работы с торрент — клиентом;
- для организации домашнего сервера;
- для многопользовательских игр.
Благодаря переадресованию пользователь может осуществлять удаленное управление роутером с любого компьютера. Стоит учитывать, что это действие снижает уровень защиты системы от различных атак. По этой причине не рекомендуется длительное время держать открытым порт 80.
Определение собственного IP-адреса или назначение статического
Прежде чем пробрасывать порты, нужно узнать IP компьютера и его тип. Это можно сделать в веб-утилите 2IP. Если провайдер предлагает статический белый адрес, то проброс будет осуществляться без проблем. Если внешний пользовательский IP изменяется, то с этой процедурой будут возникать проблемы. Перед пробросом нужно также задать статический адрес компьютера в пределах домашней сети. Это делается как в настройках роутера, так и в параметрах сетевой карты.
Узнать IP-адрес компьютера можно с помощью специализированного сервиса 2IP.
Выполнение процедуры
Перед выполнением процедуры нужно убедиться в том, что роутер поддерживает функцию виртуального сервера или трансляции сетевых адресов. Сведения об этом, а также о том, как узнать порт роутера, можно найти в веб-интерфейсе устройства. Соответствующий пункт может находиться во вкладке «Безопасность» на устройствах Zyxel.
На роутерах D-Link проброс осуществляется в параметрах виртуальных серверов. Чтобы снизить вероятность возникновения ошибок, перед выполнением процедуры следует обновить прошивку.
Настройка Windows
В операционной системе нужно сперва настроить встроенный брандмауэр. Его можно выключить, если в антивирус уже встроен аналогичный защитный механизм. Если проброс портов осуществляется для организации сервера или мини-сайта, то нужно запретить переход компьютера в спящий режим при бездействии. Это можно сделать в панели управления питанием, сконфигурировав активный план.
Действия с роутером
Порядок действий по пробросу зависит от модели роутера. На Zyxel Keenetic нужно вначале присвоить компьютеру статический адрес внутри сети. Это делается во внутреннем средстве настройки домашней сети. Нужно щелкнуть по устройству, задать IP и поставить галочку регистрации. Когда статические адреса будут распределены, нужно нажать кнопку безопасности на нижней панели. Сразу откроется вкладка трансляции сетевых адресов, на которой и настраивается переадресование по задаваемым правилам. Создать новую конфигурацию можно при нажатии соответствующей кнопки.
В открывшемся окне вначале вводят название правила проброса. Затем выбирают входящий интерфейс, протокол, а при необходимости — внешний адрес сервера, с которого будет идти запрос на роутер. В полях для исходного порта TCP/UDP можно указать одно значение или же диапазон, который не должен быть широким, чтобы не подвергаться риску заражения.
Затем нужно указать устройство, зарегистрированное в списке домашней сети, на которое будут перенаправляться запросы с указанного ранее адреса. После этого в поле для порта назначения указывают тот же номер, что и для исходного. Изменения сохраняются при нажатии кнопки.
На роутере ASUS проброс осуществляется в панели, которая открывается при нажатии на третью вкладку после перехода в дополнительные параметры интернета.
Отличительной особенностью устройства этой фирмы является наличие списка избранных серверов и игр. Это ускоряет настройку переадресования определенных портов.
Когда нужная служба будет выбрана, в таблицу добавится новое правило. На маршрутизаторах Asus можно пробросить не более 32 портов. Для создания правила вручную заполняют строку таблицы. В поле локального адреса вносят статический IP компьютера. Значения обоих портов должны быть одинаковыми. Чтобы сохранить правило, последовательно нажимают кнопки «+» и применения. Похожим образом осуществляется переадресование на других моделях роутеров.
На роутере ASUS, в графе локального IP можно прописать, какие порты нужно открыть, указать диапазон их изменений.
Проверка результатов
Узнать, проброшен ли настроенный порт на роутере, можно с помощью веб-приложения «2-Ай-Пи». Для проверки результата на главной странице выбирают соответствующий раздел. Затем вводят номер проброшенного порта. Если эта процедура была выполнена правильно, то через несколько секунд под кнопкой отправки появится сообщение об открытии интерфейса.
В противном случае, если появилась надпись «Порт закрыт», нужно повторить проброс с самого начала, внимательно проверяя порядок действий и не забывая перезагружать роутер и компьютер при необходимости.
Закрытие портов
Чтобы закрыть порты, нужно перейти в веб-интерфейс роутера и удалить ранее созданные правила или виртуальные серверы. Если в настройках системы был задан статический айпи-адрес, то следует вновь установить динамический через конфигуратор протокола TCP. Затем включают переход компьютера в спящий режим, если после закрытия портов ПК не используется в роли сервера.
Какие проблемы могут возникнуть и как их решить
При переадресовании можно столкнуться с разными проблемами. Одна из таких — это блокировка со стороны провайдера. В этом случае сервис «2-Айпи» укажет, что требуемый порт закрыт, если даже роутер настроен по всем правилам. Чтобы справиться с этой трудностью, следует подключить у провайдера неизменяемый внешний IP-адрес или воспользоваться динамическим ДНС-сервером. Некоторые роутеры предоставляют подобную службу. Решить проблему проброса, вызванную провайдером, можно еще и с помощью VPN.
Обойти блокировку по переадресации портов можно с помощью VPN.
Другая проблема — это неточный исходный адрес, откуда поступают запросы на открытый порт. Для многопользовательских игр этот показатель можно уточнить у разработчика или с помощью утилиты «2-Айпи». Внутренний адрес роутера можно уточнить в настройках сетевого подключения к компьютеру. Также эту проблему можно решить, если отключить сервер DHCP и задать для маршрутизатора статический IP. Переадресование может не получаться из-за того, что антивирус или брандмауэр блокирует запросы. В этом случае нужно создать правило, разрешающее входящие подключения к любым портам.
Порты позволяют сетевым и подключенным к интернету устройствам взаимодействовать через указанные каналы. Хотя серверы с назначенными IP адресами могут подключаться к интернету напрямую и делать порты публично доступными, система, находящаяся за роутером в локальной сети, может оказаться недоступной из интернета. Технология проброса портов (port forwarding) позволяет преодолеть это ограничение и сделать устройства доступными публично.
Сетевые сервисы и приложения, запущенные на различных устройствах, используют порты с определенными номерами с целью инициации соединений и организации коммуникаций. Разные порты могут использоваться одновременно для разделения типов трафика и запросов. Обычно порты ассоциируются с определенными службами, чтобы клиент мог подключиться к серверу по определенному порту, а сервер принять соединение и ответить соответствующим образом.
Ниже представлены наиболее распространенные порты:
- 21: FTP (File Transfer Protocol; Протокол передачи файлов)
- 22: SSH (Secure Shell; Безопасный шелл)
- 23: Telnet (Teletype Network; Телетайпная сеть)
- 25: SMTP (Simple Mail Transfer Protocol; Простой протокол передачи электронной почты)
- 80 : HTTP (Hypertext Transfer Protocol; Протокол передачи гипертекста)
- 194: IRC (Internet Relay Chat; Ретранслируемый интернет-чат)
- 443: HTTPS (HTTP с поддержкой шифрования)
Если вы читаете это руководство в интернете при помощи веб-браузера, то вероятно используете протокол HTTPS, работающий на порту 443.
Хотя порты упрощают задачу идентификации и обработки определенных запросов, соглашение о нумерации портов является стандартом, но не правилом. Порты могут использовать для любых задач при условии, что соединение между клиентом и сервером на указанном порту использует соответствующий протокол.
В веб-браузерах нестандартные HTTP порты могут быть указаны после двоеточия в конце IP адреса или URL с целью загрузки содержимого через этот порт. Если веб-сервер запущен на локальной машине на порту 8080, а не более общепринятом 80 порту, возможно получить доступ к этому серверу, если ввести в браузере адрес localhost:8080 или 127.0.0.1:8080. Если же ввести один из вышеуказанных адресов без суффикса «:8080» та же самая страница загружена не будет.
localhost:8080
Хотя любой открытый порт должен позволять попытки соединения, чтобы эти попытки совершились, у клиента должен быть сетевой доступ к целевому устройству. В случае с сервером, подключенным к интернету напрямую, или при соединении через локальную сеть, сложностей обычно не возникает. Проблема появляется в тот момент, когда мы пытаемся подключиться к порту у устройства, находящегося за роутером или фаерволом.
Большинство домашних или офисных сетей подключено к интернету через роутер, который регулирует доступ и аккумулирует трафик на одном 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.
В Линуксе та же самая задача решается при помощи утилиты 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» с целью упрощения идентификации в будущем. В целом имя правила полностью зависит от ваших личных предпочтений и не влияет на используемые порты.
-
Диапазон параметра 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 (в этом случае проброс портов активируется на уровне операционной системы):
~$ 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 с целью облегчения доступа к тестовому серверу, или могут быть добавлены новые порты для использования определенной службой. Проброс портов полезен для удаленного доступа, администрирования сервера, конфигурирования сети и даже во время пост-эксплуатации и пивотинга. Понимание этой технологии может быть ключом к бесчисленному множеству других проектов по безопасности.
На чтение 10 мин Просмотров 5.1к.
Максим aka WisH
Высшее образование по специальности «Информационные системы». Опыт работы системным администратором — 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-туннели используют для безопасно передачи данных и подключению к свое оборудованию, но не к каждому девайсу так удобно подключаться.
Проблема возникает такая же, как и в случае с роутерами. Если у вас построен полноценный туннель, то он может быть организован на Линуксе, виндовсе или используя какую-то операционную систему с вашего маршрутизатора. При этом настройка параметров и ограничений тоже лежит на вас.
Команда для проброски портов выглядит так на большинстве устройств:
$ ssh -f -N -R 2222:10.11.12.13:22 username@99.88.77.66
Теперь доступ к устройству можно получить по адресу http://localhost:2222 или командой $ ssh -p2222 localhost. Все это делается через ваш хост 99.88.77.66 к которому уже построен и настроен туннель, так что само его построение не рассматриваем.
Заключение
Проброс портов требуется в нескольких случаях, но всегда нужен для получения доступа к какой-то информации. Проводить его стоит с осторожностью, также хорошо, если вы сможете как-то дополнительно защитить оборудования, к которому теперь подключаетесь из сети. Сам белый адрес увеличивает шансы на взлом оборудования, а если иметь еще и незащищенное соединение через один из портов, то шансы увеличиваются.
Проблемы возникнут и при параноидальной настройке фаерволлов и антивирусов на компьютере или маршрутизаторе. Лучше заранее создайте исключения для каждого проброшенного порта и будущего соединения. Если этого не сделать, то в случайный момент времени антивирус может зарезать это соединение. Фаерволл-то его сразу не пропустит, если оно ему не нравится. А вот комплексные решения могут подложить свинью в самый неожиданный момент.