Безпечне з'єднання вузлів мережі і обмін інформацією між ними безпосередньо пов'язаний з відкритими портами. Підключення і передача трафіку проводиться саме через певний порт, а якщо в системі він закритий, виконати такий процес буде неможливо. Через це деякі користувачі зацікавлені в прокинув одного або декількох номерів для налагодження взаємодії пристроїв. Сьогодні ми покажемо, як виконується поставлена задача в операційних системах, заснованих на ядрі 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. Радимо обов'язково стежити за з'являються рядками в консолі при введенні команд, це допоможе вчасно виявити будь-які помилки і оперативно усунути їх.