Про Netfilter

Netfilter — це інфраструктура у ядрі операційної системи Linux, яка дозволяє виконувати різні мережеві операції, зокрема фільтрацію пакетів, NAT та інші маніпуляції з мережевими пакетами. Netfilter надає базову функціональність для брандмауерів і є основою для таких утиліт, як iptables, nftables та firewalld.

Ключові можливості.

  1. Фільтрація пакетів. Netfilter дозволяє фільтрувати вхідні, вихідні та форвардні пакети за допомогою правил, які визначають, що робити з тими чи іншими пакетами (дозволити, відкинути, перенаправити і т.д.).

  2. NAT (Network Address Translation). Це функціональність, яка дозволяє змінювати IP-адресу або порти в заголовках мережевих пакетів. NAT широко використовується для приховування внутрішніх IP-адрес за однією публічною адресою.

  3. Маскарадинг. Спеціальний вид NAT, що використовується для динамічної зміни IP-адреси джерела для пакетів, що виходять з локальної мережі в інтернет.

  4. Маршрутизація пакетів. Netfilter дозволяє виконувати маніпуляції з маршрутами мережевих пакетів, включаючи перенаправлення пакетів між інтерфейсами.

  5. nftables та iptables. Це інтерфейси користувача для роботи з Netfilter. Iptables використовувався традиційно, але зараз замінюється на nftables, який надає більш потужний і гнучкий спосіб роботи з правилами фільтрації.

  6. Hooks. Netfilter використовує систему гачків (hooks) для перехоплення і обробки мережевих пакетів на різних стадіях їх обробки (наприклад, перед маршрутизацією, після маршрутизації тощо).

Завдяки Netfilter, адміністратори можуть детально контролювати мережевий трафік, забезпечувати безпеку мережі та керувати з’єднаннями в Linux-системах.