Какие перезаписи/etc/resolv.conf на каждой начальной загрузке?

С жемчугом:

perl -lne 'print for /\((\d+)\)/g'
24
16.12.2014, 10:19
9 ответов

1) Не следует вручную обновлять resolv.conf, так как все изменения будут перезаписаны данными, предоставляемыми вашим локальным DHCP-сервером. Если Вы хотите, чтобы он был статическим, запустите sudo dpkg-reconfigure resolvconf и ответьте "нет" на динамические обновления. Если Вы хотите добавить туда новые записи, отредактируйте /etc/resolvconf/resolv.conf.d/base и запустите sudo resolvconf -u, он добавит Ваши записи и записи DHCP-сервера.

2) Попробуйте отредактировать свои /etc/network/interfaces и добавить туда свои записи, например,

auto eth0 
iface eth0 inet dhcp 
dns-search google.com 
dns-nameservers dnsserverip 

, а затем перезапустите /etc/init.d/networking restart или sudo ifdown -a и sudo ifup -a

3) Ваша система использует udhcp, которая является очень маленькой DHCP клиентской программой. Клиент udhcp договаривается об аренде с DHCP сервером и уведомляет набор скриптов при получении или потере лизинга. Вы можете прочитать об использовании здесь или просто отредактировать этот скрипт (как вы это сделали).

25
27.01.2020, 19:41

Я тоже столкнулся с этим. Комментируя Name-Server Server .

Кроме того, я не использую ResolvConf , просто /etc/resolv.conf .

Я не пытался использовать Chattr + I , чтобы заблокировать resolv.conf , потому что кажется слишком хакей. Кроме того, я хочу, чтобы марионетка была возможность модифицировать resolv.conf при необходимости.

Лучшее решение я обнаружил, что он переопределяет поведение по умолчанию DHClient , используя его документированные крюки.

Создайте новый файл на /etc/dhcp/dhclient-enter-hooks.d/nodnsuppdate со следующим содержимым:

#!/bin/sh
make_resolv_conf() {
    :
}

Затем сделайте исполняемый файл:

chmod +x /etc/dhcp/dhclient-enter-hooks.d/nodnsupdate

теперь, когда DHClient Runs - - либо при перезагрузке или при запуске вручную Sudo ifdown -a; sudo ifup -a - он загружает этот скрипт NodnsUpdate . Этот скрипт переопределяет внутреннюю функцию, называемую make_resolv_conf () , которая обычно перезаписи resolv.conf и вместо этого ничего не делает.

Это работало для меня на Ubuntu 12.04.

4
27.01.2020, 19:41

Ubuntu 16.04 Если сетевые интерфейсы для вашего экземпляра сервера контролируются DHCP, программа dhclient перезапишет ваш файл /etc/resolv.conf при каждом перезапуске сетевой службы.

Вы можете решить эту проблему, отредактировав файл /etc/dhcp/dhclient.conf и добавив операторы замены для имя-домена , поиск домена и серверы доменных имен следующим образом:

supersede domain-name "local.com";
supersede domain-search "local.com";
supersede domain-name-servers 192.168.56.103;

В данном конкретном случае сервер имен расположен по адресу «192.168.56.103», а имя домена - «local.com»

. каждая строка заканчивается точкой с запятой, а имя домена заключено в двойные кавычки.

3
27.01.2020, 19:41

Para hacer que los cambios relacionados con el DNS en resolv.confsean permanentes, debe cambiar el archivo de configuración de DHCP llamado dhclient.conf. Puede encontrar el archivo en /etc/dhcp/dhclient.conf.

Abre el archivo para editarlo (no olvides usar sudo ). Verás líneas como estas:

#supersede domain-name "fugue.com home.vix.com";
#prepend domain-name-servers 127.0.0.1;

Elimine el “#” anterior y use el nombre de dominio -y/o los servidores de nombre de dominio --que desee. Guárdalo. Ahora los cambios relacionados con el DNS serán permanentes (, es decir, dentro del archivo resolv.conf).

Los créditos van a:https://itsfoss.com/resolvconf-permanent-ubuntu/

1
27.01.2020, 19:41

перейти в этот каталог:

  cd /etc/resolvconf/resolv.conf.d

Откройте файл с именем head и поместите туда IP-адреса или имена DNS. Откройте файл с именем tail и поместите туда домен. Перезагрузить.

0
27.01.2020, 19:41

В виртуальных машинах Azure /etc/resolv.confнельзя редактировать напрямую.

Попробуйте добавить записи DNS в файлы конфигурации сети /etc/sysconfig/network-scripts/ifcfg-eth0и т. д., как показано ниже:

DOMAIN=example.com
DNS1=10.*.*.*
DNS2=10.*.*.*
DNS3=10.*.*.*

и перезапустите сетевую службу после сохранения файлов. вы увидите, что конфигурация также будет добавлена ​​в resolve.conf.

1
27.01.2020, 19:41

В Ubuntu 18.04 используется NetworkManager. Вам нужно удалить файл resolv.conf и позволить NetworkManager сгенерировать его для вас.

Чтобы удалить файл в терминале, введите sudo rm -f /etc/resolv.conf; это удалит файл для вас.

Перезагрузите систему, и NetworkManager создаст для вас файл resolv.conf.

-1
27.01.2020, 19:41

Используйте приведенную ниже команду, чтобы предотвратить перезапись resolv.confили любого другого файла после перезагрузки:

chattr -V +i filename e.g chattr -V +i /etc/resolv.conf

Чтобы отменить изменение, используйте приведенную ниже команду:

chattr -i filename - to re-enable insert to the file

chattr(Change Attribute )— это утилита командной строки Linux, которая используется для установки/отмены определенных атрибутов файла в системе Linux для защиты от случайного удаления или изменения важных файлов и папок, даже если вы вошли в систему как пользователь root. Пользователь.

0
27.01.2020, 19:41

Я не использую systemd -, только dhcpcd на виртуальной машине OVH под управлением Arch Linux.

При перезагрузке я всегда получал новый resolv.conf с «доменом openstacklocal» и DNS-сервером OVH. Комментирование -параметров для домена _имени _серверов и поиска домена _в /etc/dhcpcd.conf не помогло.

Наконец-то мне удалось остановить перезапись файла resolv.conf, поместив строку «nohook resolv.conf» в файл /etc/dhcpcd.conf. Я нашел это, прочитав "man dhcpcd.conf".

0
30.10.2021, 22:22

Теги

Похожие вопросы