---
title: 'Обновить сетевые настройки'
sidebar_label: 'Обновить сетевые настройки'
description: 'Как обновить сетевые настройки на облачном сервере, кластере Managed Kubernetes, кластере облачных баз данных и облачном балансировщике нагрузки'
sidebar_position: 5
---

import Tabs from '@theme/Tabs'
import TabItem from '@theme/TabItem'
import {TabItemLabel} from 'docs-kit/components'
import CopyIcon from 'docs-kit/icons/copy'
import Formbricks from '@theme/MDXComponents/Formbricks'

# Обновить сетевые настройки на устройствах в подсети

Если вы изменили сетевые настройки ([DNS-серверы](/cloud-servers/cloud-networks/private-networks-and-subnets.mdx#change-dns-servers-on-private-subnet), [шлюз по умолчанию](/cloud-servers/cloud-networks/private-networks-and-subnets.mdx#change-default-gateway-on-private-subnet), [статические маршруты](/cloud-servers/cloud-networks/static-routes.mdx)) приватной подсети, в которой есть устройства, для применения настроек нужно обновить сетевые настройки на всех устройствах в подсети.

## Обновить сетевые настройки на облачном сервере \{#configure-static-routing}

Если сначала вы изменили сетевые настройки приватной подсети ([DNS-серверы](/cloud-servers/cloud-networks/private-networks-and-subnets.mdx#change-dns-servers-on-private-subnet), [шлюз по умолчанию](/cloud-servers/cloud-networks/private-networks-and-subnets.mdx#change-default-gateway-on-private-subnet), [статические маршруты](/cloud-servers/cloud-networks/static-routes.mdx)), а затем создали в ней облачные серверы, все настройки на серверах пропишутся автоматически.

Если сначала вы создали облачные серверы, а затем изменили сетевые настройки подсети, для применения настроек:

1. [Проверьте DHCP в приватной подсети](#check-dhcp-in-private-network).
2. [Примените новые сетевые настройки на облачном сервере](#set-new-settings-on-cloud-server).
3. [Измените файлы конфигурации сети облачного сервера](#edit-cloud-server-network-configuration-file).

### 1. Проверить DHCP в приватной подсети \{#check-dhcp-in-private-network}

1. В [панели управления](https://my.selectel.ru/vpc/default/networks/) в верхнем меню нажмите **Продукты** и выберите **Облачные серверы**.
2. Перейдите в раздел **Сеть** → вкладка **Приватные сети**.
3. Откройте страницу сети → вкладка **Подсети**.
4. В карточке подсети откройте блок **Автоматические сетевые настройки**.
5. Проверьте, включен или выключен тумблер **DHCP-сервер**.

### 2. Применить новые сетевые настройки на облачном сервере \{#set-new-settings-on-cloud-server}

#### Если DHCP включен

Примените новые сетевые настройки в зависимости от DHCP-клиента:

* перезапросите информацию от DHCP-сервера на облачном сервере — новые сетевые настройки добавятся, при этом старые не удалятся:

  ```bash
  dhclient <interface_name>
  ```

  Укажите `<interface_name>` — имя интерфейса, например `eth0`;

* или выключите, затем включите порт и перезапросите информацию у DHCP-сервера на облачном сервере — новые сетевые настройки добавятся, при этом старые удалятся:

  ```bash
  INTERFACE=<interface_name>; ip link set $INTERFACE down && ip link set $INTERFACE up && dhclient $INTERFACE
  ```

  Укажите `<interface_name>` — имя интерфейса, например `eth0`.

#### Если DHCP выключен

Если в приватной подсети выключен DHCP, алгоритм применения новых сетевых настроек зависит от наличия агента cloud-init или cloudbase-init в образах, из которых создан облачный сервер. Агенты предустановлены во всех [готовых образах](/cloud-servers/images/about-images.mdx#default-images) облачной платформы. Агенты должны быть установлены, если вы самостоятельно загружали в хранилище образов Selectel образ по инструкции [Подготовить ISO-образ для работы с облачной платформой](/cloud-servers/images/create-custom-image.mdx).

<Tabs queryString="set-new-settings-on-cloud-server-dhcp-off">
  <TabItem value="cloudon" default>
    <TabItemLabel>
      Cloud-init установлен
    </TabItemLabel>

    1. В [панели управления](https://my.selectel.ru/vpc/default/servers/) в верхнем меню нажмите **Продукты** и выберите **Облачные серверы**.
    2. Откройте страницу облачного сервера → вкладка **Порты**.
    3. Если в блоке **Настройка портов** указан параметр **При перезагрузке сервера**, [выполните программную перезагрузку сервера](/cloud-servers/manage/reboot-server.mdx#perform-soft-reboot).
    4. Если в блоке **Настройка портов** указан параметр **Вручную в файле конфигурации сети**, [измените файл конфигурации сети](#edit-cloud-server-network-configuration-file) облачного сервера.
  </TabItem>

  <TabItem value="cloudoff">
    <TabItemLabel>
      Cloud-init не установлен
    </TabItemLabel>

    [Измените файл конфигурации сети](#edit-cloud-server-network-configuration-file) облачного сервера.
  </TabItem>
</Tabs>

### 3. Изменить файл конфигурации сети облачного сервера \{#edit-cloud-server-network-configuration-file}

Изменить файл конфигурации сети облачного сервера нужно, если в приватной подсети выключен DHCP и при этом:

* облачный сервер создан из образа без агента cloud-init или cloudbase-init;
* облачный сервер создан из образа с агентом cloud-init или cloudbase-init, но в блоке **Настройка портов** указан параметр **Вручную в файле конфигурации сети**.

Если в дальнейшем вы [включите DHCP](/cloud-servers/cloud-networks/private-networks-and-subnets.mdx#enable-dhcp-in-private-subnet) в приватной подсети, то указанные в файле сетевые настройки перестанут работать — DHCP применяет ко всем серверам собственные настройки.

:::info

Это инструкция с примерами изменения сетевых настроек в файле конфигурации сети: DNS-серверов, шлюза по умолчанию, статических маршрутов. Конфигурационные файлы и сетевые настройки могут отличаться в зависимости от дистрибутива.

:::

<Tabs queryString="edit-cloud-server-network-configuration-file">
  <TabItem value="linux" default>
    <TabItemLabel>
      Linux
    </TabItemLabel>

    Настройка зависит от утилиты, которая установлена на облачном сервере: ifupdown или netplan. В облачных серверах, созданных из [готовых образов](/cloud-servers/images/about-images.mdx#default-images) с операционной системой Ubuntu 18.04, 20.04 и 22.04, по умолчанию для настройки сети используется утилита ifupdown. Вы можете [переключите конфигурирование сети с ifupdown на netplan](/cloud-servers/troubleshooting/netplan-configuration.mdx).

    <Tabs queryString="edit-cloud-server-network-configuration-file-linux">
      <TabItem value="ifupdown" default>
        <TabItemLabel>
          ifupdown
        </TabItemLabel>

        1. [Подключитесь к серверу](/cloud-servers/manage/connect-to-server.mdx).

        2. Откройте CLI.

        3. Если облачный сервер создан из образа с cloud-init, настройки сети будут синхронизироваться с его помощью и после перезагрузки сервера будут указываться прежние сетевые настройки. Чтобы отключить синхронизацию, отключите конфигурирование сети:

           ```bash
           echo "network: {config: disabled}" >> /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg
           ```

        4. Откройте файл конфигурации сети:

           ```bash
           nano /etc/network/interfaces.d/50-cloud-init.cfg
           ```

        5. Измените сетевые настройки:

           ```bash
           auto lo
           iface lo inet loopback
               dns-nameservers <dns_server_1> <dns_server_2>

           auto <interface_name>
           iface <interface_name> inet static
               address <ip_address>
               mtu 1500
               post-up route add default gw <gateway> || true
               pre-down route del default gw <gateway> || true
               up route add -net <destination_subnet_ip_address> netmask <destination_subnet_netmask> gw <next_hop_ip_address>
           ```

           Укажите:

           * `<dns_server_1>`, `<dns_server_2>` — DNS-серверы приватной подсети;
           * `<interface_name>` — имя сетевого интерфейса;
           * `<ip_address>` — IP-адрес облачного сервера с маской приватной подсети, в которой он находится. Например, `192.168.0.5/29`;
           * `<gateway>` — шлюз по умолчанию приватной подсети;
           * `<destination_subnet_ip_address>` — для статических маршрутов: IP-адрес подсети назначения, в которую будет направляться трафик, например `172.16.0.8`;
           * `<destination_subnet_netmask>` — для статических маршрутов: маска подсети назначения, например `29`;
           * `<next_hop_ip_address>` — для статических маршрутов: шлюз (next-hop) — IP-адрес, через который устройства исходной подсети будут направлять трафик в подсеть назначения. Можно ввести любой адрес из исходной подсети.
      </TabItem>

      <TabItem value="netplan">
        <TabItemLabel>
          netplan
        </TabItemLabel>

        1. [Подключитесь к серверу](/cloud-servers/manage/connect-to-server.mdx).

        2. Откройте CLI.

        3. Откройте файл конфигурации сети:

           ```bash
           nano /etc/netplan/config.yaml
           ```

        4. Измените сетевые настройки:

           ```bash
           network:
             version: 2
             renderer: networkd
             ethernets:
               <interface_name>:
                 addresses:
                   - <ip_address>
                 nameservers:
                   addresses: [<dns_server_1>, <dns_server_2>]
                 routes:
                   - to: default
                     via: <gateway>
                   - to: <destination_subnet>
                     via: <next_hop_ip_address>
           ```

           Укажите:

           * `<interface_name>` — имя сетевого интерфейса;
           * `<ip_address>` — IP-адрес облачного сервера с маской приватной подсети, в которой он находится. Например, `192.168.0.5/29`;
           * `<dns_server_1>`, `<dns_server_2>` — DNS-серверы приватной подсети;
           * `<gateway>` — шлюз по умолчанию приватной подсети;
           * `<destination_subnet>` — для статических маршрутов: CIDR подсети назначения, в которую будет направляться трафик, например `172.16.0.8/29`;
           * `<next_hop_ip_address>` — для статических маршрутов: шлюз (next-hop) — IP-адрес, через который устройства исходной подсети будут направлять трафик в подсеть назначения. Можно ввести любой адрес из исходной подсети.

        5. Проверьте синтаксис файла:

           ```bash
           sudo netplan try
           ```

        6. Примените настройки:

           ```bash
           sudo netplan apply
           ```
      </TabItem>
    </Tabs>
  </TabItem>

  <TabItem value="windows">
    <TabItemLabel>
      Windows
    </TabItemLabel>

    1. [Подключитесь к серверу](/cloud-servers/manage/connect-to-server.mdx).

    2. Запустите PowerShell от имени администратора.

    3. Посмотрите имя сетевого интерфейса приватной сети, для которого необходимо изменить сетевые настройки. Для этого выведите информацию о сетевых интерфейсах:

       ```bash
       Get-NetIPConfiguration
       ```

    4. Чтобы изменить IP-адрес облачного сервера в приватной подсети:

       4.1. Добавьте новый IP-адрес:

       ```bash
       New-NetIPAddress -InterfaceAlias "<eth_name>" -IPAddress <new_ip_address> -PrefixLength <mask>
       ```

       Укажите:

       * `<eth_name>` – имя сетевого интерфейса, которое вы получили на шаге 3;
       * `<new_ip_address>` — новый IP-адрес облачного сервера в приватной подсети. Например, `192.168.0.5`;
       * `<mask>` — маска подсети, например `29`.

       4.2. Удалите старый IP-адрес:

       ```bash
       Remove-NetIPAddress -InterfaceAlias "<eth_name>" -IPAddress <old_ip_address>
       ```

       Укажите:

       * `<eth_name>` – имя сетевого интерфейса, которое вы получили на шаге 3;
       * `<old_ip_address>` — старый IP-адрес облачного сервера в приватной подсети. Например, `192.168.0.6`.

    5. Чтобы изменить шлюз по умолчанию облачного сервера в приватной подсети:

       5.1. Добавьте новый шлюз по умолчанию:

       ```bash
       New-NetRoute -InterfaceAlias "<eth_name>" -DestinationPrefix 0.0.0.0/0 -NextHop <new_gateway>
       ```

       Укажите:

       * `<eth_name>` – имя сетевого интерфейса, которое вы получили на шаге 3;
       * `<new_gateway>` — новый шлюз по умолчанию приватной сети. Например, `192.168.0.2`.

       5.2. Удалите старый шлюз по умолчанию:

       ```bash
       Remove-NetRoute -InterfaceAlias "<eth_name>" -DestinationPrefix 0.0.0.0/0 -NextHop <old_gateway>
       ```

       Укажите:

       * `<eth_name>` – имя сетевого интерфейса, которое вы получили на шаге 3;
       * `<old_gateway>` — старый шлюз по умолчанию приватной сети. Например, `192.168.0.1`.

    6. Чтобы изменить DNS-серверы в приватной подсети, задайте новые адреса DNS-серверов:

       ```bash
       Set-DnsClientServerAddress -InterfaceAlias "<eth_name>" -ServerAddresses "<dns_server_1>","<dns_server_2>"
       ```

       Укажите:

       * `<eth_name>` – имя сетевого интерфейса, которое вы получили на шаге 3;
       * `<dns_server_1>, <dns_server_2>` — DNS-серверы приватной подсети.

    7. Чтобы прописать статический маршрут на облачном сервере:

       7.1. Добавьте статический маршрут:

       ```bash
       New-NetRoute -InterfaceAlias "<eth_name>" -DestinationPrefix <destination_subnet> -NextHop <next_hop_ip_address>
       ```

       Укажите:

       * `<eth_name>` – имя сетевого интерфейса, которое вы получили на шаге 3;
       * `<destination_subnet>` — CIDR подсети назначения, в которую будет направляться трафик. Например, `172.16.0.8/29`;
       * `<next_hop_ip_address>` — шлюз (next-hop) — IP-адрес, через который устройства исходной подсети будут направлять трафик в подсеть назначения. Можно ввести любой адрес из исходной подсети.

       7.2. Если вам нужно добавить еще один маршрут, повторите шаг 7.1.
  </TabItem>
</Tabs>

## Обновить сетевые настройки на кластере Managed Kubernetes \{#set-new-settings-in-managed-kubernetes-cluster}

Если сначала вы изменили сетевые настройки приватной подсети ([DNS-серверы](/cloud-servers/cloud-networks/private-networks-and-subnets.mdx#change-dns-servers-on-private-subnet), [шлюз по умолчанию](/cloud-servers/cloud-networks/private-networks-and-subnets.mdx#change-default-gateway-on-private-subnet), [статические маршруты](/cloud-servers/cloud-networks/static-routes.mdx)), а затем создали в ней ноды кластера Managed Kubernetes, все настройки на нодах кластера пропишутся автоматически.

Если сначала вы создали ноды кластера Managed Kubernetes, а затем изменили сетевые настройки подсети, для применения настроек последовательно [переустановите ноды](/managed-kubernetes/node-groups/reinstall-nodes.mdx#reinstall-nodes-manually).

## Обновить сетевые настройки на кластере облачных баз данных \{#set-new-settings-in-managed-database-cluster}

Если сначала вы изменили сетевые настройки приватной подсети ([DNS-серверы](/cloud-servers/cloud-networks/private-networks-and-subnets.mdx#change-dns-servers-on-private-subnet), [шлюз по умолчанию](/cloud-servers/cloud-networks/private-networks-and-subnets.mdx#change-default-gateway-on-private-subnet), [статические маршруты](/cloud-servers/cloud-networks/static-routes.mdx)), а затем создали в ней кластер облачных баз данных, все настройки на кластере пропишутся автоматически.

Если сначала вы создали кластер облачных баз данных, а затем изменили сетевые настройки подсети, для применения настроек:

* [создайте тикет](https://my.selectel.ru/tickets/create/). Укажите:
  * ID кластера облачных баз данных. Можно скопировать в [панели управления](https://my.selectel.ru/vpc/default/dbaas/): в верхнем меню нажмите **Продукты** → **Облачные базы данных** → в строке кластера нажмите <CopyIcon />;
  * ID проекта. Можно скопировать в [панели управления](https://my.selectel.ru/vpc/default/dbaas/): в верхнем меню нажмите **Продукты** → **Облачные базы данных** → откройте меню проектов (название текущего проекта) → в строке проекта нажмите <CopyIcon />;
  * [пул](/infrastructure/locations.mdx#pool), в котором находится подсеть;
  * новые сетевые настройки, которые нужно применить;
* или пересоздайте кластер облачных баз данных, например восстановите его из резервной копии. Подробнее в подразделе [Восстановить кластер (пример для PostgreSQL)](/managed-databases/postgresql/backups.mdx#restore-cluster).

## Обновить сетевые настройки на облачном балансировщике нагрузки \{#set-new-settings-on-cloud-load-balancer}

Если сначала вы изменили сетевые настройки приватной подсети ([DNS-серверы](/cloud-servers/cloud-networks/private-networks-and-subnets.mdx#change-dns-servers-on-private-subnet), [шлюз по умолчанию](/cloud-servers/cloud-networks/private-networks-and-subnets.mdx#change-default-gateway-on-private-subnet), [статические маршруты](/cloud-servers/cloud-networks/static-routes.mdx)), а затем создали в ней облачный балансировщик нагрузки, все настройки на балансировщике пропишутся автоматически.

Если сначала вы создали облачный балансировщик нагрузки, а затем изменили сетевые настройки подсети, для применения настроек:

* [пересоздайте инстанс балансировщика](/cloud-servers/load-balancers/manage/failover.mdx). Все настройки балансировщика, целевые группы и правила будут сохранены;
* или [создайте балансировщик нагрузки](/cloud-servers/load-balancers/create-load-balancer.mdx) заново.

## Обновить сетевые настройки на файловом хранилище \{#set-new-settings-on-file-storage}

Если сначала вы изменили сетевые настройки приватной подсети ([DNS-серверы](/cloud-servers/cloud-networks/private-networks-and-subnets.mdx#change-dns-servers-on-private-subnet), [шлюз по умолчанию](/cloud-servers/cloud-networks/private-networks-and-subnets.mdx#change-default-gateway-on-private-subnet), [статические маршруты](/cloud-servers/cloud-networks/static-routes.mdx)), а затем создали в ней файловое хранилище, все настройки на хранилище пропишутся автоматически.

Если сначала вы создали файловое хранилище, а затем изменили сетевые настройки подсети, примените изменения.

1. В [панели управления](https://my.selectel.ru/vpc/default/file-storage/) в верхнем меню нажмите **Продукты** и выберите **Файловое хранилище**.
2. Откройте страницу файлового хранилища → вкладка **Настройки**.
3. Нажмите **Обновить настройки сети**.

<Formbricks />
