---
title: 'Создать правило для TCP- или UDP-трафика'
sidebar_label: 'Создать правило для TCP- или UDP-трафика'
sidebar_position: 1
description: 'Как создать правило для TCP- или UDP-трафика'
---

import Formbricks from '@theme/MDXComponents/Formbricks'
import Tabs from '@theme/Tabs'
import TabItem from '@theme/TabItem'
import {TabItemLabel} from '@selectel/docux/components'
import MoreVerticalIcon from '@selectel/docux/icons/more-vertical'

# Создать правило для TCP или UDP-трафика

<Tabs queryString="create-rule-tcp-udp">
  <TabItem value="panel" default>
    <TabItemLabel>
      Панель управления
    </TabItemLabel>

    1. В [панели управления](https://my.selectel.ru/vpc/default/lbaas/load-balancers/) в верхнем меню нажмите **Продукты** и выберите **Облачные серверы**.

    2. Перейдите в раздел **Балансировщики** → вкладка **Балансировщики**.

    3. Откройте страницу балансировщика.

    4. Нажмите **Создать правило**.

    5. Выберите протокол приема трафика — TCP или UDP.

    6. Для выбранного протокола будет автоматически выбран стандартный порт, на котором балансировщик будет слушать трафик, — измените его при необходимости.

    7. Опционально: введите разрешенные CIDR, с которых балансировщик будет принимать трафик с выбранным протоколом и портом. Можно ввести подсеть в формате CIDR или одиночный IP-адрес с маской `/32`. Если вы оставите поле пустым, балансировщик будет принимать трафик с любых IP-адресов. Вы можете [указать разрешенные IP-адреса в правиле](/cloud-servers/load-balancers/manage/limit-access-to-balancer.mdx) после создания правила.

       Если поле отсутствует, в сети балансировщика выключена [фильтрация трафика (port security)](/cloud-servers/cloud-networks/about-networks.mdx#traffic-filtering-port-security).

    8. Выберите целевую группу или [создайте новую целевую группу](/cloud-servers/load-balancers/target-groups/create-target-group.mdx) с подходящим [протоколом](/cloud-servers/load-balancers/about-load-balancers.mdx#protocols).

    9. Опционально: измените [настройки соединений](/cloud-servers/load-balancers/about-load-balancers.mdx#connection-settings), для этого откройте блок **Расширенные настройки правила** и укажите:

       * для входящих запросов на балансировщик — укажите таймаут соединения и максимум соединений;
       * для запросов от балансировщика к серверам — укажите таймаут соединения, таймаут неактивности и таймаут ожидания TCP-пакетов.

    10. Нажмите **Создать**.
  </TabItem>

  <TabItem value="openstack">
    <TabItemLabel>
      OpenStack CLI
    </TabItemLabel>

    1. [Откройте OpenStack CLI](/cloud-servers/tools/openstack-cli/).

    2. Создайте правило для балансировщика:

       ```bash
       openstack loadbalancer listener create \
         --name <listener_name> \
         --protocol <protocol> \
         --protocol-port <port> \
         [--allowed-cidr <allowed_cidr>] \
         <loadbalancer>
       ```

       Укажите:

       * `<listener_name>` — имя правила;
       * `<protocol>` — название протокола, TCP или UDP;
       * `<port>` — номер порта;
       * опционально: `--allowed-cidr <allowed_cidr>` — IP-адрес, с которого разрешено принимать трафик, где `<allowed_cidr>` — подсеть в формате CIDR или одиночный IP-адрес с маской `/32`. Если нужно указать несколько адресов, каждый укажите в отдельном параметре `--allowed-cidr`. Чтобы ограничение работало, в сети балансировщика должна быть включена [фильтрация трафика (port security)](/cloud-servers/cloud-networks/about-networks.mdx#traffic-filtering-port-security). Вы можете [указать разрешенные IP-адреса в правиле](/cloud-servers/load-balancers/manage/limit-access-to-balancer.mdx#specify-allowed-cidrs-in-rule) после создания балансировщика;
       * `<loadbalancer>` — ID или имя балансировщика нагрузки. Список можно посмотреть с помощью команды `openstack loadbalancer list`.

    3. Создайте целевую группу:

       ```bash
       openstack loadbalancer pool create \
         --name <pool_name> \
         --lb-algorithm <algorithm> \
         --listener <listener_name> \
         --protocol <protocol>
       ```

       Укажите:

       * `<pool_name>` — имя целевой группы;
       * `<algorithm>` — название алгоритма: `ROUND_ROBIN` или `LEAST_CONNECTIONS`;
       * `<listener_name>` — имя правила;
       * `<protocol>` — название протокола.

    4. Добавьте сервер в целевую группу:

       ```bash
       openstack loadbalancer member create \
         --subnet-id <subnet_uuid> \
         --address <server_ip_address> \
         --protocol-port <port> \
         <pool_name>
       ```

       Укажите:

       * `<subnet_uuid>` — ID приватной или публичной подсети сервера, можно посмотреть с помощью команды `openstack subnet list`;
       * `<server_ip_address>` — IP-адрес сервера из указанной подсети.
  </TabItem>
</Tabs>

<Formbricks />
