Налаштування IPTables: правила та приклади
Це підсистема для роботи з мережевими пакетами, яка пропускає через свій фільтр усі з’єднання на сервері. У цій статті ми детально розглянемо налаштування IPTables.
Загальна інформація
IPTables уже за замовчуванням вбудована в основне ядро Linux, але користувацькі інструменти для роботи з нею в багатьох дистрибутивах не встановлюються автоматично, тож скористаймося наведеною нижче командою, щоб інсталювати цю утиліту.
Debian / Ubuntu
sudo використовується в Ubuntu OS. У Debian команду виконують без нього.
CentOS [Fedora]
Налаштування
Після встановлення утиліти можемо перейти до її детального налаштування.
Аргументи
-A — додати правило до ланцюга.
-C — перевірити правила.
-D — видалити правило.
-I — вставити правило на потрібну позицію.
-L — вивести всі правила у поточному ланцюзі.
-S — вивести всі правила.
-F — очистити всі правила.
-N — створити ланцюг.
-X — видалити ланцюг.
-P — встановити політику за замовчуванням.
-p — вказати протокол.
-s — вказати адресу відправника.
-d — вказати адресу одержувача.
-i — вхідний мережевий інтерфейс.
-o — вихідний мережевий інтерфейс.
-j — дія, яку потрібно виконати, якщо правило спрацьовує.
INPUT — відповідає за обробку вхідних пакетів і з’єднань.
FORWARD — застосовується до транзитних з’єднань. Сюди потрапляють пакети, які надсилаються на ваш сервер, але він не є кінцевим пунктом доставки.
OUTPUT — протилежний до INPUT. Використовується для вихідних пакетів і з’єднань.
ACCEPT — дозволити пакет.
DROP — відкинути пакет.
REJECT — відхилити пакет.
LOG — записати в журнал відповідний пакет.
QUEUE — передати пакет користувацькій програмі.
Відкриття портів
Спочатку перевіримо список наших правил:

Тепер відкриємо один TCP-порт 80 для вхідних з’єднань:
Перевіряємо список ще раз…

Тепер відкриємо діапазон UDP-портів від 25565 до 25570 для вихідних з’єднань:
Перевіряємо результат.

Хочете закрити усі вхідні з’єднання для TCP 250? Без проблем.

Видалення правил
Тепер видалимо правило, яке дозволяє вхідні з’єднання для TCP 80:

Видалення всіх правил
Для цього скористайтеся такою командою:

Збереження створених правил
Типово всі створені правила діють лише до наступного перезавантаження й будуть видалені під час нього. Щоб цього уникнути, збережімо створені нами правила IPTables. Для цього використайте відповідну команду.

Готово. Правила збережено, і вони залишаться активними навіть після перезавантаження сервера!