Открытие и разблокировка портов на компьютере или сервере
Высшее образование по специальности «Информационные системы». Опыт работы системным администратором — 5 лет.
Поговорим немного о настройках безопасности. Часто для предотвращения атак и проникновений на компьютер, системами безопасности блокируются некоторые порты и адреса. Сам человек также может провести блокировку, если узнает о распространении нового вируса, который пользуется какой-то уязвимостью.
Сегодня будем рассматривать вариант того, как открыть порты, если они были закрыты по какой-то причине.
Зачем порт может быть закрыт
Здесь многое зависит от того, о каком компьютере идет речь. В случае настройки портов на рабочем компьютере, обычно блокируют все известные уязвимости у разных сеток. Также производится блокировка портов согласно политике самой компании.
Например, чтобы людям было сложнее скачать что-то постороннее на компьютер или для усложнения использования какого-то сервиса или площадки. Здесь все зависит от того, какие средства контроля используются на предприятии и какие ограничения введены для работников.
При каждой установке соединения с каким-то внешним устройством, компьютер открывает порт для каждого отдельного процесса, чтобы не было путаницы, для какой программы пришла информация.
Всего портов чуть больше 65 тысяч , так что если программе без разницы каким пользоваться, то и заблокировать её таким способом будет сложно. С другой стороны, есть «правила» использования портов, им стараются следовать.
Например, порт 80 используется при запросе информации с HTTP сайтов, а порт 443 используется при HTTPS обмене информацией. Полный список того, для чего используются те или иные порты посмотрите на сайте.
Проверка открытых портов
Перед тем как начинать разбираться в том, что именно вызывало закрытие соединения, стоит проверить открыты ли порты. Если нет, то придется просмотреть настройки маршрутизатора, антивируса и файрвола на компьютере, чтобы выяснить причину прерывания соединения. Если же все открыто, то придется проверять другие настройки.
Чтобы проверить порт 22 , использующийся для SSH, на компьютере используйте командную строку:
- Нажмите комбинацию клавиш .
- Введите команду CMD и нажмите кнопку Enter.
- Введите команду netstat –a и повторно нажмите Enter.
Здесь отобразится список тех портов, что используются в данный момент или которые заблокированы средствами компьютера. Кроме самого компьютера на это еще виляют условия, выставленные на маршрутизаторе. Так что проверку стоит производить из внешней сети. Если вы знаете, как обратиться к своему устройству из внешней сети, то можете проверить все самостоятельно, но лучше использовать одну из сторонних площадок.
Вы можете использовать любой из сайтов для проверки подключения, вот только роутер по умолчанию режет все подозрительные подключения, поэтому часто такие сайты отображают, что открытых портов и нет толком. Остается или доверять первой проверке или проверить все настройки и убедится, что вы не закрывали порт.
Открыть порт в Windows
Сначала поговорим об открытии портов чем саму операционную систему. Обычно их блокирует встроенный firewall или антивирус. Для, Windows 7 стоит проверять только брандмауэр, в Windows 11 и Windows 10 еще добавляется встроенный антивирус.
В Windows Server есть много настроек, используемых на сервере, здесь лучше сразу работать через консоль. Хотя, при использовании серверного варианта операционной системы вы и так должны неплохо представлять что делать дальше. Если же уверенности нет, то лучше особо не трогать настройки, особенно если это один из ключевых элементов вашей сети.
Через встроенный брандмауэр
Межсетевой экран появился еще на самых старых версиях операционных систем, но сейчас уже мало кто пользуется операционками старше семерки, так что на её примере и будем разбирать все действия.
Алгоритм работы следующий:
- В меню Пуск выберите Панель управления, Система и безопасности Брандмауэр Windows. Если на панели управления не включено представление по категориям, сразу выберите Брандмауэр Windows.
- Нажмите кнопку «Дополнительные параметры».
- Выберите «Правила для входящих подключений».
- Выберите «Создать правило» в окне «Действия».
- Выберите «Тип правила» в разделе Порт . Щелкните Далее.
- На странице «Протокол и порты» выберите TCP. Выберите «Указанные локальные порты» и введите значение туда номер того, что нужно открыть. Щелкните Далее.
- На странице «Действие» выберите Разрешить соединение . Щелкните Далее.
- На странице «Профиль» выберите необходимые параметры для среды. Щелкните Далее.
- На странице «Имя» введите имя правила. Нажмите кнопку Готово.
- Перезагрузите компьютер.
Здесь же вы можете задать исключения на своем компьютере или ноутбуке для программ и для игр. В первом разделе «Тип правила» выбирайте «Программа» и указывайте путь до исполняемого файла. Выставляйте разрешения и на этом все. Это чуть более безопасный метод, чем открывать любой порт для всех желающих.
Средством антивируса
Для встроенного варианта достаточно проделать все действия с фаерволом. Потом можете отключить сетевую защиту на антивирусе и опробовать установить подключение. Если же у вас стоит, кроме встроенного, еще один антивирус от стороннего производителя, то здесь все зависит от того, кто производитель.
Общий совет для всех: отключите полностью антивирус и попробуйте установить подключение. Можете удалить его для проверки своих подозрений. Если после удаления и отключения ничего не заработало, то проблема кроется в другом месте.
Здесь приведем пример настройки для Касперского , как антивируса, который часто используется на компьютерах в России. Его часто дают по скидке или бесплатно при подключении тарифов или при использовании некоторых программ, так что он распространен. Если у вас другой антивирус, то придется найти инструкцию конкретно для него или удалить его и перезагрузить компьютер.
- Щелкните два раза по значку антивируса, когда он развернется, то перейдите в «Настройки».
- Раздел «Дополнительно» — «Сеть».
- Посмотрите в раздел «Контролируемые порты», переключитесь на строчку «Контролировать только выбранные порты» и кликните по кнопке «Выбрать».
- Откроется окно со списком контролируемых портов. Чтобы создать порт для контроля, нажмите на кнопку «Добавить» и впишите его номер.
- Снимите галку внизу с контроля всех портов. После этого появится возможность проставлять галки у каждого элемента списка. Отметьте галочками те варианты, которые хотите оставить для проверки, а с остальных галки снимите.
Используя PowerShell
Открыть и закрыть порт проще всего с помощью консоли и специальных инструментов. PowerShell можно было использовать и в семерке, но основной его функционал раскрывается в десятке и серверных операционных системах. Правда, в этом случае, для простого пользователя способ будет не так понятен, как работа через интерфейс.
Здесь придется также создавать или отключать правила в фаерволле, но делать это с помощью команд. Так что, если вы до этого не работали много с командной строкой, то лучше проделайте все через интерфейс винды.
Откройте Пуск и наберите там PowerShell, потом откройте эту консоль нажатием по ней. После открытия наберите в строке команду:
New-NetFirewallRule -DisplayName «ALLOW TCP PORT ХХ(здесь задайте свое имя, чтобы не забыть)» -Direction inbound -Profile Any -Action Allow -LocalPort ХХ -Protocol TCP
Вместо ХХ , поставьте номер вашего порта, который хотите открыть.
Скопировать и подставить свое имя и номер порта можно быстро, но больше ни с чем экспериментировать в консоли не стоит.
Внешним софтом
Программ для открытия портов и управлением соединениями довольно много, можете скачать любую, которая лучше всего подойдет под ваши цели. Например, с помощью программы UPnP Wizard. Для его использования щелкните на плюсик, в верхней строке задайте имя , адрес компьютера впишется сам, в разделе Ports, напишите порт, который нужно открыть. Пишите в обеих строках один и тот же, разное написание используется для проброски портов, но это не то, что вам сейчас нужно.
Проследите за тем, чтобы ваш антивирус не заблокировал установку и работу программы. Лучше её добавить в исключения , иначе её деятельность может показаться подозрительной антивирусу в любой момент.
Как настроить порты в Linux
Теперь поговорим про линукс. Есть разные встроенные средства для редактирования портов и сетевых настроек. Здесь приведем пример настройки с помощью iptables . Процесс будет одинаков для всех ОС:Ubuntu, Debian, Astra Linux и остальных видов. Отличаться будет команда для установки приложения, но с этим должны справиться даже начинающие владельцы этих операционных систем.
Для начала установите нужный пакет. Для этого наберите в терминале, в ОС на основе Debian или Ubuntu «sudo apt install iptables» для запуска установки, а в сборках, основанных на Fedora — «sudo yum install iptables». Не забудьте набрать пароль.
После установке введите в терминале sudo iptables –L для просмотра возможностей. Введите команду sudo iptables –F для удаления всех предустановленных правил. При добавлении дальнейших правил не стоит её использовать. Введите также команды «sudo iptables -A INPUT -i lo -j ACCEPT» и «sudo iptables -A OUTPUT -o lo -j ACCEPT» для разрешения приема и отправки данных. Команда «sudo iptables -A INPUT -m state —state ESTABLISHED,RELATED -j ACCEPT» запретит новые соединения и разрешит использовать уже установленные.
Для открытия порта используйте команду «sudo iptables -A INPUT -p tcp —dport 22 -j ACCEPT». Остается здесь только менять номер порт или название протокола. Когда таких изменений накопится много, то действующие правила сможете посмотреть с помощью «sudo iptables -nvL».
Разблокировка портов на роутере
Делается это через интерфейс настройки роутера. У каждой модели есть отличия, так что стоит поискать инструкцию для своей модели. Даже у одного производителя могут отличаться прошивки на разных устройствах, что уж говорить о разных производителях.
На новых TP-Link способ следующий:
- Зайдите в интерфейс, в левой колонке нажмите «Переадресация» – «Виртуальные серверы», потом кликните по «Добавить».
- Сверху введите номер порта или укажите их диапазон через тире, во второй строке введите адрес компьютера для которого открываете порт. Придется задать ему постоянный адрес, иначе это все не будет иметь смысла, выберите протокол TCP, UDP или ВСЕ. Измените состояние на «Включено».
На D-Link все выглядит почти также. Только после настроек в левой колонке выберите «Межсетевой экран», а потом «Виртуальные серверы». И нажмите на кнопку «Добавить». Данные здесь заполняете такие же, только диапазон задается не через тире, а в строках «Начальный и конечный порт».
Если есть какие-то сомнения в том, что вы делаете все правильно, то лучше найти подробную инструкцию для своей модели маршрутизатора.
Почему порты не открываются
Если после проведения каких-то действий у вас ничего не получается, то на это бывает несколько причин:
- Несколько уровней блокировки. Вы открыли порт на маршрутизаторе, а оказалось, что он еще блокируется антивирусом на самом компьютере и так далее.
- Неправильно указали что-то в правилах фаервола или маршрутизатора. Проверьте все данные, что у вас выставлено именно разрешение именно для нужных устройств.
- На маршрутизаторе поставили разрешение для IP – адреса компьютера, но сам адрес не зафиксировали и при следующем включении ему был выдан другой.
- Проверьте через команду на компьютере, кто использует порт. Возможно, на нем уже сидит какой-то другой процесс, поэтому его и не видно. Отключите процесс и попробуйте получить доступ снова.
- Если у вас подключение у провайдера осуществляется через динамический адрес, то открытие портов со своей стороны вряд ли поможет, тут нужно статическое подключение или вообще другой способ.
- Свяжитесь с провайдером. Есть шанс, что какие-то порты заблокированы на их серверах просто ради безопасности, поэтому до вас ничего и не доходит.
Как видите, открыть порт на любом оборудовании просто. Основная проблема заключается в том, что разные системы защиты дублируют друг друга, так что процедуры придется проходить и на роутере, и на антивирусе, и на встроенном файрволе.
Всегда думайте о том, для чего вы открываете порты, возможно, лучше будет дать полный доступ без ограничений для одной программы, чем полностью открывать порт во внешнюю сеть.