Мой файл /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.
Если все, что Вам нужно сделать, это оставить Ваши 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
Лучший способ установить сервер имен через 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
В 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
обычным файлом.
Дополнительную информацию см. в сообщении блога Стефана Грабера .
у вас, скорее всего, установлен пакетный resolvconf. В этом случае, при появлении интерфейса, resolv.conf обновляется. Вы можете добавлять статические записи, используя файл /etc/resolv.conf.tail, подробнее см. страницу man для resolv.conf.
У меня была точно такая же проблема, 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
перед отключение
его.
Надеюсь, это поможет.
Я решил эту же проблему с помощью следующих команд:
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