Зміст
Практично всі користувачі дистрибутива CentOS 7 встановлюють в систему різні засоби, для коректної роботи яких необхідно відкривати порти певних номерів. Це потрібно для забезпечення нормального з'єднання з вузлами і безпечного обміну інформацією. Здійснюється поставлена задача шляхом зміни правил міжмережевого екрану. Звичайно, кожен користувач може використовувати найрізноманітніші брандмауери, проте стандартним є iptables . Саме на його прикладі ми і пропонуємо відкрити порти, слідуючи наведеним далі інструкціям.
Відкриваємо порти в CentOS 7
Відкриття портів &8212; завдання нескладне, адже для цього доведеться ввести всього кілька команд в консоль. Однак якщо ви спочатку не виробляли додаткових налаштувань з міжмережевим екраном або використовуєте стороннє засіб, доведеться додатково змінити важливі параметри. Тому ми розділили нашу статтю на етапи, щоб початківцям користувачам було простіше розібратися з кожним кроком, а зараз почнемо з безпосередньої інсталяції iptables на CentOS 7.
Крок 1: встановлення або оновлення iptables
Як вже було сказано вище, iptables CentOS 7 виступає в якості брандмауера за замовчуванням. Якщо вручну не було вироблено ніяких змін, можна сміливо пропускати даний крок, виконавши тільки останній етап з інсталяцією утиліт брандмауера. У разі необхідності перевірки оновлень або повторної установки даного інструменту радимо скористатися наступним керівництвом.
- Всі дії, описувані сьогодні, будуть проводитися в &171;терміналі&187; , тому все починається з його запуску. Використовуйте для цього гарячу клавішу Ctrl + Alt + T або значок, доданий до розділу & 171; Вибране & 187; В меню додатків.
- Тут введіть команду
sudo yum install iptables
, а потім натисніть на клавішу Enter . - Для підтвердження цієї команди потрібно вказати пароль суперкористувача. Враховуйте, що при такому типі написання вводяться Символи не відображаються.
- Ви будете повідомлені про те, що інсталяція або оновлення успішно зроблені. Якщо ж в операційну систему і так додана остання версія iptables , на екрані з'явиться рядок &171;нічого не робити&187; .
- Завершіть цей крок командою
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, пропустивши перераховані вище команди, вставте в &171; Термінал & 187; по черзі наведені нижче рядки та активуйте їх.
Rm '/etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service'
rm '/etc/systemd/system/basic.target.wants/firewalld.service'
У майбутньому будь-якому користувачеві може знадобитися активація і подальша настройка FirewallD, особливо коли доводиться працювати з різними веб-серверами і утилітами. Ми пропонуємо зробити це, використовуючи наведене далі керівництво.
Детальніше: налаштування брандмауера в 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. Як бачите, це не займе багато часу, а всі зміни будуть застосовані відразу ж після перезавантаження сервісів. Використовуйте команди, розглянуті вище, змінюючи лише номери портів, щоб все пройшло успішно.