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

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

Что такое перенаправление портов?

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

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

Вот карта простой домашней сети. Значок облака представляет собой более крупный Интернет и ваш общедоступный или прямой адрес Интернет-протокола (IP). Этот IP-адрес представляет всю вашу семью из чужого мира - в некотором смысле, как уличный адрес.

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

Диаграмма поднимает интересный вопрос, о котором вы, возможно, не задумывались раньше. Как вся информация из Интернета попадает на нужное устройство в сети? Если вы посетите сайт howtogeek.com на своем ноутбуке, как он окажется на вашем ноутбуке, а не на рабочем столе вашего сына, если общедоступный IP-адрес одинаков для всех устройств?

Это стало возможным благодаря чудесной магии маршрутизации, известной как преобразование сетевых адресов (NAT). Эта функция выполняется на уровне маршрутизатора, где NAT действует как трафик-менеджер, направляя поток сетевого трафика через маршрутизатор, так что один общедоступный IP-адрес может совместно использоваться всеми устройствами за маршрутизатором. Благодаря NAT каждый в вашей семье может одновременно запрашивать веб-сайты и другой интернет-контент, и все это будет доставлено на нужное устройство.

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

Некоторые порты имеют определенные приложения, которые являются стандартами для всей компьютерной индустрии. Например, когда вы загружаете веб-страницу, она использует порт 80. Программное обеспечение принимающего компьютера знает, что порт 80 используется для обслуживания документов http, поэтому он прослушивает его и реагирует соответствующим образом. Если вы отправляете HTTP-запрос через другой порт, скажем, 143, веб-сервер не распознает его, потому что он не прослушивает его (хотя может быть что-то еще, например почтовый сервер IMAP, который традиционно использует этот порт).

Другие порты не имеют заранее назначенного использования, и вы можете использовать их для чего угодно. Чтобы не мешать работе других приложений, соответствующих стандартам, для этих альтернативных конфигураций лучше использовать большее число. Например, Plex Media Server использует порт 32400, а серверы Minecraft используют 25565 - оба числа относятся к категории «честной игры».

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

Зачем нужно перенаправлять порты

Так почему именно вам нужно перенаправлять порты? Хотя некоторые приложения используют NAT для установки собственных портов и обработки всей конфигурации за вас, есть еще много приложений, которые этого не делают, и вам нужно протянуть руку помощи своему маршрутизатору, когда дело доходит до подключения сервисов и приложений. .

На диаграмме ниже мы начинаем с простой предпосылки. Вы находитесь на своем ноутбуке где-то в мире (с IP-адресом 225.213.7.32) и хотите подключиться к домашней сети для доступа к некоторым файлам. Если вы просто подключите свой домашний IP-адрес (127.34.73.214) к любому используемому вами инструменту (например, FTP-клиенту или приложению удаленного рабочего стола), и этот инструмент не использует преимущества тех расширенных функций маршрутизатора, которые мы только что упомянули, не повезло тебе. Он не будет знать, куда отправить ваш запрос, и ничего не произойдет.

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

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

Итак, в этом примере, когда вы находитесь вне дома и используете свой ноутбук, вы используете разные порты для выполнения запросов. Когда вы получаете доступ к IP-адресу вашей домашней сети через порт 22, ваш домашний маршрутизатор знает, что он должен перейти на 192.168.1.100 внутри сети. Затем на вашу установку Linux ответит демон SSH. В то же время вы можете сделать запрос через порт 80, который ваш маршрутизатор отправит на веб-сервер по адресу 192.168.1.150. Или вы можете попытаться удаленно управлять ноутбуком вашей сестры с помощью VNC, и ваш маршрутизатор подключит вас к вашему ноутбуку по адресу 192.168.1.200. Таким образом, вы можете легко подключиться ко всем устройствам, для которых настроили правило переадресации портов.

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

