![Samsung презентує перший смартфон Tizen - чи варто турбуватися про Ubuntu?](/f/ff5cad6d1c26dda0d565b518f5e9ac19.jpg?width=100&height=100)
Мережевий фільтр як ми всі знаємо, це брандмауер в Linux. Firewalld - це динамічний демон для управління брандмауерами з підтримкою мережевих зон. У попередній версії, RHEL & CentOS 6 ми використовували iptables як демон рамки фільтрації пакетів. В RHEL/CentOS 7/8, Fedora та openSUSE - rong> iptables інтерфейс замінюється firewalld.
Рекомендується починати використання Firewalld замість iptables оскільки це може припинитися в майбутньому. Однак, iptables все ще підтримуються і можуть бути встановлені за допомогою команда yum. Ми не можемо утримати Firewalld та iptables обидві в одній системі, що може призвести до конфлікту.
В iptables, ми звикли налаштовувати як ЛАНЦЮГИ ВХОДУ, ВИХОДУ та ВПЕРЕД але тут Firewalld, концепція використовує Зони. За замовчуванням у firewalld є різні зони, про які йтиметься у цій статті.
Основні зони, які подібні громадська зона та приватна зона. Щоб з цими зонами все обійшлося, нам потрібно додати інтерфейс із зазначеною підтримкою зон, а потім ми можемо додати служби до firewalld.
За замовчуванням доступно багато послуг, одна з найкращих функцій firewalld тобто він поставляється із заздалегідь визначеними службами, і ми можемо взяти ці служби як приклад, щоб додати наші послуги, просто скопіювавши їх.
Firewalld чудово працює з IPv4, IPv6, та Мости Ethernet теж. Ми можемо мати окремий час виконання та постійну конфігурацію у firewalld.
Давайте почнемо, як працювати з зонами та створювати власні послуги та набагато більш захоплююче використання firewalld.
Операційна система: Випуск CentOS Linux 7.0.1406 (ядро) IP-адреса: 192.168.0.55. Ім'я хоста: server1.tecmintlocal.com.
1.Firewalld Пакет встановлено за замовчуванням у RHEL/CentOS 7/8, Fedora та openSUSE. Якщо ні, ви можете встановити його за допомогою наведеного нижче команда yum.
# yum встановити firewalld -y.
2. Після firewalld Пакет встановлено, настав час перевірити, чи iptables служба працює чи ні, якщо вона запущена, вам потрібно зупинити та замаскувати (більше не використовувати) службу iptables за допомогою наведених нижче команд.
# systemctl статус iptables. # systemctl зупинити iptables. # systemctl маска iptables.
3. Перш ніж перейти до налаштування firewalld, я хотів би обговорити кожну зону. За замовчуванням доступні деякі зони. Нам потрібно призначити інтерфейс зоні. Зона визначає, що зона, якій довіряли або відмовляли в рівні інтерфейсу для отримання з'єднання. Зона може містити послуги та порти.
Тут ми опишемо кожну зону, доступну у Firewalld.
Тепер у вас є краще уявлення про зони, тепер давайте дізнаємось про доступні зони, зони за замовчуванням та перелічимо всі зони за допомогою таких команд.
# брандмауер-cmd --get-зони.
# firewall-cmd --get-default-zone.
# брандмауер-cmd --list-all-zone.
Примітка: Висновок наведеної вище команди не поміститься на одній сторінці, оскільки тут будуть перераховані всі зони, такі як блок, dmz, падіння, зовнішні, домашні, внутрішні, загальнодоступні, довірені та робочі. Якщо зони мають якісь розширені правила, включені послуги або порти також будуть перелічені з відповідною інформацією про зону.
4. Якщо ви хочете встановити зону за замовчуванням як внутрішню, зовнішню, робочу або будь -яку іншу зону, ви можете скористатися командою нижче, щоб встановити зону за замовчуванням. Тут ми використовуємо "внутрішні”За замовчуванням.
# firewall-cmd --set-default-zone = internal.
5. Після встановлення зони перевірте зону за замовчуванням за допомогою команди нижче.
# firewall-cmd --get-default-zone.
6. Ось наш інтерфейс enp0s3, Якщо нам потрібно перевірити нашу зону, в якій інтерфейс обмежений, ми можемо скористатися командою нижче.
# брандмауер-cmd --get-zone-of-interface = enp0s3.
7. Ще одна цікава особливість firewalld - цеicmptype'Є одним з типів icmp, підтримуваних firewalld. Щоб отримати список підтримуваних типів icmp, ми можемо скористатися командою нижче.
# firewall-cmd --get-icmptypes.
8. Послуги - це набір правил з портами та параметрами, які використовує Firewalld. Увімкнені служби автоматично завантажуватимуться, коли Firewalld обслуговування працює.
За замовчуванням доступно багато служб, щоб отримати список усіх доступних служб, скористайтеся такою командою.
# firewall-cmd --get-services.
9. Щоб отримати список усіх доступних за замовчуванням послуг, перейдіть до наступного каталогу, тут ви отримаєте список послуг.
# cd/usr/lib/firewalld/services/
10. Щоб створити власну послугу, її потрібно визначити за таким розташуванням. Наприклад, тут я хочу додати службу для RTMP порт 1935, спочатку зробіть копію будь -якої із служб.
# cd/etc/firewalld/services/ # cp /usr/lib/firewalld/services/ssh.xml/etc/firewalld/services/
А потім перейдіть до того місця, де був скопійований наш службовий файл, потім перейменуйте файл "ssh.xml"До"rtmp.xml", Як показано на малюнку нижче.
# cd/etc/firewalld/services/
11. Далі відкрийте та відредагуйте файл як Заголовок, опис, протокол та номер порту, які ми повинні використовувати для служби RTMP, як показано на малюнку нижче.
12. Щоб активувати ці зміни, перезапустіть службу firewalld або перезавантажте налаштування.
# firewall-cmd --reload.
13. Щоб підтвердити, додана служба чи ні, виконайте команду нижче, щоб отримати список доступних послуг.
# firewall-cmd --get-services.
14. Тут ми побачимо, як керувати брандмауером за допомогою команда firewall-cmd. Щоб дізнатися поточний стан брандмауера та всіх активних зон, введіть таку команду.
# брандмауер-cmd --state. # брандмауер-cmd --get-active-зон.
15. Щоб отримати загальнодоступну зону для інтерфейсу enp0s3, це стандартний інтерфейс, який визначений у /etc/firewalld/firewalld.conf файл як DefaultZone = загальнодоступна.
Щоб перерахувати всі доступні послуги в цій зоні інтерфейсу за замовчуванням.
# firewall-cmd --get-service.
16. У наведених вище прикладах ми побачили, як створити власні послуги, створивши rtmp сервіс, тут ми побачимо, як додати rtmp обслуговування в зоні.
# брандмауер-cmd --add-service = rtmp.
17. Щоб видалити додану зону, введіть.
# firewall-cmd --zone = public --remove-service = rtmp.
Цей крок був лише тимчасовим. Щоб зробити його постійним, нам потрібно виконати команду нижче з опцією - постійний.
# firewall-cmd --add-service = rtmp --permanent. # firewall-cmd --reload.
18. Визначте правила для діапазону джерел мережі та відкрийте будь -який з портів. Наприклад, якщо ви хочете відкрити діапазон мережі, скажіть "192.168.0.0/24"І порт"1935"Використовуйте наступні команди.
# firewall-cmd --permanent --add-source = 192.168.0.0/24. # firewall-cmd --permanent --add-port = 1935/tcp.
Перезавантажте службу firewalld після додавання або видалення будь -яких служб або портів.
# firewall-cmd --reload # брандмауер-cmd --list-all.
19. Якщо я хочу дозволити такі послуги, як http, https, vnc-server, PostgreSQL, ви використовуєте такі правила. Спочатку додайте правило та зробіть його постійним, перезавантажте правила та перевірте стан.
# firewall-cmd --add-rich-rule 'family family = "ipv4" source source = "192.168.0.0/24" name of service = "http" accept' # firewall-cmd --add-rich-rule 'сімейство правил = джерело "ipv4" address = "192.168.0.0/24" name of service = "http" accept '--permanent # firewall-cmd --add-rich-rule' family family = "ipv4" address source = "192.168.0.0/24" назва служби = "https" прийняти ' # firewall-cmd --add-rich-rule 'правило сімейства = "ipv4" адреса джерела = "192.168.0.0/24" ім'я служби = "https" прийняти' --перманентний # брандмауер-cmd --add-rich-rule 'сімейство правил = "ipv4" адреса джерела = "192.168.0.0/24" ім'я служби = "vnc-сервер" прийняти ' # firewall-cmd --add-rich-rule 'family family = "ipv4" адреса джерела = "192.168.0.0/24" name of service = "vnc-server" accept' --перманентний # брандмауер-cmd --add-rich-rule 'сімейство правил = "ipv4" адреса джерела = "192.168.0.0/24" ім'я служби = "postgresql" прийняти ' # firewall-cmd --add-rich-rule 'rule family = "ipv4" адреса джерела = "192.168.0.0/24" name of service = "postgresql" accept' --permanent.
Тепер мережевий діапазон 192.168.0.0/24 можу використовувати вищевказану послугу з мого сервера. Варіант - постійний може використовуватися в кожному правилі, але ми повинні визначити правило і перевірити доступ клієнта, після чого ми повинні зробити його постійним.
20. Після додавання вищезазначених правил не забудьте перезавантажити правила брандмауера та перелічити правила, використовуючи:
# firewall-cmd --reload. # брандмауер-cmd --list-all.
Щоб дізнатися більше про Firewalld.
# людина firewalld.
Ось і все, ми побачили, як налаштувати мережевий фільтр за допомогою Firewalld RHEL/CentOS та Fedora.
Net-filter-це платформа для брандмауера для кожного дистрибутива Linux. Назад у кожному RHEL та CentOS видань, якими ми користувалися iptables але в новіших версіях вони ввели Firewalld. Легше зрозуміти та користуватися firewalld. Сподіваюся, вам сподобалося написання.