Как выполнить проброс портов на маршрутизаторе

Кошки и компьютеры (Часть 1)
22.01.2018
Как выбрать Powerline-адаптеры
22.01.2018

Необходимость проброса портов на маршрутизаторе (роутере) возникает, когда вы хотите организовать доступ из интернета к какому-то ресурсу домашней сети. Это может быть как игровой сервер, так и сервер RDP, FTP или установить дома камеру охранного наблюдения, чтобы постоянно видеть, что творится у вас дома (например, если вы оставили дома своего ребёнка с наёмной няней).

Иногда безусловного проброса портов требуют IP-телефонии. Это уже зависит от того, по какому принципу осуществляет работу ваша коммуникационная компания.

Практически любой маршрутизатор корректно поддерживает весь этот функционал. Единственное, на что хотелось бы обратить пристальное внимание – это необходимость получения от провайдера внешнего IP.  Статического или динамического, в данном случае не имеет большого значения. Он просто по факту у вас должен быть.

  1. Почему необходимо пробрасывать порты для доступа к внутренним ресурсам из интернета?
  2. Контрольный список необходимых операций
  3. Заходим в админку маршрутизатора
  4. Проверяем и корректируем настройки DHCP
  5. Подготавливаем компьютер через прописывание фиксированного (статического) IP-адреса (Способ 1)
  6. Подготавливаем компьютер через фиксирование его адреса на маршрутизаторе (Способ 2)
  7. Настраиваем проброс портов на маршрутизаторе
  8. Что делать, если вдруг ничего не заработало?

Почему необходимо пробрасывать порты для доступа к внутренним ресурсам из интернета?

Такая необходимость возникает в связи с тем, что ваш роутер автоматически отфильтровывает те данные, которые вы не запрашивали. Это связано, прежде всего, с необходимостью обеспечения безопасности вашей сети. Представьте себе такую картину: у вас дома компьютер, ноутбук, хранилище файлов (файлопомойка). И ко всему этому имеет доступ любой желающий из интернета…

Чтобы не допустить всякую нечисть в домашнюю сеть, роутер пропускает только те запросы и только тому компьютеру в сети, которые он запрашивал. Для этого умные инженеры придумали 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 и проверить, будет ли доступен сервис после этого. Если всё заработает, значит нужно копать именно там.

Что именно и как копать – рассмотрим в одной из следующих статей.