2013-03-12 6 views

ответ

2

Я полагаю, что NetworkManager перезаписывает файл /etc/resolv.conf. В моем случае именно порядок, в котором были перечислены мои DNS-серверы, был тем, что я хотел изменить. Это можно сделать через NetworkManager, отредактировав настройки IP4V для подключения.

0

У вас есть клиент DHCP, выполняющий это. Следуйте этим instructions, чтобы переопределить это.

+0

Я пробовал решение, с которым вы связались, но оно не работает. Похоже, что Network Manager делает это, поскольку первая строка в файле /etc/resolv.conf читает: «# Generated by NetworkManager». Как правило, есть ли способ узнать, какие программы редактируют /etc/resolv.conf? – mkhezr

0

Я использую следующую строку: Chattr + я /etc/resolv.conf

отменить использование: Chattr -i /etc/resolv.conf

Позвольте мне знать, если он работал .. .

0

NetworkManager может быть настроен на использование введенных вручную конфигураций IPv4, или получить от DHCP IP/сеть/маршрутизатора только - в таком случае он не должен изменить /etc/resolv.conf

Однако, одна может понадобиться иметь его собственные настройки в /etc/resolv.conf - как сервер имен или домен для поиска; Я просто нужен домен, и я сделал, добавив файл /etc/NetworkManager/dispatcher.d/99my_fix, содержащий:

#!/bin/bash rc=/etc/resolv.conf; le="search my.domain" grep -q domain $rc && ! grep -q "$le" $rc && echo "$le" >> $rc

Конечно, я CHMOD-е изд + х его. NetworkManager вызывает его после установки /etc/resolv.conf, и мой скрипт исправляет его, если это необходимо; первый grep обнаруживает, что сеть встала, вторая, что исправление не было применено - они оба необходимы для исправления.

10

Как вы можете прочитать в заголовке resolv.conf:

Dynamic resolv.conf file for glibc resolver generated by resolvconf 

Таким образом, resolv.conf генерируется, если вы хотите сохранить конфигурацию Resolvconf после перезагрузки, вы должны отредактировать/и т.д. /resolvconf/resolv.conf.d/base. В этом файле введите свою информацию, как в файле resolv.conf.

nameserver 8.8.8.8 

Затем регенерируют resolv.conf с Resolvconf:

sudo resolvconf -u 
2

После прочтения другие ответы, я все еще нужно что-то другое по следующим причинам:

  • Я не использую resolvconf, просто /etc/resolv.conf.
  • Использование chattr +i для блокировки resolv.conf кажется слишком взломанным. Мне нужно, чтобы Puppet был свободен вносить изменения, когда это необходимо.

best solution я нашел переопределяет поведение по умолчанию dhclient используя свои документированные крючки.

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

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

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

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

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

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

0

У меня была такая же проблема, и я редактировал свой файл `/etc/dhcp/dhclient.conf», добавив имя домена и имя домена-серверов

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

192.168.56.103 мой В.М. running bind9 и мое доменное имя local.com

, и я удалил то же самое из раздела request.

0

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

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

supersede domain-name "mydomain.com"; 
supersede domain-search "mydomain.com" 
supersede domain-name-servers 8.8.8.8; 

В данном конкретном случае сервер имен расположен в «8.8.8.8», а доменное имя «mydomain.com». Замените свою конкретную информацию.

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

 Смежные вопросы

  • Нет связанных вопросов^_^