Практично всі користувачі дистрибутива CentOS 7 встановлюють в систему різні засоби, для коректної роботи яких необхідно відкривати порти певних номерів. Це потрібно для забезпечення нормального з'єднання з вузлами і безпечного обміну інформацією. Здійснюється поставлена задача шляхом зміни правил брандмауера. Звичайно, кожен користувач може використовувати найрізноманітніші брандмауери, однак стандартним є iptables. Саме на його прикладі ми і пропонуємо відкрити порти, дотримуючись наведених далі інструкцій.
Відкриваємо порти в CentOS 7
Відкриття портів - завдання нескладне, адже для цього доведеться ввести лише кілька команд в консоль. Однак якщо ви спочатку не виробляли додаткових налаштувань з фаєрволом або використовуєте стороннє засіб, доведеться додатково змінити важливі параметри. Тому ми розділили нашу статтю на етапи, щоб початківцям юзерам було простіше розібратися з кожним кроком, а зараз почнемо з безпосередньою інсталяції iptables в CentOS 7.
Крок 1: Інсталяція або оновлення iptables
Як вже було сказано вище, iptables в CentOS 7 виступає в якості брандмауера за замовчуванням. Якщо вручну не було вироблено ніяких змін, можна сміливо пропускати цей крок, виконавши тільки останній етап з інсталяцією утиліт брандмауера. У разі необхідності перевірки оновлень або повторної установки даного інструменту радимо скористатися наступним керівництвом.
- Всі дії, описувані сьогодні, будуть проводитися в «Терміналі», Тому все починається з його запуску. Використовуйте для цього гарячу клавішу Ctrl + Alt + T або значок, для якого створено розділ «Вибране» в меню додатків.
- Тут введіть команду
sudo yum install iptables
, А потім натисніть на кнопку Enter. - Для підтвердження цієї команди буде потрібно вказати пароль користувача root. Враховуйте, що при такому типі написання Зауважте, що ви не відображаються.
- Ви будете повідомлені про те, що інсталяція або оновлення успішно проведені. Якщо ж в операційну систему і так додана остання версія iptables, На екрані з'явиться рядок «Виконувати нічого».
- Завершіть цей крок командою
sudo yum -y install iptables-services
. Це запустить інсталяцію необхідних сервісів. - Можна переходити до наступного етапу, якщо на екрані з'явилося повідомлення про успішне додаванні компонентів.
Крок 2: Скидання стандартних правил брандмауера
Якщо раніше системним адміністратором або користувачем не проводилася настройка iptables, Стандартні настройки слід скинути, щоб в майбутньому не виникло проблем з сумісністю правил. Додатково буде потрібно вказати і стандартні правила, забезпечивши коректність виконання вхідних і вихідних з'єднань. Все це відбувається так:
- Введіть в консолі команду
iptables -L -v -n
, Щоб переглянути список поточних параметрів. - Якщо вони вас не влаштовують, значить доведеться здійснювати скидання і ручну конфігурацію.
- Видалення існуючих правил виконується за допомогою всього одного рядка
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 в CentOS 7
Крок 3: Відключення FirewallD
До цього кроку слід придивитися тим користувачам, хто раніше встановлював FirewallD або він був доданий автоматично.Під час налаштування портів через iptables даний інструмент може заважати коректному виконанню правил, тому його потрібно деактивувати.
- Для початку зупиніть виконання служби через
sudo systemctl stop firewalld
. - Далі зробіть повне відключення, скориставшись командою
sudo systemctl disable firewalld
. - Ви отримаєте інформацію про те, що символічні посилання були видалені, отже, FirewallD з цього моменту не працює.
Якщо ви хочете вручну видалити папки, що зберігають в собі настройки FirewallD, пропустивши перераховані вище команди, вставте в «Термінал» по черзі такі рядки і активуйте їх.
rm '/etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service'
rm '/etc/systemd/system/basic.target.wants/firewalld.service'
В майбутньому будь-якому користувачеві може знадобитися активація і подальша настройка FirewallD, особливо коли доводиться працювати з різними веб-серверами і утилітами. Ми пропонуємо зробити це, використовуючи наведене далі керівництво.
Докладніше: Налаштування Firewall в CentOS 7
Крок 4: Відкриття портів через iptables
Прийшов час провести основна дія, чому і присвячена сьогоднішня стаття. Вище ми виконали абсолютно всі підготовчі роботи, щоб зараз відкрити порти в CentOS 7. Тепер з цим не повинно виникнути ніяких проблем, тому можна вводити такі команди.
- В обов'язковому порядку додайте міжмережевий екран в автозавантаження, щоб не запускати його постійно вручну. У цьому допоможе команда
sudo systemctl enable iptables
. - Ви будете повідомлені про створення символічного посилання.
- Активуйте постійні права суперкористувача, ввівши
su
, Щоб для кожної команди цієї термінальної сесії не потрібно було приписувати sudo. - Підтвердіть це дія, написавши свій пароль.
- Відкрийте порт через команду
iptables -I INPUT -p tcp --dport 22 -m state --state NEW -j ACCEPT
, де 22 замініть на необхідне число. - Відразу ж можна відкрити і наступний порт, наприклад, під номером 25 (SMTP-сервер). Для цього введіть
iptables -I INPUT -p tcp --dport 25 -m state --state NEW -j ACCEPT
. - Збережіть всі зміни, вставивши рядок
service iptables save
. - Ви будете повідомлені про те, що конфігурація успішно застосована.
- Перезавантажте міжмережевий екран, щоб всі зміни вступили в силу. Здійснюється це через команду
systemctl restart iptables
. - В кінці ми пропонуємо використовувати
sudo iptables -nvL
, Щоб вивчити всі відкриті порти.
У цій статті ви дізналися все про відкриття портів в CentOS 7. Як бачите, це не займе багато часу, а всі зміни будуть застосовані відразу ж після перезавантаження сервісів. Використовуйте розглянуті вище команди, змінюючи тільки номери портів, щоб все пройшло успішно.