cp.lv — VPS, выделенные и облачные серверы

cp.lv (LANGMARKET LLP) — хостинг-провайдер: VPS, выделенные и облачные серверы на NVMe с выбором ОС, полным root-доступом и поддержкой 24/7. Тест-период до оплаты: выделенные серверы — 5 дней, VPS и облако — 5 часов.

Contact Info
LANGMARKET LLP
Rīga, Latvija

+371 00 000 000

Follow Us

Личный кабинет

Язык

Как сменить DNS-серверы на VPS: Linux и Windows

Как сменить DNS-серверы на VPS: Linux и Windows

Чтобы сменить DNS на сервере, нужно понять, кто управляет резолвингом: прямое редактирование /etc/resolv.conf, systemd-resolved, netplan или NetworkManager в Linux, либо Set-DnsClientServerAddress в Windows. Правка не того файла часто откатывается автоматически — ниже разберём каждый случай.

Кто управляет DNS в вашей системе

Сначала проверьте, куда указывает resolv.conf:

ls -l /etc/resolv.conf
  • Если это симлинк на ../run/systemd/resolve/stub-resolv.conf — DNS управляет systemd-resolved.
  • Если обычный файл — можно править напрямую (но его может перезаписывать netplan/NetworkManager/cloud-init).

Способ 1. Прямое редактирование resolv.conf

Подходит, когда файл не управляется службами. Откройте его:

sudo nano /etc/resolv.conf

Укажите нужные серверы:

nameserver 1.1.1.1
nameserver 8.8.8.8

Минус: файл могут перезаписать при перезагрузке. Для постоянства используйте способ, соответствующий вашему сетевому менеджеру.

Способ 2. systemd-resolved

Отредактируйте конфиг службы:

sudo nano /etc/systemd/resolved.conf

В секции [Resolve] задайте:

[Resolve]
DNS=1.1.1.1 8.8.8.8
FallbackDNS=9.9.9.9

Перезапустите службу и проверьте:

sudo systemctl restart systemd-resolved
resolvectl status

Способ 3. netplan (Ubuntu)

Если сеть настроена через netplan, DNS задаётся там:

network:
  version: 2
  ethernets:
    ens3:
      nameservers:
        addresses:
          - 1.1.1.1
          - 8.8.8.8

Примените:

sudo netplan apply

Способ 4. Windows Server

В PowerShell от администратора узнайте индекс интерфейса и задайте DNS:

Get-NetAdapter | Format-Table Name, ifIndex
Set-DnsClientServerAddress -InterfaceIndex 12 -ServerAddresses ("1.1.1.1","8.8.8.8")

Проверка:

Get-DnsClientServerAddress -InterfaceIndex 12

Популярные публичные DNS

Провайдер Первичный Вторичный
Cloudflare 1.1.1.1 1.0.0.1
Google 8.8.8.8 8.8.4.4
Quad9 9.9.9.9 149.112.112.112

Способ 5. NetworkManager (nmcli)

На CentOS, RHEL, Fedora и некоторых десктопных Ubuntu сетью управляет NetworkManager. Меняйте DNS через nmcli, иначе правки resolv.conf откатятся.

Посмотрите активные подключения:

nmcli connection show

Задайте DNS для нужного подключения (например System eth0):

sudo nmcli connection modify "System eth0" ipv4.dns "1.1.1.1 8.8.8.8"
sudo nmcli connection modify "System eth0" ipv4.ignore-auto-dns yes
sudo nmcli connection up "System eth0"

Параметр ignore-auto-dns yes запрещает перезаписывать ваши серверы значениями от DHCP.

Очистка кэша DNS

После смены серверов старые ответы могут оставаться в кэше. Очистите его:

sudo resolvectl flush-caches

В Windows:

Clear-DnsClientCache

Как проверить, что DNS сменился

resolvectl status
dig example.com
nslookup example.com

В выводе dig строка SERVER: покажет, какой резолвер реально использовался.

Частые вопросы

Почему resolv.conf возвращается к старому после перезагрузки? Его перезаписывает systemd-resolved, netplan или cloud-init. Меняйте DNS в источнике, который управляет файлом, а не в самом resolv.conf.

Изменения DNS применяются мгновенно? Новые запросы — да. Но уже закэшированные ответы живут до истечения TTL. Очистить кэш: sudo resolvectl flush-caches.

Как выбрать DNS-сервер? Ориентируйтесь на близость и надёжность: Cloudflare (1.1.1.1) и Google (8.8.8.8) стабильны и быстры для большинства регионов.

Можно ли задать свой локальный DNS? Да, укажите IP своего резолвера (например unbound или dnsmasq) как nameserver/DNS=.

Как узнать, какой DNS используется сейчас? resolvectl status в Linux или Get-DnsClientServerAddress в Windows покажут активные серверы.

Разворачиваете и настраиваете собственный сервер? Возьмите VPS на Linux в разделе аренда VPS или закажите Администрирование серверов.

Эдгарс Калейс

Эдгарс Калейс

Технический директор (CTO). Проектирует серверную платформу на NVMe и отвечает за производительность и надёжность инфраструктуры.