Безпечне з'єднання вузлів мережі і обмін інформацією між ними безпосередньо пов'язаний з відкритими портами. Підключення і передача трафіку проводиться саме через певний порт, а якщо в системі він закритий, виконати такий процес буде неможливо. Через це деякі користувачі зацікавлені в прокинув одного або декількох номерів для налагодження взаємодії пристроїв. Сьогодні ми покажемо, як виконується поставлена задача в операційних системах, заснованих на ядрі Linux.
зміст
Хоч у багатьох дистрибутивах за замовчуванням є вбудований інструмент з управління мережами, все ж такі рішення часто не дозволяють в повній мірі здійснити настройку відкриття портів. Інструкції даної статті будуть засновані на додатковому додатку під назвою Iptables - рішення для редагування параметрів брандмауера з використанням прав суперкористувача. У всіх збірках ОС на Лінукс вона працює однаково, хіба що відрізняється команда для установки, але про це ми поговоримо нижче.
Якщо ви хочете дізнатися, які з портів вже відкриті на комп'ютері, ви можете скористатися вбудованою або додатковою утилітою консолі. Детальні інструкції з пошуку необхідної інформації ви знайдете в інший нашій статті, перейшовши за наступним посиланням, а ми ж приступаємо до покрокового розбору відкриття портів.
Детальніше: Перегляд відкритих портів в Ubuntu
Утиліта Iptables спочатку не входить до складу операційної системи, через що її потрібно самостійно інсталювати з офіційного репозиторію, а вже потім працювати з правилами і всіляко змінювати їх. Установка не займає багато часу і виконується через стандартну консоль.
sudo apt install iptables
для запуску установки, а в збірках, заснованих на Fedora - sudo yum install iptables
. Після введення натисніть на клавішу Enter. sudo iptables -L
. Як бачите, в дистрибутиві тепер з'явилася команда iptables
, що відповідає за управління однойменної утилітою. Ще раз нагадаємо, що працює цей інструмент від прав суперкористувача, тому в рядку обов'язково повинна міститися приставка sudo
, а вже потім інші значення і аргументи.
Ніякі порти не будуть нормально функціонувати, якщо утиліта забороняє обмін інформацією на рівні власних правил брандмауера. Крім усього, відсутність необхідних правил в подальшому може викликати появу різних помилок при прокинув, тому ми настійно радимо виконати наступні дії:
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
. Завдяки зазначеним вище параметрам ви забезпечили коректну відправку і прийом даних, що дозволить без проблем взаємодіяти з сервером або іншим комп'ютером. Залишилося тільки відкрити порти, через які і буде здійснюватися той самий взаємодія.
Ви вже ознайомлені з тим, за яким принципом додаються нові правила в конфігурацію Iptables. Існують і кілька аргументів, які дозволяють відкрити певні порти. Давайте розберемо цю процедуру на прикладі популярних портів під номерами 22 і 80.
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPTsudo 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 - номер порту. Вона додає необхідний порт в початок ланцюга, і тоді пакети не скидаються.
Далі ви можете прописати все ту ж рядок sudo iptables -L
і переконатися в тому, що все налаштовано коректно.
Тепер ви знаєте, як прокидаємо порти в операційних системах Linux на прикладі додаткової утиліти Iptables. Радимо обов'язково стежити за з'являються рядками в консолі при введенні команд, це допоможе вчасно виявити будь-які помилки і оперативно усунути їх.