Когда вы получаете доступ к своей домашней сети через общедоступный порт 80, вы можете указать своему маршрутизатору отправить его на порт 80 на сервере погоды по адресу 192.168.1.150, где он будет прослушивать порт 80. Но вы можете сообщить своему маршрутизатору что при доступе к нему через порт 10,000 он должен переходить на порт 80 на вашем личном сервере, 192.168.1.250. Таким образом, второй компьютер не нужно перенастраивать для использования другого порта, но вы все равно можете эффективно управлять трафиком - и в то же время, оставив первый веб-сервер связанным с портом 80, вы упростите доступ людей к вашему вышеупомянутый проект погодного сервера.

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

Рекомендации перед настройкой маршрутизатора

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

Установите статический IP-адрес для ваших устройств

Прежде всего, все ваши правила переадресации портов развалятся, если вы назначаете их устройствам с динамическими IP-адресами, назначенными службой DHCP вашего маршрутизатора. Мы подробно рассмотрим, что такое DHCP, в этой статье о назначении DHCP и статических IP-адресов, но здесь мы дадим вам краткое изложение.

СВЯЗАННЫЕ: Как установить статические IP-адреса на маршрутизаторе

У вашего маршрутизатора есть пул адресов, который он резервирует только для передачи устройствам, когда они присоединяются к сети и покидают ее. Думайте об этом как о том, как получить номер в закусочной, когда вы приедете - ваш ноутбук подключается, бум, он получает IP-адрес 192.168.1.98. Ваш iPhone присоединяется, бум, он получает адрес 192.168.1.99. Если вы отключите эти устройства на какое-то время или маршрутизатор будет перезагружен, вся лотерея IP-адресов будет повторяться снова и снова.

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

Знайте свой IP-адрес (и установите динамический DNS-адрес)

Помимо использования статических IP-адресов для соответствующих устройств в вашей сети, вы также хотите знать свой внешний IP-адрес - вы можете найти его, посетив whatismyip.com, находясь в домашней сети. Хотя возможно, что у вас может быть один и тот же общедоступный IP-адрес в течение месяцев или даже года, ваш общедоступный IP-адрес может измениться (если только ваш интернет-провайдер явно не предоставил вам статический общедоступный IP-адрес). Другими словами, вы не можете полагаться на ввод своего числового IP-адреса в какой-либо удаленный инструмент, который вы используете (и вы не можете полагаться на передачу этого IP-адреса другу).

СВЯЗАННЫЕ: Как легко получить доступ к вашей домашней сети из любого места с помощью динамического DNS

Теперь, хотя вы можете вручную проверять этот IP-адрес каждый раз, когда вы выходите из дома и собираетесь работать вдали от дома (или каждый раз, когда ваш друг собирается подключиться к вашему серверу Minecraft или тому подобное), это большая проблема. Головная боль. Вместо этого мы настоятельно рекомендуем вам настроить службу динамического DNS, которая позволит вам связать ваш (изменяющийся) домашний IP-адрес с запоминающимся адресом, например mysuperawesomeshomeserver.dynu.net. Для получения дополнительной информации о том, как настроить службу динамического DNS в вашей домашней сети, ознакомьтесь с нашим полным руководством здесь.

Обратите внимание на локальные брандмауэры

После того, как вы настроите переадресацию портов на уровне маршрутизатора, есть вероятность, что вам может потребоваться настроить правила брандмауэра на вашем компьютере. Например, на протяжении многих лет мы получали много писем от разочарованных родителей, настраивающих перенаправление портов, чтобы их дети могли играть в Minecraft со своими друзьями. Почти в каждом случае проблема заключается в том, что, несмотря на правильную настройку правил переадресации портов на маршрутизаторе, кто-то проигнорировал запрос брандмауэра Windows, спрашивая, все ли в порядке, если платформа Java (на которой запущен Minecraft) может получить доступ к большему Интернету.

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

Шаг первый: найдите правила переадресации портов на своем маршрутизаторе

