Зміст
Безпечне з'єднання вузлів мережі і обмін інформацією між ними безпосередньо пов'язаний з відкритими портами. Підключення і передача трафіку проводиться саме через певний порт, а якщо в системі він закритий, виконати такий процес не представиться можливим. Через це деякі користувачі зацікавлені в пробросе одного або декількох номерів для налагодження взаємодії пристроїв. Сьогодні ми покажемо, як виконується поставлене завдання в операційних системах, заснованих на ядрі Linux.
Відкриваємо порти в Linux
Хоч у багатьох дистрибутивах за замовчуванням присутній вбудований інструмент з управління мережами, все ж такі рішення часто не дозволяють повною мірою здійснити настройку відкриття портів. Інструкції цієї статті будуть засновані на додатковому додатку під назвою Iptables &8212; рішення для редагування параметрів брандмауера з використанням прав суперкористувача. У всіх збірках ОС на лінуксі вона працює однаково, хіба що відрізняється команда для установки, але про це ми поговоримо нижче.
Якщо ви хочете дізнатися, які з портів вже відкриті на комп'ютері, ви можете скористатися вбудованою або додатковою утилітою консолі. Детальні інструкції з пошуку необхідної інформації ви знайдете в іншій нашій статті, перейшовши за наступним посиланням, а ми ж приступаємо до покрокового розбору відкриття портів.
Детальніше: перегляд відкритих портів в Ubuntu
Крок 1: Встановлення Iptables та перегляд правил
Утиліта Iptables спочатку не входить до складу операційної системи, через що її потрібно самостійно інсталювати з офіційного репозиторію, а вже потім працювати з правилами і всіляко змінювати їх. Установка не займає багато часу і виконується через стандартну консоль.
- Відкрийте меню та запустіть &171;Термінал&187; . Зробити це також можна, використовуючи стандартну гарячу клавішу Ctrl + Alt + T .
- У дистрибутивах на базі Debian або Ubuntu пропишіть
sudo apt install iptables
для запуску установки, а в збірках, заснованих на Fedora & 8212;sudo yum install iptables
. Після введення натисніть на клавішу Enter . - Активуйте права суперкористувача, написавши пароль від свого облікового запису. Зверніть увагу, що Символи під час введення не відображаються, зроблено це для забезпечення безпеки.
- Чекайте завершення інсталяції і можете переконатися в активності роботи інструменту, переглянувши стандартний список правил, задіявши
sudo iptables -L
.
Як бачите, в дистрибутиві тепер з'явилася команда iptables
, що відповідає за управління однойменною утилітою. Ще раз нагадаємо, що працює цей інструмент від прав суперкористувача, тому в рядку обов'язково повинна міститися приставка
sudo
, а вже потім інші значення і аргументи.
Крок 2: дозвіл на обмін даними
Ніякі порти не будуть нормально функціонувати, якщо утиліта забороняє обмін інформацією на рівні власних правил міжмережевого екрану. Крім усього, відсутність необхідних правил в подальшому може викликати появу різних помилок при пробросе, тому ми настійно радимо виконати наступні дії:
- Переконайтеся, що у файлі конфігурації відсутні будь-які правила. Краще відразу ж прописати команду для їх видалення, а виглядає вона так:
sudo iptables -F
. - Тепер додаємо правило для введених даних на локальному комп'ютері, вставивши рядок
sudo iptables -A INPUT -i lo -j ACCEPT
. - Приблизно однакова команда &8212;
sudo iptables -A OUTPUT -o lo -j ACCEPT
&8212; відповідає за нове правило для надсилання інформації. - Залишилося тільки забезпечити нормальну взаємодію зазначених вище правил, щоб сервер зміг відправляти назад пакети. Для цього потрібно заборонити нові з'єднання, а старі &8212; дозволити. Проводиться це через
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
.
Завдяки зазначеним вище параметрам ви забезпечили коректну відправку і прийом даних, що дозволить без проблем взаємодіяти з сервером або іншим комп'ютером. Залишилося тільки відкрити порти, через які і буде здійснюватися те саме взаємодія.
Крок 3: відкриття необхідних портів
Ви вже ознайомлені з тим, за яким принципом додаються нові правила в конфігурацію Iptables. Існують і кілька аргументів, що дозволяють відкрити певні порти. Давайте розберемо цю процедуру на прикладі популярних портів під номерами 22 і 80.
- Запустіть консоль і введіть туди дві наступні команди по черзі:
Sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
.
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT - Тепер перевірте список правил, щоб переконатися в тому, що порти були успішно проброшени. Використовується для цього вже знайома команда
sudo iptables -L
. - Надати їй читабельний вигляд і вивести всі деталі можна за допомогою додаткового аргументу, тоді рядок буде такою:
sudo iptables -nvL
. - Змініть політику на стандартну через
sudo iptables -P INPUT DROP
і можете сміливо приступати до роботи між вузлами.
У разі коли вже адміністратор комп'ютера вніс свої правила в інструмент, організував скидання пакетів при підході до точки, наприклад, через sudo iptables -A INPUT -j DROP
, вам потрібно використовувати іншу команду sudo iptables:
-I INPUT -p tcp --dport 1924 -j ACCEPT
, де
1924
&8212; номер порту. Вона додає необхідний порт в початок ланцюга, і тоді пакети не скидаються.
Далі ви можете прописати все ту ж рядок sudo iptables -L
і переконатися в тому, що все налаштовано коректно.
Тепер ви знаєте, як прокидаються порти в операційних системах Linux на прикладі додаткової утиліти Iptables. Радимо обов'язково стежити за з'являються рядками в консолі при введенні команд, це допоможе вчасно виявити будь-які помилки і оперативно усунути їх.