В каком файле можно поменять dns-адреса на машине
Комментарии (1)
Ответ сгенерирован нейросетью и может содержать ошибки
Основные файлы конфигурации 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
Практические рекомендации
-
Определите текущий сетевой менеджер:
# Проверка активного сетевого менеджера systemctl status NetworkManager systemctl status systemd-networkd -
Для постоянных изменений избегайте прямого редактирования
/etc/resolv.conf, если он символическая ссылка:ls -la /etc/resolv.conf -
Проверка текущих DNS-серверов:
cat /etc/resolv.conf systemd-resolve --status nmcli device show | grep DNS -
Тестирование изменений:
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-резолвинга.