---
title: "Создать приватную сеть и подсеть через Terraform"
sidebar_label: "Создать приватную сеть и подсеть"
description: "Как создать приватную сеть и подсеть"
sidebar_position: 1
---

import Formbricks from '@theme/MDXComponents/Formbricks'
import Tabs from '@theme/Tabs'
import TabItem from '@theme/TabItem'
import ConfigureProviders from '@site/terraform/_partials/common/configure-providers.mdx'
import ConfigureProvidersConfig from '@site/terraform/_partials/common/configure-providers-config.mdx'
import CreateResourcesAlert from '@site/terraform/_partials/common/create-resources-alert.mdx'
import {TabItemLabel} from '@selectel/docux/components'

# Создать приватную сеть и подсеть через Terraform

<CreateResourcesAlert />

<br />

1. Опционально: [настройте провайдеры](#configure-providers).
2. [Создайте приватную сеть и подсеть](#create-networks).

## Конфигурационные файлы \{#config}

<details>
  <summary>Пример файла для настройки провайдеров</summary>

  <ConfigureProvidersConfig />
</details>

<details>
  <summary>Пример файла для создания для приватной сети и подсети с DHCP</summary>

  ```hcl
  resource "openstack_networking_network_v2" "network_1" {
    name           = "private-network"
    admin_state_up = "true"
  }

  resource "openstack_networking_subnet_v2" "subnet_1" {
    name       = "private-subnet"
    network_id = openstack_networking_network_v2.network_1.id
    cidr       = "192.168.199.0/24"
  }
  ```
</details>

<details>
  <summary>Пример файла для создания для приватной сети и подсети без DHCP</summary>

  ```hcl
  resource "openstack_networking_network_v2" "network_1" {
    name           = "private-network"
    admin_state_up = "true"
  }

  resource "openstack_networking_subnet_v2" "subnet_1" {
    name        = "private-subnet"
    network_id  = openstack_networking_network_v2.network_1.id
    cidr        = "192.168.199.0/24"
    enable_dhcp = false
  }
  ```
</details>

## 1. Опционально: настроить провайдеры \{#configure-providers}

Если вы [настроили провайдеры](/terraform/configure-terraform-environment/#configure-providers) Selectel и OpenStack, пропустите этот шаг.

<ConfigureProviders />

## 2. Создать приватную сеть и подсеть \{#create-networks}

<Tabs>
  <TabItem value="dhcpon" default>
    <TabItemLabel>
      DHCP включен
    </TabItemLabel>

    При включении DHCP в подсети автоматически создаются два порта для основного и резервного DHCP-серверов, для них резервируется два IP-адреса.

    ```hcl
    resource "openstack_networking_network_v2" "network_1" {
      name           = "private-network"
      admin_state_up = "true"
    }

    resource "openstack_networking_subnet_v2" "subnet_1" {
      name       = "private-subnet"
      network_id = openstack_networking_network_v2.network_1.id
      cidr       = "192.168.199.0/24"
    }
    ```

    Здесь `cidr` — CIDR приватной подсети, например `192.168.199.0/24`.

    Посмотрите подробное описание ресурсов:

    * [openstack\_networking\_network\_v2](/terraform/openstack-provider-reference/networking-neutron/resources/openstack_networking_network_v2/);
    * [openstack\_networking\_subnet\_v2](/terraform/openstack-provider-reference/networking-neutron/resources/openstack_networking_subnet_v2/).
  </TabItem>

  <TabItem value="dhcpoff">
    <TabItemLabel>
      DHCP выключен
    </TabItemLabel>

    ```hcl
    resource "openstack_networking_network_v2" "network_1" {
      name           = "private-network"
      admin_state_up = "true"
    }

    resource "openstack_networking_subnet_v2" "subnet_1" {
      name        = "private-subnet"
      network_id  = openstack_networking_network_v2.network_1.id
      cidr        = "192.168.199.0/24"
      enable_dhcp = false
    }
    ```

    Здесь `cidr` — CIDR приватной подсети, например `192.168.199.0/24`.

    Посмотрите подробное описание ресурсов:

    * [openstack\_networking\_network\_v2](/terraform/openstack-provider-reference/networking-neutron/resources/openstack_networking_network_v2/);
    * [openstack\_networking\_subnet\_v2](/terraform/openstack-provider-reference/networking-neutron/resources/openstack_networking_subnet_v2/).
  </TabItem>
</Tabs>

<Formbricks />
