Настройка проброса портов для создания интернет-сервисов
Порты позволяют сетевым и подключенным к интернету устройствам взаимодействовать через указанные каналы. Хотя серверы с назначенными 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» та же самая страница загружена не будет.
Хотя любой открытый порт должен позволять попытки соединения, чтобы эти попытки совершились, у клиента должен быть сетевой доступ к целевому устройству. В случае с сервером, подключенным к интернету напрямую, или при соединении через локальную сеть, сложностей обычно не возникает. Проблема появляется в тот момент, когда мы пытаемся подключиться к порту у устройства, находящегося за роутером или фаерволом.
Большинство домашних или офисных сетей подключено к интернету через роутер, который регулирует доступ и аккумулирует трафик на одном IP адресе. Все запросы и пакеты отсылаются через роутер перед обратным возвращением ответов на соответствующие устройства, сделавшие изначальные запросы. По умолчанию роутеры не обрабатывают входящие запросы на определенных портах. Если кто-то пытается подключиться к роутеру через SSH, роутер не сможет ни обработать этот запрос, ни отправить этот запрос дальше по цепочке, поскольку не знает целевого адресата. Эту проблему как раз и решает настройка проброса портов внутри роутера.
Шаг 1. Выяснение IP адреса роутера
Обычно у роутеров доступна административная панель по протоколу HTTP (порт 80). В большинстве случаев для доступа используется локальный IP адрес роутера (192.168.0.1 или 192.168.1.1). В Microsoft Windows подключенный роутер (или шлюз, используемый по умолчанию) легко обнаружить при помощи команды ipconfig/all.
В Линуксе та же самая задача решается при помощи утилиты netstat. Откройте терминал и введите следующую команду для выяснения IP адреса подключенного роутера.
В macOS используется та же самая команда:
Шаг 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 (в этом случае проброс портов активируется на уровне операционной системы):
Как только IP форвардинг включен, убедитесь, что вы знаете текущий порт сервиса, который нужно пробросить. Во время конфигурирования ханипота Cowrie эта задача решается посредством настройки демона SSH на порт 9022.
Наконец, для включения локального проброса портов, можно воспользоваться iptables. Команда ниже перенаправляет запросы с порта 22 на порт 2222, где эти запросы обрабатывает ханипот.
Другие сферы, где используется проброс портов
Перенаправление портов может использоваться и в других задачах. Например, порт 8080 может быть перенаправлен на порт 80 с целью облегчения доступа к тестовому серверу, или могут быть добавлены новые порты для использования определенной службой. Проброс портов полезен для удаленного доступа, администрирования сервера, конфигурирования сети и даже во время пост-эксплуатации и пивотинга. Понимание этой технологии может быть ключом к бесчисленному множеству других проектов по безопасности.
Протокол TCP/IP или как работает Интернет (для чайников)
В основе работы глобальной сети Интернет лежит набор (стек) протоколов TCP/IP. Но эти термины лишь на первый взгляд кажутся сложными. На самом деле стек протоколов TCP/IP — это простой набор правил обмена информацией, и правила эти на самом деле вам хорошо известны, хоть вы, вероятно, об этом и не догадываетесь. Да, все именно так, по существу в принципах, лежащих в основе протоколов TCP/IP, нет ничего нового: все новое — это хорошо забытое старое.
Человек может учиться двумя путями:
- Через тупое формальное зазубривание шаблонных способов решения типовых задач (чему сейчас в основном и учат в школе). Такое обучение малоэффективно. Наверняка вам приходилось наблюдать панику и полную беспомощность бухгалтера при смене версии офисного софта — при малейшем изменении последовательности кликов мышки, требуемых для выполнения привычных действий. Или приходилось видеть человека, впадающего в ступор при изменении интерфейса рабочего стола?
- Через понимание сути проблем, явлений, закономерностей. Через понимание принципов построения той или иной системы. В этом случае обладание энциклопедическими знаниями не играет большой роли — недостающую информацию легко найти. Главное — знать, что искать. А для этого необходимо не формальное знание предмета, а понимание сути.
В этой статье я предлагаю пойти вторым путем, так как понимание принципов, лежащих в основе работы Интернета, даст вам возможность чувствовать себя в Интернете уверенно и свободно — быстро решать возникающие проблемы, грамотно формулировать проблемы и уверенно общаться с техподдержкой.
Принципы работы интернет-протоколов TCP/IP по своей сути очень просты и сильно напоминают работу нашей советской почты.
Вспомните, как работает наша обычная почта. Сначала вы на листке пишете письмо, затем кладете его в конверт, заклеиваете, на обратной стороне конверта пишете адреса отправителя и получателя, а потом относите в ближайшее почтовое отделение. Далее письмо проходит через цепочку почтовых отделений до ближайшего почтового отделения получателя, откуда оно тетей-почтальоном доставляется до по указанному адресу получателя и опускается в его почтовый ящик (с номером его квартиры) или вручается лично. Все, письмо дошло до получателя. Когда получатель письма захочет вам ответить, то он в своем ответном письме поменяет местами адреса получателя и отправителя, и письмо отправиться к вам по той же цепочке, но в обратном направлении.
На конверте письма будет написано примерно следующее:
Теперь мы готовы рассмотреть взаимодействие компьютеров и приложений в сети Интернет (да и в локальной сети тоже). Обратите внимание, что аналогия с обычной почтой будет почти полной.
Каждый компьютер (он же: узел, хост) в рамках сети Интернет тоже имеет уникальный адрес, который называется IP-адрес (Internet Protocol Address), например: 195.34.32.116. IP адрес состоит из четырех десятичных чисел (от 0 до 255), разделенных точкой. Но знать только IP адрес компьютера еще недостаточно, т.к. в конечном счете обмениваются информацией не компьютеры сами по себе, а приложения, работающие на них. А на компьютере может одновременно работать сразу несколько приложений (например почтовый сервер, веб-сервер и пр.). Для доставки обычного бумажного письма недостаточно знать только адрес дома — необходимо еще знать номер квартиры. Также и каждое программное приложение имеет подобный номер, именуемый номером порта. Большинство серверных приложений имеют стандартные номера, например: почтовый сервис привязан к порту с номером 25 (еще говорят: «слушает» порт, принимает на него сообщения), веб-сервис привязан к порту 80, FTP — к порту 21 и так далее.
Таким образом имеем следующую практически полную аналогию с нашим обычным почтовым адресом:
В компьютерных сетях, работающих по протоколам TCP/IP, аналогом бумажного письма в конверте является пакет, который содержит собственно передаваемые данные и адресную информацию — адрес отправителя и адрес получателя, например:
Конечно же в пакетах также присутствует служебная информация, но для понимания сути это не важно.
Обратите внимание, комбинация: «IP адрес и номер порта» — называется «сокет».
В нашем примере мы с сокета 82.146.49.55:2049 посылаем пакет на сокет 195.34.32.116:53, т.е. пакет пойдет на компьютер, имеющий IP адрес 195.34.32.116, на порт 53. А порту 53 соответствует сервер распознавания имен (DNS-сервер), который примет этот пакет. Зная адрес отправителя, этот сервер сможет после обработки нашего запроса сформировать ответный пакет, который пойдет в обратном направлении на сокет отправителя 82.146.49.55:2049, который для DNS сервера будет являться сокетом получателя.
Как правило взаимодействие осуществляется по схеме «клиент-сервер»: «клиент» запрашивает какую-либо информацию (например страницу сайта), сервер принимает запрос, обрабатывает его и посылает результат. Номера портов серверных приложений общеизвестны, например: почтовый SMTP сервер «слушает» 25-й порт, POP3 сервер, обеспечивающий чтение почты из ваших почтовых ящиков «слушает» 110-порт, веб-сервер — 80-й порт и пр.
Большинство программ на домашнем компьютере являются клиентами — например почтовый клиент Outlook, веб-обозреватели IE, FireFox и пр.
Номера портов на клиенте не фиксированные как у сервера, а назначаются операционной системой динамически. Фиксированные серверные порты как правило имеют номера до 1024 (но есть исключения), а клиентские начинаются после 1024.
Повторение — мать учения: IP — это адрес компьютера (узла, хоста) в сети, а порт — номер конкретного приложения, работающего на этом компьютере.
Однако человеку запоминать цифровые IP адреса трудно — куда удобнее работать с буквенными именами. Ведь намного легче запомнить слово, чем набор цифр. Так и сделано — любой цифровой IP адрес можно связать с буквенно-цифровым именем. В результате например вместо 82.146.49.55 можно использовать имя www.ofnet.ru. А преобразованием доменного имени в цифровой IP адрес занимается сервис доменных имен — DNS (Domain Name System).
Рассмотрим подробнее, как это работает. Ваш провайдер явно (на бумажке, для ручной настройки соединения) или неявно (через автоматическую настройку соединения) предоставляет вам IP адрес сервера имен (DNS). На компьютере с этим IP адресом работает приложение (сервер имен), которое знает все доменные имена в Интернете и соответствующие им цифровые IP адреса. DNS-сервер «слушает» 53-й порт, принимает на него запросы и выдает ответы, например:
Теперь рассмотрим, что происходит, когда в своем браузере вы набираете доменное имя (URL) этого сайта (www.ofnet.ru) и, нажав <enter>, в ответ от веб-сервера получаете страницу этого сайта.
Набираем в адресной строке браузера доменное имя www.ofnet.ru и жмем <enter>. Далее операционная система производит примерно следующие действия:
Отправляется запрос (точнее пакет с запросом) DNS серверу на сокет 195.34.32.116:53. Как было рассмотренно выше, порт 53 соответствует DNS-серверу — приложению, занимающемуся распознаванием имен. А DNS-сервер, обработав наш запрос, возвращает IP-адрес, который соответствует введенному имени.
Диалог примерно следующий:
Далее наш компьютер устанавливает соединение с портом 80 компьютера 82.146.49.55 и посылает запрос (пакет с запросом) на получение страницы www.ofnet.ru. 80-й порт соответствует веб-серверу. В адресной строке браузера 80-й порт как правило не пишется, т.к. используется по умолчанию, но его можно и явно указать после двоеточия — http://www.ofnet.ru:80.
Приняв от нас запрос, веб-сервер обрабатывает его и в нескольких пакетах посылает нам страницу в на языке HTML — языке разметки текста, который понимает браузер.
Наш браузер, получив страницу, отображает ее. В результате мы видим на экране главную страницу этого сайта.
Зачем эти принципы надо понимать?
Например, вы заметили странное поведение своего компьютера — непонятная сетевая активность, тормоза и пр. Что делать? Открываем консоль (нажимаем кнопку «Пуск» — «Выполнить» — набираем cmd — «Ок»). В консоли набираем команду netstat -anи жмем <Enter>. Эта утилита отобразит список установленных соединений между сокетами нашего компьютера и сокетами удаленных узлов. Если мы видим в колонке «Внешний адрес» какие-то чужие IP адреса, а через двоеточие 25-й порт, что это может означать? (Помните, что 25-й порт соответствует почтовому серверу?) Это означает то, что ваш компьютер установил соединение с каким-то почтовым сервером (серверами) и шлет через него какие-то письма. И если ваш почтовый клиент (Outlook например) в это время не запущен, да если еще таких соединений на 25-й порт много, то, вероятно, в вашем компьютере завелся вирус, который рассылает от вашего имени спам или пересылает номера ваших кредитных карточек вкупе с паролями злоумышленникам.
Также понимание принципов работы Интернета необходимо для правильной настройки файерволла (проще говоря брандмауэра :)). Эта программа (которая часто поставляется вместе с антивирусом), предназначенна для фильтрации пакетов — «своих» и «вражеских». Своих пропускать, чужих не пущать. Например, если ваш фаерволл сообщает вам, что некто хочет установить соединение с каким-либо портом вашего компьютера. Разрешить или запретить?
Ну и самое главное — эти знания крайне полезны при общении с техподдержкой.
Напоследок приведу список портов, с которыми вам, вероятно, придется столкнуться:
Несколько специальных IP адресов:
Что такое маска подсети и шлюз по умолчанию (роутер, маршрутизатор)?
(Эти параметры задаются в настройках сетевых подключений).
Все просто. Компьютеры объединяются в локальные сети. В локальной сети компьютеры напрямую «видят» только друг друга. Локальные сети соединяются друг с другом через шлюзы (роутеры, маршрутизаторы). Маска подсети предназначена для определения — принадлежит ли компьютер-получатель к этой же локальной сети или нет. Если компьютер-получатель принадлежит этой же сети, что и компьютер-отправитель, то пакет передается ему напрямую, в противном случае пакет отправляется на шлюз по умолчанию, который далее, по известным ему маршрутам, передает пакет в другую сеть, т.е. в другое почтовое отделение (по аналогии с советской почтой).
Напоследок рассмотрим что же означают непонятные термины:
TCP/IP — это название набора сетевых протоколов. На самом деле передаваемый пакет проходит несколько уровней. (Как на почте: сначала вы пишете писмо, потом помещаете в конверт с адресом, затем на почте на нем ставится штамп и т.д.).
IP протокол — это протокол так называемого сетевого уровня. Задача этого уровня — доставка ip-пакетов от компьютера отправителя к компьютеру получателю. По-мимо собственно данных, пакеты этого уровня имеют ip-адрес отправителя и ip-адрес получателя. Номера портов на сетевом уровне не используются. Какому порту, т.е. приложению адресован этот пакет, был ли этот пакет доставлен или был потерян, на этом уровне неизвестно — это не его задача, это задача транспортного уровня.
TCP и UDP — это протоколы так называемого транспортного уровня. Транспортный уровень находится над сетевым. На этом уровне к пакету добавляется порт отправителя и порт получателя.
TCP — это протокол с установлением соединения и с гарантированной доставкой пакетов. Сначала производится обмен специальными пакетами для установления соединения, происходит что-то вроде рукопожатия (-Привет. -Привет. -Поболтаем? -Давай.). Далее по этому соединению туда и обратно посылаются пакеты (идет беседа), причем с проверкой, дошел ли пакет до получателя. Если пакет не дошел, то он посылается повторно («повтори, не расслышал»).
UDP — это протокол без установления соединения и с негарантированной доставкой пакетов. (Типа: крикнул что-нибудь, а услышат тебя или нет — неважно).
Над транспортным уровнем находится прикладной уровень. На этом уровне работают такие протоколы, как http, ftp и пр. Например HTTP и FTP — используют надежный протокол TCP, а DNS-сервер работает через ненадежный протокол UDP.
Как посмотреть текущие соединения?
Текущие соединения можно посмотреть с помощью команды
(параметр n указывает выводить IP адреса вместо доменных имен).
Запускается эта команда следующим образом:
«Пуск» — «Выполнить» — набираем cmd — «Ок». В появившейся консоли (черное окно) набираем команду netstat -an и жмем <Enter>. Результатом будет список установленных соединений между сокетами нашего компьютера и удаленных узлов.
Имя | Локальный адрес | Внешний адрес | Состояние |
TCP | 0.0.0.0:135 | 0.0.0.0:0 | LISTENING |
TCP | 91.76.65.216:139 | 0.0.0.0:0 | LISTENING |
TCP | 91.76.65.216:1719 | 212.58.226.20:80 | ESTABLISHED |
TCP | 91.76.65.216:1720 | 212.58.226.20:80 | ESTABLISHED |
TCP | 91.76.65.216:1723 | 212.58.227.138:80 | CLOSE_WAIT |
TCP | 91.76.65.216:1724 | 212.58.226.8:80 | ESTABLISHED |
В этом примере 0.0.0.0:135 — означает, что наш компьютер на всех своих IP адресах слушает (LISTENING) 135-й порт и готов принимать на него соединения от кого угодно (0.0.0.0:0) по протоколу TCP.
91.76.65.216:139 — наш компьютер слушает 139-й порт на своем IP-адресе 91.76.65.216.
Третья строка означает, что сейчас установлено (ESTABLISHED) соединение между нашей машиной (91.76.65.216:1719) и удаленной (212.58.226.20:80). Порт 80 означает, что наша машина обратилась с запросом к веб-серверу (у меня, действительно, открыты страницы в браузере).
В следующих статьях мы рассмотрим, как применять эти знания, например общаясь с техподдержкой.
Все о портах. И как правильно открыть порты
С недавнего времени участились случаи с вопросами, когда необходимо открыть порт на своем маршрутизаторе для игры или какой либо программы. Данная статья дополнит основную статью про порты, и прояснит ситуацию.
Все уже давно используют имитаторы LAN (локальной сети), после того, как некоторые провайдеры в начале нового десятилетия, отключи всех своих абонентов от локальной сети, оставив им только подключение по каналу «Интернет».
Именно с того момента и пошла популяризация имитаторов, так как без них, с соседом невозможно было по-играть в какую-нибудь игрушку. И с того момента вопрос про «открытие портов» становился более популярным, и многие «псевдо-сис.админы» пытались выложить актуальное руководство как открыть порты на своем железе. Но не все знают что да как это сделать правильно.
Что же такое «Открытый порт» ? Да все гениальное просто — любой компьютер в сети имеет определенный идентификатор (имя, MAC-адрес, IP), так вот, по IP на роутер поступает определенный пакет, но не просто поступает по IP, а по специальному каналу (порту), через который, программа отправляет/принимает запросы из внешней сети. По стандарту, этот пакет дальше роутера не пройдет, так как по умолчанию (далее дефолту), порт по которому работает программа — закрыт, а что принять пакет, его нужно открыть.
То, что пишут в интернете — можно открыть порты, независимо от того, какое сетевое оборудование стоит — все это бред! Любой знающий сис.админ скажет — что IP делятся на два вида — «Белый» и «Серый«, и только на одном можно открыть порты, что бы принимать «пакеты» из вне. Серый — это когда IP может переходить из рук-в-руки множество количество раз (он же именуется как динамический), Белый — или реальный (по другому статический) можно быть присвоен только на одного пользователя, и не будет переходить из рук-в-руки.
Именно по «Белому» IP и стоит открывать порты на своем оборудовании. Что бы получить свой «Белый» IP необходимо обратить к своему провайдеру, и после этого, он назначит IP на Вас. Данная услуга везде является платной, и в зависимости от региона может составлять от 50 рублей/месяц.
Допустим, мы купили реальный IP у своего провайдера, и теперь необходимо приступить к настройке. Разберемся с настройками на 4-х популярных моделях роутеров (ASUS/TP-Link/D-Link/Zyxel):
Примечание: настройка производилась на оборудовании ASUS RT-N12 C1 с микропрограммой 3.0.0.4.260 (черный интерфейс)
- Подключаемся к своему роутеру через браузер (192.168.1.1), с логином и паролем (admin/admin). Узнать об этом можно на обратной стороне роутера или в инструкции к нему.
- В левом меню выбираем «Интернет» (или WAN) ->Переадресация портов (или Virtual Server/Port Forwarding)
- Включаем данную опцию, поставив галочку напротив «Включить переадресацию портов: Да«.
- Выбираем из готовых шаблонов заданные порты, или вписываем свои:
- Имя службы — можно быть любое
- Диапазон портов — можно ввести как один порт (например 80) так и диапазон (27000:27099)
- Локальный IP
- Конечный порт — так же как и в «Диапазон» нужно вводить в зависимости от того, что сначала ввели — один или диапазон.
- Протокол — TCP/UDP/BOTH /OTHER — выбрать один (TCP/UDP порты выбирают)
- После ввода данных нажимаем на плюсик (слева от формы заполнения).
- А после ввода данных, нажимаем «Сохранить».
- Подключаемся к своему роутеру через браузер (192.168.0.1. или в некоторых 192.168.1.1), с логином и паролем (admin/admin). Узнать об этом можно на обратной стороне роутера или в инструкции к нему.
- В левом меню выбираем Межсетевой экран/Виртуальные серверы.
- Выбираем из готовых шаблонов , или вписываем свои (выбрав пункт «Costom«):
- Имя службы — можно быть любое
- Протокол — выбираем нужный протокол.
- Внешний порт (начальный)
- Внутренний порт (начальный)
- Внутренний IP
- После ввода данных можно нажать «Применить«, а после через «Система» — выбрать пункт «Перезагрузка«, и только после этого порты должны открыться.
- Подключаемся к своему роутеру через браузер (192.168.0.1/192.168.1.1), с логином и паролем (admin/admin). Узнать об этом можно на обратной стороне роутера или в инструкции к нему.
- В левом меню выбираем Переадресация (Forwarding) ->Виртуальные сервера (Virtual Server).
- После открытия раздела «Виртуальные серверы» перед вами должна появиться страница со списком открытых портов. Для того чтобы открыть нужный вам порт здесь нужно нажать на кнопку «Добавить новый» и заполняем форму:
- Порт сервиса – внешний порт. Здесь нужно ввести порт (или диапазон портов через знак дефиз, например, 10100-10200)
- Внутренний порт – внутренний порт, который будет использоваться программами на вашем компьютере.
- IP адрес
- Протокол
- Состояние (Status) – статус порта.
- После ввода данных можно нажать «Сохранить» (Save).
- Подключаемся к своему роутеру через браузер (192.168.0.1/192.168.1.1), с логином и паролем (admin/admin или admin/1234). Узнать об этом можно на обратной стороне роутера или в инструкции к нему.
- В левом меню выбираем «Безопасность» (в виде щита) ->Трансляция сетевых адресов (NAT).
- После открытия раздела «Трансляция сетевых адресов (NAT)» нажимаем на кнопку «Добавить» и добавляем по шаблону:
- Интерфейс – выбираем необходимый интерфейс.
Внимание! Необходимо правильно указать значение поля Интерфейс. В зависимости от того, использует ли ваш провайдер авторизацию (PPPoE, L2TP или PPTP), значение этого поля может быть различным. Если авторизация у провайдера не используется, следует всегда выбирать интерфейс Broadband connection (ISP). Если провайдер использует PPPoE для доступа в Интернет, то следует выбирать соответствующий интерфейс PPPoE.
Если вам предоставляется одновременный доступ в локальную сеть провайдера и Интернет (Link Duo), для проброса порта из локальной сети нужно выбирать интерфейс Broadband connection (ISP), а для проброса порта из Интернета — интерфейс туннеля (PPPoE, PPTP или L2TP). - Протокол – можно указать протокол из списка предустановленных, который будет использован при пробросе порта (в нашем примере используется TCP/21 – Передача файлов FTP). При выборе в поле Протокол значения TCP или UDP вы можете в полях
- Порты TCP/UDP — указать номер порта или диапазон портов.
- Перенаправить на адрес — указываем локальный IP адрес компьютера.
- Интерфейс – выбираем необходимый интерфейс.
- После ввода данных можно нажать «Сохранить«.
Подводя итоги можно сделать такой вывод — что для проброса портов и сохранения своих нервных клеток, лучше сразу купить у своего провайдера статический (белый) IP, так как на сером — проброс портов не удастся сделать. Если все удалось сделать, то видимость портов можно проверить на этом сервисе, или на этом. Из эксперимента с роутерами, мне удалось правильно все сделать только на трех из четырех маршрутизаторах (кроме Zyxel).
-
23 сентября — день когда компания Google, представила всему миру новую мобильную операционную систему, с пакетом дополнения SDK. Каждая компания, которая участвует в мировой торговле должна как то выживать,вот и Nvidia пытается выживать, используя свое доминантное положение на рынке, и принуждая своих партнеров к сделкам только с ними через программу GeForce Partner Program. Что это значит и как грозит это геймарам? Сегодня был выпущен значительный патч для игры The Division, который вносит большие изменения в игру, механику и Темную Зону. Всем не секрет, что Game Developers Conference 2015 — всемирная выставка разработчиков, на которой представляют свои творения великие компании. Примером такой компании является Valve. И в эти дни появились первые вести с полей. Вчера, корпорация Valve выпустила патч 6.85 для Dota 2. Патч затрагивает механику игры и баланс оружия и персонажей, в связи с турниром в Франкфурт-На-Майне.
Как открыть порты в Windows и посмотреть список открытых портов
Если для какой-то программы или игры требуется подключение через определенный порт, может оказаться что по умолчанию в системе этот порт закрыт и соединение не выполняется. При необходимости порты в Windows 11, Windows 10 и предыдущих версиях системы сравнительно легко открыть.
В этой инструкции подробно о том, как открыть порты в Windows 11 или Windows 10, посмотреть список открытых портов и дополнительная информация, которая может пригодиться, если при подключении всё равно возникают проблемы.
Открытие портов в брандмауэре Windows
Основной способ открытия портов в Windows 11 и 10 — настройка соответствующих правил в брандмауэре.
Прежде всего, откройте настройки Windows в режиме повышенной безопасности. Для этого можно использовать следующие способы:
- нажмите клавиши Win+R на клавиатуре и введите wf.msc в окно «Выполнить», затем нажмите Ener.
- Используйте поиск в панели задач.
- В Панели управления откройте пункт «Брандмауэр Защитника Windows», а в нем, в панели слева выберите «Дополнительные параметры».
- В окне «Безопасность Windows» откройте «Брандмауэр и безопасность сети» и нажмите «Дополнительные параметры» на следующем экране настроек.
Следующий шаг — настроить правила для нужных портов:
- Нажмите правой кнопкой мыши по «Правила для входящих подключений» и выберите пункт «Создать правило» в контекстном меню.
- В мастере создания правил выберите пункт «Для порта» и нажмите «Далее».
- Выберите тип протокола — TCP или UDP (если вам не известен нужный тип, уточните в справке по конкретной программе).
- Укажите порты: конкретный порт или их диапазон, можно использовать запятые для перечисления нескольких портов, или знак дефиса для указания их диапазона. Нажмите «Далее».
- Выберите пункт «Разрешить подключение».
- Укажите, для каких типов сетей (сетевых профилей) следует открыть порты.
- Укажите имя правила и, при желании, его описание. Затем нажмите кнопку «Готово».
- Выполните действия 1-7, но уже для исходящего подключения.
Готово, порт открыт и, если что-то ещё не мешает его работе, соединения должны будут устанавливаться.
Возможные проблемы и дополнительные необходимые действия
Если вы открыли требуемые порты в Windows, но несмотря на это соединение не устанавливается, следует учитывать, проверить или выполнить следующие действия:
- VPN может влиять не возможность обмена данными по определенным портам. Решение: отключить VPN, либо посмотреть, есть ли возможность открыть порты в ПО для VPN.
- Роутеры имеют собственные функции файрволла/брандмауэра и порты может потребоваться открыть (пробросить) и в настройках роутера. В зависимости от марки и модели Wi-Fi роутера, это выполняется в разных разделах: перенаправление портов (port forwarding), брандмауэр (firewall), межсетевой экран, виртуальные серверы. Логика настройки везде одна и та же: добавляются обычно совпадающие внешний порт и внутренний порт (нужный вам порт), указывается внутренний IP (локальный IP компьютера, к которому нужно пробросить порт), тип протокола — TCP или UDP, иногда требуется указать интерфейс, для соединений из «внешней сети» — WAN.
- Если само приложение заблокировано в брандмауэре, оно не сможет устанавливать соединения: можно добавить правила, разрешающие подключения для программы тем же способом, которым это выполнялось выше для портов.
- Наличие сторонних файрволлов и антивирусов с функциями защиты сети также может влиять на возможность установки соединений по определенным портам: следует проверить их настройки, при наличии такого ПО, чтобы открыть соответствующие порты или отключить защиту для них.
Как посмотреть открытые порты в Windows и какие программы их используют
В Windows постоянно открыты многие порты, требующиеся как для работы системных служб, программ (в том числе сторонних), браузеров. Вы можете посмотреть список открытых портов одним из следующих способов:
- Запустить командную строку и ввести команду (порты указаны после двоеточия в IP-адресе)
- Если требуется посмотреть, какие процессы используют определенные порты, используйте команду (требует запуска от имени администратора)
- Для просмотра открытых портов с ИД (PID) процесса (по которому в диспетчере задач можно увидеть конкретный процесс):
- Есть сторонние программы, позволяющие получить сведения об открытых портах и использующих их процессах, например, бесплатная NirSoft CurrPorts.
Список «стандартных» и наиболее часто используемых портов доступен в Википедии, но многие игры и программы могут использовать свои собственные, не указанные в списке порты для работы.