Thank you for reading this post, don't forget to subscribe!
Согласно man resolv.conf, resolv.conf – это файл конфигурации резолвера.
Resolver – это набор процедур в библиотеке C, которые обеспечивают доступ к системе доменных имен Интернета (DNS).
Файл предназначен для чтения человеком и содержит список ключевых слов со значениями, которые предоставляют различные типы информации о резолвере.
Файл конфигурации считается надежным источником информации DNS (например, информация о битах AD DNSSEC будет возвращена из этого источника без изменений).
Если этот файл не существует, будет опрошен только сервер имен (nameserver) на локальном компьютере, а список search будет содержать имя локального домена, определенное по имени хоста.
Внесем постоянные изменения DNS в resolv.conf
Внесем постоянные изменения DNS в resolv.conf
Любые изменения, внесенные вручную в файл конфигурации /etc/resolv.conf, обязательно будут перезаписаны при изменениях в сети или перезагрузке системы.
Согласно комментариям, сделанным в файле, файл является динамическим. «DO NOT EDIT THIS FILE BY HAND — YOUR CHANGES WILL BE OVERWRITTEN».
Итак, возьмем, к примеру, если вы хотите добавить DNS-сервер в свой Linux-сервер, вы обычно обновляете этот файл, указывая IP-адрес сервера имен, который должен запрашивать резолвер.
См. Приведенную ниже команду, которая обновляет файл resolv.conf общедоступным первичным DNS-сервером Google DNS, выполнив такую команду:
1 |
echo "nameserver 8.8.8.8" > /etc/resolv.conf |
Использование фреймворка Resolvconf
Resolvconf – это платформа для обновления системной информации о серверах DNS.
Он настраивается как посредник между программами, которые предоставляют эту информацию (такими как ifup и ifdown, DHCP-клиенты, демон PPP и локальные серверы имен) и программами, которые используют эту информацию, такими как кэши DNS и библиотеки resolver).
В дистрибутивах Ubuntu/Debian вы можете установить resolvconf, выполнив команду ниже;
1 |
sudo apt install resolvconf |
После установки фреймворк стартует и запускается при загрузке системы.
Затем отредактируйте файл конфигурации /etc/resolvconf/resolv.conf.d/base и введите настройки DNS.
Пример настройки:
1 |
sudo vim /etc/resolvconf/resolv.conf.d/base |
1 2 3 |
domain itisgood.ru nameserver 8.8.8.8 nameserver 8.8.4.4 |
Затем обновите файл /etc/resolv.conf, чтобы внести постоянные изменения в DNS:
1 |
sudo resolvconf -u |
Обновление настроек DNS-сервера в dhclient.conf
Если вы используете DHCPd для автоматического назначения IP-адреса, отредактируйте файл /etc/dhcp/dhclient.conf и добавьте следующую строку;
supersede domain-name-servers IP1, IP2;
Замените IP1 и IP2 соответствующими IP-адресами DNS:
vim /etc/dhcp/dhclient.conf
supersede domain-name-servers 8.8.8.8, 8.8.4.4;
Сохраните файл и выйдите.
Теперь, если вы запустите dhclient, ваш /etc/resolv.conf будет обновлен с использованием серверов DNS, определенных в dhclient.conf.
Вы можете использовать опцию prepend вместо supersede, чтобы добавить дополнительные IP-адреса к IP-адресу по умолчанию, предоставленному интернет-провайдером.
Больше информации:
man dhclient.conf
Как уcтановить IP-адрес сервера имен в настройках вашего интерфейса.
Отредактируйте файл конфигурации сетевого интерфейса и добавьте адрес сервера имен.
В Ubuntu 18.04/20.04 вы должны обновить файл конфигурации Netplan, например:
1 |
sudo vim /etc/netplan/01-network-manager-all.yaml |
1 2 3 4 5 6 7 8 9 10 |
network: version: 2 renderer: networkd ethernets: wlp0s20f3: dhcp4: no addresses: [192.168.100.80/24] gateway4: 192.168.100.1 nameservers: addresses: [8.8.8.8] |
Мы устанавили DNS на публичный адрес DNS-сервера Google, 8.8.8.8.
В вашем случае все может быть иначе.
Применим изменения:
1 |
sudo netplan apply |