Открытие портов в Linux

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

Открываем порты в Linux

Хоть во многих дистрибутивах по умолчанию присутствует встроенный инструмент по управлению сетями, все же такие решения часто не позволяют в полной мере осуществить настройку открытия портов. Инструкции данной статьи будут основаны на дополнительном приложении под названием Iptables — решение для редактирования параметров межсетевого экрана с использованием прав суперпользователя. Во всех сборках ОС на Линуксе она работает одинаково, разве что отличается команда для установки, но об этом мы поговорим ниже.

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

Подробнее: Просмотр открытых портов в Ubuntu

Шаг 1: Установка Iptables и просмотр правил

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

  1. Откройте меню и запустите «Терминал». Сделать это также можно, используя стандартную горячую клавишу Ctrl + Alt + T.
  2. Запуск терминала через меню в операционной системе Linux

  3. В дистрибутивах на базе Debian или Ubuntu пропишите sudo apt install iptables для запуска установки, а в сборках, основанных на Fedora — sudo yum install iptables. После ввода нажмите на клавишу Enter.
  4. Команда для начала установки утилиты Iptables в Linux

  5. Активируйте права суперпользователя, написав пароль от своей учетной записи. Обратите внимание, что символы во время ввода не отображаются, сделано это для обеспечения безопасности.
  6. Ввод пароля для начала установки утилиты Iptables в Linux через консоль

  7. Ожидайте завершения инсталляции и можете убедиться в активности работы инструмента, просмотрев стандартный список правил, задействовав sudo iptables -L.
  8. Проверить список правил после успешной установки Iptables в Linux

Как видите, в дистрибутиве теперь появилась команда iptables, отвечающая за управление одноименной утилитой. Еще раз напомним, что работает этот инструмент от прав суперпользователя, поэтому в строке обязательно должна содержаться приставка sudo, а уже потом остальные значения и аргументы.

Шаг 2: Разрешение обмена данными

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

  1. Убедитесь, что в конфигурационном файле отсутствуют какие-либо правила. Лучше сразу же прописать команду для их удаления, а выглядит она так: sudo iptables -F.
  2. Стереть присуствующие правила в конфигурации Iptables в Linux

  3. Теперь добавляем правило для вводимых данных на локальном компьютере, вставив строку sudo iptables -A INPUT -i lo -j ACCEPT.
  4. Добавить первое пользовательское правило в Iptables в Linux

  5. Примерно такая же команда — sudo iptables -A OUTPUT -o lo -j ACCEPT — отвечает за новое правило для отправки информации.
  6. Добавить второе пользовательское правило Iptables в Linux

  7. Осталось только обеспечить нормальное взаимодействие указанных выше правил, чтобы сервер смог отправлять обратно пакеты. Для этого нужно запретить новые соединения, а старые — разрешить. Производится это через sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT.
  8. Добавить завершающее пользовательское правило в Iptables в Linux

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

Шаг 3: Открытие необходимых портов

Вы уже ознакомлены с тем, по какому принципу добавляются новые правила в конфигурацию Iptables. Существуют и несколько аргументов, позволяющих открыть определенные порты. Давайте разберем эту процедуру на примере популярных портов под номерами 22 и 80.

  1. Запустите консоль и введите туда две следующие команды поочередно:

    sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
    sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
    .

  2. Команды для проброса портов в Iptables в Linux

  3. Теперь проверьте список правил, чтобы убедиться в том, что порты были успешно проброшены. Используется для этого уже знакомая команда sudo iptables -L.
  4. Проверить успешность проброшенных портов в Iptables в Linux

  5. Придать ей читабельный вид и вывести все детали можно с помощью дополнительного аргумента, тогда строка будет такой: sudo iptables -nvL.
  6. Детальная информация о проброшенных портах Iptables в Linux

  7. Поменяйте политику на стандартную через sudo iptables -P INPUT DROP и можете смело приступать к работе между узлами.
  8. Применить изменения для функционирования портов в Iptables в Linux

В случае когда уже администратор компьютера внес свои правила в инструмент, организовал сброс пакетов при подходе к точке, например, через sudo iptables -A INPUT -j DROP, вам нужно использовать другую команду sudo iptables: -I INPUT -p tcp --dport 1924 -j ACCEPT, где 1924 — номер порта. Она добавляет необходимый порт в начало цепи, и тогда пакеты не сбрасываются.

Проверить открытось порта в начале цепи Iptables в Linux

Далее вы можете прописать все ту же строку sudo iptables -L и убедиться в том, что все настроено корректно.

Команда для проброса порта в начало

Теперь вы знаете, как пробрасываются порты в операционных системах Linux на примере дополнительной утилиты Iptables. Советуем обязательно следить за появляющимися строками в консоли при вводе команд, это поможет вовремя обнаружить какие-либо ошибки и оперативно устранить их.

Помогла ли Вам статья?
Да Нет

Рекомендуем:

Задайте вопрос или оставьте мнение
Получить ответ на Email
Уведомить о

3 ответов
По рейтингу
Новые Старые
Межтекстовые Отзывы
Посмотреть все комментарии
Аврора
26 марта 2019 12:36

Всем привет! Сегодня впервые сталкнулся с linux. взял сервер VDS на линукс. закачал туда кс сервер! Запуская но зайти не могу! Получается что закрыты порты? Но вот как их открыть!? Обьясните пожалуйста все на пальцах для новичка!?

Егор
21 декабря 2021 10:18

Какой командой открыть для locahost порт 443 на Debian 10 ?

Всеслав
5 марта 2019 11:17

Форум открыть порт в squid? (2010)