Сегодня я отвечу на очень насущный для многих геймеров и активных пользователей Интернета вопрос - как открыть порты на роутере или на компьютере. Зачем это нужно? Во-первых, без этого не работают многие онлайн-игры (Майнкрафт, КС и т.п.) и файлообменные программы (торренты, DC++). Во-вторых,частенько необходимо запустить домашний сервер и открыть к нему доступ из внешней сети. В этом случае так же необходимо открыть порт. Теперь давайте разберёмся как это сделать.
Сейчас практически в каждой второй квартире установлен WiFi-роутер. Не важно какой он марки или модели - Huawei, D-Link, Zyxel, либо он фирменный от одного из провайдеров - Ростелеком, Билайн. ТТК или Дом.ру. В любом случае необходимо на нём настроить проброс портов на маршрутизаторе. Это можно сделать двумя способами - вручную, через правила виртуального сервера, а так же автоматически - через сервис UPnP. Рассмотрим оба варианта.
Для того, чтобы открыть порт на роутере для различных сервисов, можно создать специальное правило. Это делается либо через настройку брандмауэра, либо через специальный раздел "Виртуальный сервер".
В обоих случаях необходимо будет добавить специальное правило, в котором указывается порт - внешний, с которого устройство будет ждать пакеты, а так же внутренний - на который эти пакеты будут пересылаться во внутреннюю сеть.
Далее прописывается IP адрес компьютера, для которого будут пересылаться пакеты, пришедшие на указанный порт. Остаётся только указать сетевой протокол в формате которого будут приходить пакеты - TCP или UDP. В некоторых случаях, как например на скриншоте, можно указать сразу оба протокола, выставив значение "ВСЕ" (или ALL для англоязычной версии). Нажмите на кнопку "Сохранить", чтобы правило сохранилось в памяти устройства.
Стандарт UPnP был разработан специально для того, чтобы облегчить жизнь обычным пользователям и без проблем открыть порт на роутере в автоматическом режиме для любого сервиса по запросу. К сожалению, он есть не на всех вай-фай роутерах. Как правило, найти его можно в разделе NAT, Firewall или Виртуальный сервер.
Для того, чтобы активировать работу сервиса UPnP обычно достаточно просто перевести переключатель в положение On либо поставить соответствующую галочку и сохранить настройки.
Даже если Вы правильно настроили роутер, Ваш сервер всё равно может быть не виден из Интернета по той простой причине, что он закрыт на самом компьютере, где сервер запущен. Поэтому иногда необходимо открыть порт на компьютере в настройках брандмауэра. Сейчас покажу как это делается.
Проброс портов в Windows
В операционных системах семейства Windows 10 по умолчанию включен брандмауэр, который блокирует все посторонние подключения к компьютеру. Поэтому, чтобы клиенты из Интернета могли подключиться к Вашему серверу, надо прописать правила для его порта в настройках фаервола. Чтобы это сделать, нажмите комбинацию клавиш Win+R и введите в строчку открыть команду firewall.cpl.
Нажмите кнопку ОК. После этого откроется окно "Брандмауэр Защитника Windows".
В этом окне справа меню, в котором надо найти и кликнуть ссылку "Дополнительные параметры". Появится ещё одно окно:
Окно разделено на три части. В левой части кликните на строчку "Правила для входящих подключений". После этого, в правой части окна кликните по ссылке "Создать правило". Этим Вы запустите специальный мастер создания правила для входящего подключения.
Создаём правило, выбрав вариант Для порта. Переходим "Далее".
Теперь выбираем протокол - TCP или UDP, а так же порт, открыть который необходимо. Кликаем на "Далее".
Теперь надо поставить галочку "Разрешить подключение". Нажимаем на "Далее".
На этом этапе оставляем галочки на всех профилях. Кликаем на "Далее".
Последний шаг - это дать название правилу и нажать на кнопку "Готово". Ну вот и всё, правило создано и будет в общем списке правил.
Как открыть порт в Linux
Ещё одно популярное сегодня семейство операционных систем - это Linux. Среди них такие популярные ОС, как Ubuntu, Gentoo, Fedora, Debian. Обычно пакетный фильтр или брандмауэр уже включен по умолчанию и как правило это iptables. Пользоваться им достаточно просто. Сначала смотрим список имеющихся правил командой:
iptables -L
После этого, чтобы открыть порт в Линуксе, добавляем вот такое правило:
iptables -I INPUT -p <протокол> -m <протокол> --dport <номер_порта> -j ACCEPT
Например, чтобы открыть TCP порт 3128 для прокси правило будет выглядеть так:
iptables -I INPUT -p tcp -m tcp --dport 3128 -j ACCEPT
После того, как Вы нажмёте клавишу "Enter", правило будет добавлено в список и применено. Отредактировать список правил обычно можно в файле /etc/iptables.