Nftables

Материал из Rosalab Wiki
Версия от 12:33, 7 марта 2023; PastorDi (обсуждение | вклад) (Новая страница: «== Немного о nftables (файрвол) == В Rosa Server по умолчанию iptables заменен на nftables. nftables — проект netfi…»)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Это снимок страницы. Он включает старые, но не удалённые версии шаблонов и изображений.
Перейти к: навигация, поиск

Немного о nftables (файрвол)

В Rosa Server по умолчанию iptables заменен на nftables.

nftables — проект netfilter, целью которого ставится замена существующего набора межсетевых экранов iptables/ip6tables/arptables. Была разработана новая система фильтрации пакетов, добавлена пользовательская утилита ntf, а также создан слой совместимости с iptables/ip6tables. nftables использует набор хуков, систему отслеживания соединений, систему очередей и подсистему логирования netfilter.

Как и iptables, nftables построен на правилах, определяющих действия. Эти правила содержаться в таблицах (table), к которым прикреплены цепочки (chain). Цепочка может содержать набор правил и исполняется в хуках (hook) netfilter. Таблица специфична для каждого из протоколов (arp/ipv4/ipv6). Одно из основных отличий iptables заключается в том, что больше нет предопределенных таблиц и цепочек.

Таблицы:

  • table - это контейнер для ваших цепочек (chain).

Семейства таблиц:

  • ip : используется для цепочек, связанных с IPv4.
  • ip6 : используется для цепочек, связанных с IPv6.
  • arp : используется для цепочек, связанных с ARP.
  • bridge : используется для соединения связанных цепей.
  • inet : смешанные цепочки ipv4 / ipv6 (ядро 3.14 и выше).
  • netdev : используется для цепочек, которые фильтруют в начале стека (ядро 4.2 и выше).

Цепочки (chain):

  • chain - используются для группировки правил.
  • base chain - имеет зарегистрированный крючок, тип и приоритет.
  • other chain - не привязаны к хуку и по умолчанию не видят никакого трафика.

Существует три вида цепочек:

  1. filter - стандартный тип. фильтрует пакеты
  2. nat - протоколы ip/ip6/inet. хуки prerouting, input, output, postrouting. преобразование NAT
  3. route - протоколы ip/ip6. хуки output. маршрутизация

Хук (hook):

hook - это представление того, где происходит обработка, на каком этапе.

  • prerouting : это происходит до принятия решения о маршрутизации, все пакеты, входящие в машину, попадают в это правило.
  • input : все пакеты для локальной системы попадают в это правило.
  • forward : пакеты не для локальной системы, те, которые необходимо пересылать, попадают в это правило.
  • output : пакеты, исходящие из локальной системы, попадают в это правило.
  • postrouting : эта ловушка возникает после того, как решение о маршрутизации было принято, все пакеты, покидающие машину, попадают в это правило.