Добавление правила NAT/Firewall

Добавление правила NAT/Firewall

Для добавления нового правила NAT/Firewall в набор правил, связанных с сетевым агентом, выполните следующие шаги:

  1. Откройте раздел Сеть.

  2. Найдите в списке сетевой агент, с которым будет связано новое правило NAT/Firewall, и перейдите в него.

  3. Откройте вкладку NAT/Firewall.

  4. Нажмите Добавить правило.

  5. Заполните форму Добавить правило. Все поля, отмеченные звёздочкой, являются обязательными для заполнения.

    Пример заполнения формы "Добавить правило"

    Форма позволяет создавать правила фильтрации трафика и трансляции адресов (NAT) на уровне сетевого агента, используя ядро Linux (iptables/nftables). Правила применяются к трафику, проходящему через агент — как входящему, исходящему, либо транзитному (между клиентом и бэкендом). Каждое правило состоит из следующих компонентов:

    • Таблица — название таблицы ядра Linux, в котором будет создано правило.

      ℹ️

      В большинстве случаев используется таблица по умолчанию default. Изменять вручную требуется только для сложных сценариев:

      • nat — таблица для правил трансляции адресов (DNAT/SNAT). Используется только с цепочками: NAT до маршрутизации, NAT после маршрутизации.

      • filter — основная таблица для фильтрации трафика (ACCEPT/DROP/REJECT). Используется со всеми цепочками фильтрации: Фильтр до маршрутизации, Фильтр входящих и др.

    • Цепочка — место в пайплайне обработки пакета, где правило будет применено. Выбор цепочки определяет, на каком этапе обработки срабатывает правило — до/после маршрутизации, до/после NAT, и т.д. Доступные варианты:

      • Авто — система 5А автоматически выбирает подходящую цепочку на основе типа действия и таблицы. Рекомендуется для простых правил.
      • Фильтр до маршрутизации — применяется к пакетам до принятия решения о маршрутизации.
      • NAT до маршрутизации (DNAT) — применяется к пакетам до маршрутизации — используется для изменения целевого IP(DNAT).
      • Фильтр входящих — применяется к пакетам, назначенным самому узлу (локальный трафик).
      • Фильтр транзита — применяется к пакетам, проходящим через агент (клиент → балансировщик → бэкенд).
      • Фильтр исходящих — применяется к пакетам, генерируемым самим агентом (например, healthcheck и DNS-запросы).
      • Фильтр после маршрутизации — применяется к пакетам после выбора маршрута, но до отправки на интерфейс.
      • NAT после маршрутизации (SNAT) — применяется к пакетам после маршрутизации — используется для изменения источника(SNAT).
    • Условия — задает критерии, при которых правило срабатывает. Каждое условие состоит из:

      • Имя — тип условия. Доступные варианты:

        • Имя входящего интерфейса — фильтрация по имени интерфейса, на который пришел пакет.
        • Имя исходящего интерфейса — фильтрация по интерфейсу, через который пакет будет отправлен.
        • Индекс входящего интерфейса — фильтрация по числовому индексу интерфейса.
        • Индекс исходящего интерфейса — фильтрация по числовому индексу исходящего интерфейса.
        • Исходный адрес — IPv4-адрес источника пакета.
        • Адрес назначения — IPv4-адрес назначения пакета.
        • IPv6 Исходный адрес — IPv6-адрес источника.
        • IPv6 Адрес назначения — IPv6-адрес назначения.
        • Семейство протоколов — протокол транспортного уровня.
        • Исходный порт — порт источника (для TCP/UDP).
        • Порт назначения — порт назначения (для TCP/UDP).
      • Оператор — оператор сравнения условия выбранного типа с заданным значением.

      • Значение — целевое значение для сравнения.

      ℹ️

      Дополнительные условия добавляются нажатием на Добавить. Удаление условий выполняется нажатием на значок корзины справа от условия.

    • Действия — определяет, что происходит с пакетом при совпадении всех условий.

      • Наименование — тип выполняемого действия. Доступные варианты:

        • Счётчик — увеличивает счётчик пакетов и байтов, соответствующих правилу. Не влияет на обработку трафика.
        • Фильтровать — разрешает или блокирует пакет.
        • NAT — модифицирует адрес пакета (SNAT/DNAT).
        • Маскарадинг (masquerade) — специальный тип NAT-действия, автоматически заменяющий исходный IP-адрес пакета на динамический IP-адрес исходящего интерфейса.
        • Лимитировать — ограничивает трафик по заданному ограничению:
          • Тип — тип ограничения трафика:
            • пакеты в секунду,
            • байт в секунду.
          • Лимит — максимальное значение указанного типа, по которому будет ограничиваться трафик.
          • Всплеск — допустимое значение всплеска поверх лимита. Используется для поддержки естественных скачков нагрузки. Если всплеск = 0, то трафик ограничивается по значению лимита, иначе трафик ограничивается по значению "лимит+всплеск".
        • Дублирование пакетов — клонирует трафик согласно заданным ранее условиям на указанный IP-адрес.
      ℹ️

      Дополнительные действия добавляются нажатием на Добавить. Удаление действий выполняется нажатием на значок корзины справа от действия.

  6. Нажмите Сохранить для добавления правила NAT/Firewall.