Skip to main content

VIP адрес для использования с балансировками

Информация, приведенная на данной странице, является разработкой команды pre-sales и/или community KUMA и НЕ является официальной рекомендацией вендора.

Официальная документация по данному разделу приведена в Онлайн-справке на продукт: Управление потоком событий с помощью nginx (kaspersky.com)

Чтобы настроить балансировку трафика между коллекторами KUMA:

1. Установите nginx на сервере, предназначенном для управления потоком событий (предпочтительно выделенные сервера, не менее двух)

  • Команда для установки в Oracle Linux 8.6:8+:

    $sudo dnf install nginxkeepalived

  • Команда для установки в Ubuntu 20.4:

    $sudo apt-get install nginxkeepalived

    При установке из sources, необходимо собрать с параметром -with-stream:
    $sudo ./configure -with-stream -without-http_rewrite_module -without-http_gzip_module

2. Подготавливаем конфигурационный файл nginx.conf,/etc/keepalived/keepalived.conf где блоки выделенные красным меняем (название\ip адреса\порт) под свою задачу.

{
Обратите внимание, upstreamконфига back_FW_ASAдва! Нужно раскидать конфиг по серверам ACTIVE\BACKUP {
        server 10.11.17.145:514;
        server 10.11.18.145:514;
        }

и 

server {
                listen 514 udp;
                proxy_pass back_FW_ASA;
                proxy_bind $remote_addr transparent;
        }

При помощи данного файла nginx будет "прозрачно" для коллекторов пробрасывать оригинальный сетевой пакет трафика, позволяя передать реальный адрес\имя устройства, которое передало лог. 

user#CONFIG nginx;FOR worker_processesMASTER auto;SERVER

error_log! /var/log/nginx/error.log;Barebones pidconf /run/nginx.pid;File #for Loadkeepalived
 
  dynamic modules. See /usr/share/doc/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;
eventsglobal_defs {
     worker_connectionsnotification_email 1024;{
       your_mail@testmailcompany.ru
     }
     streamnotification_email_from keepalived@testmailcompany.ru
     smtp_server mail.testmailcompany.ru
     smtp_connect_timeout 60
  }
 
  vrrp_instance VI_1 {
      upstreamstate back_FW_ASAMASTER
      interface ens192 #меняем под свой интерфейс
      virtual_router_id 100
      priority 100
      advert_int 1
      authentication {
          serverauth_type 10.11.17.145:514;PASS
          serverauth_pass 10.11.18.145:514;12345678 #меняем пароль!
      }
      servervirtual_ipaddress {
          listen 514 udp;
                proxy_pass back_FW_ASA;
                proxy_bind $remote_addr transparent;10.10.10.10
      }
  }



#CONFIG FOR BACKUP SERVER

! Barebones conf File for keepalived
 
  global_defs {
     notification_email {
       your_mail@testmailcompany.ru
     }
     notification_email_from keepalived@testmailcompany.ru
     smtp_server mail.testmailcompany.ru
     smtp_connect_timeout 60
  }
 
  vrrp_instance VI_1 {
      state BACKUP
      interface ens192 #меняем под свой интерфейс
      virtual_router_id 100
      priority 100
      advert_int 1
      authentication {
          auth_type PASS
          auth_pass 12345678 #меняем пароль!
      }
      virtual_ipaddress {
          10.10.10.10
      }
  }

3. Укажите адреса коллекторов KUMA и порт, в примере их адреса\порты - 10.11.17.145:514 и 10.11.18.145:514, балансировка отправки сообщений будет вестись в соотношении 50:50 (при доступности двух коллекторов).

4. Служба балансировщика будет "прослушивать" 514 порт со всех IP адресов сервера, для большей отказоустойчивости служб предлагается использоватьЗапускаем службу командой sudo systemctl start keepalived на двух серверах.
серверах, при  выводе ip -a можем наблюдать на MASTER сервере - дополнительный адрес - 10.10.10.10, для проверки "переезда" адреса можем остановить службу на MASTER сервере командой sudo systemctl stop keepalived, виртуальный адрес поднимется на BACKUP сервере.

4. Настраиваем по статье балансировку средствами nginx и получается следующая отказоустойчивая схема приёма логов на коллекторах:

image.png