Як відкрити порт в 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
    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. Радимо обов'язково стежити за з'являються рядками в консолі при введенні команд, це допоможе вчасно виявити будь-які помилки і оперативно усунути їх.