Устали от всех уроков по нетворкингу? Не волнуйтесь, наконец-то пришло время его настроить - и теперь, когда вы знаете основы, это довольно просто.

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

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

Для сравнения, вот как выглядит меню переадресации портов на роутере D-Link DIR-890L:

А вот как выглядит меню переадресации портов на том же роутере, на котором установлена ​​популярная сторонняя прошивка DD-WRT:

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

После того, как вы нашли меню, пришло время установить фактическое правило.

Шаг 2. Создайте правило переадресации портов

После того, как вы узнаете все о переадресации портов, настройке динамического DNS для вашего домашнего IP-адреса и всей остальной работе, которая была связана с этим, важный шаг - создание фактического правила - в значительной степени превратился в прогулку по парку. В меню переадресации портов на нашем маршрутизаторе мы собираемся создать два новых правила переадресации портов: одно для музыкального сервера Subsonic и одно для нового сервера Minecraft, который мы только что настроили.

Несмотря на различия в расположении в разных программах маршрутизатора, общие данные одинаковы. Почти всегда вы назовете правило переадресации портов. Лучше всего просто назвать его сервером или службой, а затем добавить его, если необходимо для ясности (например, «Веб-сервер» или «Веб-сервер-Погода», если их несколько). Помните протокол TCP / UDP, о котором мы говорили в начале? Вам также необходимо указать TCP, UDP или оба. Некоторые люди очень настойчиво относятся к тому, чтобы точно выяснить, какой протокол использует каждое приложение и сервис, и идеально согласовать его в целях безопасности. Мы будем первыми, кто признает, что мы ленивы в этом отношении и почти всегда просто выбираем «Оба», чтобы сэкономить время.

Некоторые прошивки маршрутизаторов, в том числе более продвинутый DD-WRT, который мы используем на снимке экрана выше, позволяют вам указать значение «Source», которое представляет собой список IP-адресов, на которые вы ограничиваете переадресацию порта в целях безопасности. Вы можете использовать эту функцию, если хотите, но имейте в виду, что она привносит целый ряд новых проблем, поскольку предполагает, что удаленные пользователи (включая вас, когда вы находитесь вдали от дома, и друзей, которые подключаются) имеют статические IP-адреса.

Затем вам нужно будет подключить внешний порт. Это порт, который будет открыт на маршрутизаторе и обращен в Интернет. Вы можете использовать здесь любое число от 1 до 65353, но практически большинство меньших номеров заняты стандартными службами (такими как электронная почта и веб-серверы), а многие из более высоких номеров назначаются довольно распространенным приложениям. Имея это в виду, мы бы рекомендовали выбрать число выше 5000 и, для большей безопасности, использовать Ctrl + F для поиска в этом длинном списке номеров портов TCP / UDP, чтобы убедиться, что вы не выбираете порт, который конфликтует с существующий сервис, который вы уже используете.

Наконец, введите внутренний IP-адрес устройства, порт, который вы используете на этом устройстве, и (если применимо) включите правило. Не забудьте сохранить настройки.

Шаг третий: проверьте правило переадресации порта

Самый очевидный способ проверить, работает ли переадресация вашего порта, - это подключиться с использованием процедуры, предназначенной для порта (например, попросите друга подключить свой клиент Minecraft к вашему домашнему серверу), но это не всегда доступно сразу, если вы не в отъезде. из дома.

К счастью, на сайте YouGetSignal.com есть удобная небольшая программа проверки портов. Мы можем проверить, выполняется ли переадресация порта нашего сервера Minecraft, просто попросив тестера порта подключиться к нему. Введите свой IP-адрес и номер порта и нажмите «Проверить».

Вы должны получить сообщение, как показано выше, например «Порт X открыт на [Ваш IP]». Если порт отображается как закрытый, дважды проверьте как настройки в меню переадресации портов на вашем маршрутизаторе, так и ваш IP-адрес и данные порта в тестере.

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