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

17

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

Для изменения параметров DNS я просмотрел Ссылка .

My 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.

    
задан Jakh Saidlikp 18.03.2011 в 18:03
источник

7 ответов

6

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

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

Для статической конфигурации с использованием NetworkManager выберите Automatic (DHCP) addresses only Method и введите адреса и имена доменов в поля Additional DNS servers и Additional search domains в редакторе соединений.

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

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

Для получения дополнительной информации см. статью статьи Стефана Грабера .     

ответ дан Robie Basak 24.01.2013 в 09:55
4

Если вы хотите сохранить DNS-серверы Google в файле resolv.conf, вы можете редактировать /etc/dhcp3/dhclient.conf и добавить:

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

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

Если я что-то не хватает, ваш dhclient.conf здесь не проблема. На этом этапе я предполагаю, что проблема связана с wvdial.

Вот что можно попробовать: ubuntuforums :

gksudo gedit /etc/ppp/peers/wvdial

УДАЛИТЬ параметр usepeerdns и сохранить файл. Код:

gksudo gedit /etc/wvdial.conf

добавьте следующие строки:

check DNS = no
auto DNS = no
    
ответ дан belacqua 18.03.2011 в 21:05
4

Лучший способ установить сервер имен через 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
    
ответ дан Azendale 08.07.2011 в 05:58
0

Вы можете установить параметр domain-name-servers dhclient.conf.

    
ответ дан Adam Byrtek 18.03.2011 в 21:08
0

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

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
    
ответ дан moha 18.07.2012 в 09:36
-1

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

    
ответ дан eFloh 18.03.2011 в 18:47
-1

У меня была такая же проблема, 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 до unlinking it.

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

    
ответ дан nikhil 25.01.2013 в 15:36