Почему мой файл resolv.conf восстанавливается каждый раз?

Мой файл /etc/resolv.conf обновляется каждый раз, что приводит к потере DNS-серверов Google при повторном подключении модема 3G.

Чтобы изменить настройки DNS, я посмотрел http://code.google.com/intl/fr-FR/speed/public-dns/docs/using.html .

Мой dhclient.conf довольно большой (58 строк), поэтому я разместил его на pastebin .

Однако, здесь все dhclient.conf без строк комментариев или пустых строк:

option rfc3442-classless-static-routes code 121 = array of unsigned integer 8;
send host-name "<hostname>";
request subnet-mask, broadcast-address, time-offset, routers,
    domain-name, domain-name-servers, domain-search, host-name,
    netbios-name-servers, netbios-scope, interface-mtu,
    rfc3442-classless-static-routes, ntp-servers;
prepend domain-name-servers 8.8.8.8, 8.8.4.4;

Я использую wvdial вместо Network Manager.

17
задан 7 April 2011 в 06:47

7 ответов

Если все, что Вам нужно сделать, это оставить Ваши DNS-серверы Google в системе resolv.conf. conf, вы можете отредактировать
/etc/dhcp3/dhclient.conf и добавить :

prepend domain-name-servers 8.8.8.8;
prepend domain-name-servers 8.8.4.4;

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

Если только я ничего не упускаю, ваше dhclient.conf здесь не проблема. На данный момент, я предполагаю, что проблема связана с Вивдиалом.

Есть кое-что, что можно попробовать, из ubuntuforums:

gksudo gedit /etc/ppp/peers/wvdial

REMOVE usepeerdns параметра и сохранить файл. Код:

gksudo gedit /etc/wvdial.conf

добавить эти строки:

check DNS = no
auto DNS = no
4
ответ дан 7 April 2011 в 06:47

Вы можете установить опцию dhclient.conf.

0
ответ дан 7 April 2011 в 06:47

Лучший способ установить сервер имен через CLI, без NetworkManger, со статическим адресом или независимо от соединения:

Установите пакет resolvconf .

Выполните

sudo nano /etc/resolvconf/resolv.conf.d/head

(игнорируйте страшное предупреждение. /etc/resolv.conf создается автоматически, поэтому предупреждение есть, поэтому оно будет помещено в /etc/resolv.conf при создании /etc/resolv.conf.) В конец файла добавьте

 nameserver <ip_of_nameserver>

Нажмите Ctrl x и ответьте "да" на сохранение файла. Чтобы закончить, повторно сгенерируйте /etc/resolv.conf, чтобы изменения вступили в силу прямо сейчас:

 sudo resolvconf -u
4
ответ дан 7 April 2011 в 06:47

В 12.04 resolvconf устанавливается по умолчанию. Вот краткое описание того, как внести изменения в конфигурацию DNS для некоторых распространенных случаев использования:

Для статической конфигурации с использованием ifup используйте dns-nameservers и dns- найдите записи в / etc / network / interfaces .

Для статической конфигурации с использованием NetworkManager выберите Только автоматический (DHCP) адрес Метод и введите адреса и имена доменов в поля Дополнительные DNS-серверы и Дополнительные поисковые домены в редакторе подключений.

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

Отключение resolvconf не рекомендуется, но вы можете заменить символическую ссылку /etc/resolv.conf обычным файлом.

Дополнительную информацию см. в сообщении блога Стефана Грабера .

6
ответ дан 7 April 2011 в 06:47

у вас, скорее всего, установлен пакетный resolvconf. В этом случае, при появлении интерфейса, resolv.conf обновляется. Вы можете добавлять статические записи, используя файл /etc/resolv.conf.tail, подробнее см. страницу man для resolv.conf.

-1
ответ дан 7 April 2011 в 06:47

У меня была точно такая же проблема, DNS-сервер, который предоставляет мой мобильный провайдер, был довольно плохим, поэтому я хотел использовать DNS Google. Также NetworkManager плохо справляется с обработкой мобильных широкополосных подключений, поэтому wvdial является необходимостью.

Как оказалось, /etc/resolv.conf является символической ссылкой в ​​ ubuntu 12.10 и, возможно, даже 12.04 . Вот что я сделал sudo unlink /etc/resolv.conf после этого вы можете создать новый resolv.conf с помощью vim или редактора по вашему выбору и добавить серверы имен Google или любой другой другие предпочитаемые вами серверы имен. Сохраните его, и все готово.

Если вы боитесь что-то сломать, вы можете записать существующую символическую ссылку, выполнив ls -la /etc/resolv.conf перед отключение его.

Надеюсь, это поможет.

-1
ответ дан 7 April 2011 в 06:47

Я решил эту же проблему с помощью следующих команд:

echo "nameserver 212.217.0.1" >> /etc/resolvconf/resolv.conf.d/head
ln -s /etc/resolvconf/resolv.conf.d/head /etc/resolv.conf
resolvconf -u
/etc/init.d/networking restart
0
ответ дан 7 April 2011 в 06:47

Другие вопросы по тегам:

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