---
title: "General information about private DNS"
sidebar_label: "General information"
sidebar_position: 1
description: "Basic information about private DNS: operating principle, record types, cost"
---

import Formbricks from '@theme/MDXComponents/Formbricks'
import { CustomTable } from '@selectel/docux/components';

# General information about private DNS

Private DNS is a service for managing port domain names in private networks of the cloud platform. It allows you to address cloud servers and Managed Kubernetes cluster nodes in private networks using domain names, and also resolve public domains.

This service cannot be used as a public DNS service. If you need public DNS, use [DNS hosting](/dns-hosting/).

Private DNS can also be used for [dedicated servers](/dedicated/), more details can be found in the guide [\[Set up DNS in a dedicated server private network\]](/dedicated/networks/configure-private-dns.mdx).

You can work with the service in the [control panel](https://my.selectel.ru/vpc/default/private-dns/), using the [API](/api/private-dns/), and [Terraform](/terraform/).

The service supports [user roles and permissions](/access-control/access-management.mdx).

Records of private DNS operations are saved in [audit logs](/audit-logs/events.mdx#vpc).

## Operating principle \{#principle-of-operation}

Network resource records are stored in a private DNS zone. You create the zone and records manually. For records of [type](#record-types) A and AAAA, you can enable automatic updates; to do this, you need to [add the network to the zone](/cloud-servers/private-dns/manage-network-dns-setting.mdx#add-network-to-dns-zone). You can add multiple networks to one zone. If a network is added to a zone, A and AAAA records will be created and updated automatically when ports are created or modified in the network. In the Control Panel, such records are displayed with the Auto label.

To allow devices in a private network to resolve domain names from private DNS zones, you must [connect the network to a DNS resolver](/cloud-servers/private-dns/manage-network-dns-setting.mdx#connect-network-to-dns-resolver). Networks connected to the DNS resolver have access to records of all private DNS zones within their [pool](/infrastructure/locations.mdx#pool) and [project](/access-control/projects/). Connecting a network to the DNS resolver does not automatically provide access to servers in another private network via domain names — the networks must be connected at the L3 level, for example using a [global router](/global-router/).

To allow devices in a private network to resolve public domains, you must connect the network to a DNS resolver and enable a recursor for it — a recursive search function. The subnet where the device is located must have internet access.

Each network in a pool is served by two DNS resolvers located in the same pool but on different hardware. When a network is connected to the DNS resolver, two service ports for the resolvers are created in it. If one of the DNS resolvers fails, the other will continue to handle requests. In a [multi-zone pool](/infrastructure/locations.mdx#multi-az-pool), DNS resolvers are located in different [availability zones](/infrastructure/locations.mdx#availability-zone): if a data center in one of the availability zones fails completely, the other will continue to operate.

The DNS service operates independently of the subnet DHCP settings — DNS resolver IP addresses are not configured on devices automatically, even if DHCP is enabled in the network. When connecting a network to the DNS resolver, you must manually specify the resolver IP addresses in the subnet settings.

### Available private DNS record types \{#record-types}

<CustomTable>
  <table>
    <tbody>
      <tr>
        <th>A</th><td>Maps a domain name to an IPv4 network server IP address</td>
      </tr>

      <tr>
        <th>AAAA</th><td>Maps a domain name to an IPv6 network server IP address</td>
      </tr>

      <tr>
        <th>MX</th><td>Points to a server for receiving incoming mail for a domain. If a domain has multiple mail servers, an MX record must be created for each server, specifying the priority for load balancing</td>
      </tr>

      <tr>
        <th>TXT</th><td>Contains any text information that needs to be added to the domain settings. For example, it can store a DKIM key for outgoing email newsletters</td>
      </tr>

      <tr>
        <th>CNAME</th><td>Maps an additional domain to a primary (canonical) domain so that both lead to the IP address of the primary domain. A CNAME record cannot be added for second-level domains. A domain with a CNAME record cannot have other resource records</td>
      </tr>
    </tbody>
  </table>
</CustomTable>

## Limits \{#limitations}

Within a single [pool](/infrastructure/locations.mdx#pool) in a [project](/access-control/projects/) you can:

* connect no more than 10 networks to a private DNS resolver;
* create no more than 100 DNS zones.

The maximum number of DNS records in a zone is 1000.

The domain name resolution request processing speed is 5 000 RPS. Resolution time for a single request:

* for private domains — no more than 1 ms;
* for public domains — no more than 1 ms for cached domains.

## Pricing \{#price}

You can create DNS zones and records in them for free.

Connecting a network to a private DNS resolver is a paid service. You can view connection prices at [selectel.ru](https://selectel.ru/prices/).

<Formbricks />
