Хотя современные маршрутизаторы обрабатывают большинство функций автоматически, для некоторых приложений потребуется вручную перенаправить порт на это приложение или устройство. К счастью, это действительно просто сделать, если знать, где искать.
Что такое перенаправление портов?
Мы рассмотрели множество проектов, в которых ваш компьютер используется в качестве сервера для других устройств. Когда вы находитесь внутри своей сети, большинство вещей будет работать нормально. Но некоторые приложения, если вы хотите получить к ним доступ, когда находитесь вне своей сети, значительно усложняют задачу. Давайте начнем с того, что посмотрим, почему это так.
Как ваш маршрутизатор обрабатывает запросы и использует порты
Вот карта простой домашней сети. Значок облака представляет собой более крупный Интернет и ваш общедоступный или прямой адрес Интернет-протокола (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-адрес - вы можете найти его, посетив вхатистип.ком находясь в домашней сети. Хотя вполне возможно, что у вас может быть один и тот же общедоступный 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 к вашему домашнему серверу), но это не всегда доступно сразу, если вы не в отъезде. из дома.
К счастью, есть удобная небольшая программа проверки портов, доступная в Интернете по адресу ЮГетСигнал.ком . Мы можем проверить, проделана ли переадресация порта нашего сервера Minecraft, просто попросив тестера порта подключиться к нему. Введите свой IP-адрес и номер порта и нажмите «Проверить».
Вы должны получить сообщение, как показано выше, например «Порт X открыт на [Your IP]». Если порт отображается как закрытый, дважды проверьте как настройки в меню переадресации портов на вашем маршрутизаторе, так и ваш IP-адрес и данные порта в тестере.
Настроить переадресацию портов непросто, но если вы назначаете статический IP-адрес целевому устройству и настраиваете динамический DNS-сервер для вашего домашнего IP-адреса, вам нужно посетить эту задачу только один раз, чтобы наслаждайтесь беспроблемным доступом к вашей сети в будущем.