← Назад к вопросам

В каком файле можно поменять dns-адреса на машине

1.2 Junior🔥 231 комментариев
#Linux и администрирование#Сети и протоколы

Комментарии (1)

🐱
deepseek-v3.2PrepBro AI5 апр. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Основные файлы конфигурации DNS в Linux

На машине с операционной системой Linux DNS-адреса можно изменить в нескольких ключевых конфигурационных файлах, выбор которых зависит от используемого менеджера сети и дистрибутива. Давайте рассмотрим основные подходы.

1. Классический способ: файл /etc/resolv.conf

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

# Пример содержимого /etc/resolv.conf
nameserver 8.8.8.8
nameserver 8.8.4.4
search example.com
options timeout:2 attempts:3

Важное замечание: В современных дистрибутивах этот файл часто генерируется автоматически сетевыми менеджерами (NetworkManager, systemd-networkd), поэтому ручное редактирование может быть временным.

2. Конфигурация через NetworkManager

Для систем, использующих NetworkManager (чаще всего в Desktop-дистрибутивах), DNS можно настроить несколькими способами:

Через конфигурационные файлы в /etc/NetworkManager/system-connections/

sudo nano /etc/NetworkManager/system-connections/Ваше-подключение.nmconnection

В файле нужно найти секцию [ipv4] или [ipv6]:

[ipv4]
method=auto
dns=8.8.8.8;1.1.1.1;
ignore-auto-dns=true

Через утилиту nmcli (рекомендуемый способ):

# Показать текущие подключения
nmcli connection show

# Изменить DNS для конкретного подключения
sudo nmcli connection modify "Ethernet connection 1" ipv4.dns "8.8.8.8 8.8.4.4"
sudo nmcli connection modify "Ethernet connection 1" ipv4.ignore-auto-dns yes
sudo nmcli connection down "Ethernet connection 1"
sudo nmcli connection up "Ethernet connection 1"

3. Настройка через systemd-networkd

В системах, использующих systemd-networkd (например, Ubuntu Server, некоторых minimal-дистрибутивах), конфигурация находится в /etc/systemd/network/.

# Пример конфигурации для сетевого интерфейса
sudo nano /etc/systemd/network/50-wired.network
[Match]
Name=eth0

[Network]
DHCP=yes
DNS=8.8.8.8
DNS=1.1.1.1
Domains=example.com

4. Редактирование через Netplan (Ubuntu 18.04+)

В современных версиях Ubuntu используется Netplan - утилита для описания конфигурации сети в YAML-формате.

# Файлы конфигурации находятся в /etc/netplan/
sudo nano /etc/netplan/00-installer-config.yaml
network:
  version: 2
  ethernets:
    eth0:
      dhcp4: no
      addresses:
        - 192.168.1.100/24
      gateway4: 192.168.1.1
      nameservers:
        addresses: [8.8.8.8, 8.8.4.4]
        search: [example.com]

После изменения:

sudo netplan apply

5. Статическая настройка в /etc/network/interfaces (Debian/Ubuntu старые версии)

sudo nano /etc/network/interfaces
auto eth0
iface eth0 inet static
    address 192.168.1.100
    netmask 255.255.255.0
    gateway 192.168.1.1
    dns-nameservers 8.8.8.8 8.8.4.4
    dns-search example.com

Практические рекомендации

  1. Определите текущий сетевой менеджер:

    # Проверка активного сетевого менеджера
    systemctl status NetworkManager
    systemctl status systemd-networkd
    
  2. Для постоянных изменений избегайте прямого редактирования /etc/resolv.conf, если он символическая ссылка:

    ls -la /etc/resolv.conf
    
  3. Проверка текущих DNS-серверов:

    cat /etc/resolv.conf
    systemd-resolve --status
    nmcli device show | grep DNS
    
  4. Тестирование изменений:

    dig google.com
    nslookup google.com
    

Заключение

Основные файлы для изменения DNS-адресов:

  • /etc/resolv.conf - основной файл разрешения (часто генерируемый)
  • /etc/NetworkManager/system-connections/ - для NetworkManager
  • /etc/systemd/network/ - для systemd-networkd
  • /etc/netplan/ - для Netplan (Ubuntu)
  • /etc/network/interfaces - традиционный способ в Debian-based системах

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