Изменения в /etc/resolv.conf отменяются при подключении к новой сети

Недавно я обновился до 12.10 с 12.04, и у меня возникли проблемы с подключением к Интернету.

Я получил IP-адрес и могу пинговать другие IP-адреса локальной сети в локальной сети, но не могу подключиться к Интернету и даже не могу пинговать www.google.com из терминала.

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

Может ли кто-нибудь предложить решение этой проблемы?

3
задан 11 November 2012 в 03:21

4 ответа

Согласно заголовку в /etc/resolv.conf:

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN

Попробуйте внести изменения в

/etc/resolvconf/resolv.conf.d/base, и они должны добавляться в /etc/resolv.conf при перезаписи каждые 15 минут.

0
ответ дан 11 November 2012 в 03:21

Вот общая процедура, которая исправляет несколько известных ошибок в обработке информации о сервере имен.

Установлен resolvconf? Если так, то сделайте следующее.

sudo dpkg-reconfigure resolvconf

Если он не установлен, выполните следующее.

sudo apt-get install resolvconf

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

Если служба имен все еще не работает, и вы используете NetworkManager для управления сетью, откройте /etc/NetworkManager/NetworkManager.conf в редакторе и закомментируйте строку «dns = dnsmasq». Чтобы закомментировать это, поставьте символ «#» в начале строки.

gksudo gedit /etc/NetworkManager/NetworkManager.conf

Далее зайдите в редактор соединений и убедитесь, что соединение, которое вы используете, правильно настроено. Например, чаще всего «индикатор сети | Редактировать соединения ... | Проводное | Проводное соединение 1 | Редактировать ... | Настройки IPv4 | Метод» имеет значение «Автоматически (DHCP)», а адреса «Дополнительный DNS-сервер» не установлены.

Затем перезапустите сетевой менеджер.

sudo restart network-manager

Теперь подтвердите, что ожидаемый адрес (а) сервера имен указан в /etc/resolv.conf.

.

Если вы не используете NetworkManager для настройки интерфейсов и используете ifup, отредактируйте /etc/network/interfaces и добавьте строки dns-nameservers и dns-search в соответствующий раздел iface по мере необходимости. Убедитесь, что /etc/resolvconf/resolv.conf.d/head содержит только строки комментариев, а /etc/resolvconf/resolv.conf.d/base и /etc/resolvconf/resolv.conf.d/tail отсутствуют или пусты , Затем ifdown и ifup интерфейс. Убедитесь, что адрес (-ы) сервера имен, который вы добавили в / etc / network / interfaces, теперь отображаются в /etc/resolv.conf.

.

Если служба имен по-прежнему не работает, то, скорее всего, существует локальная проблема: например, неправильно настроенный DHCP-сервер. Другая известная причина проблем - сторонние VPN-клиенты, которые удаляют символическую ссылку /etc/resolv.conf. Если ваша локальная сеть работает нормально, и вы не используете стороннее сетевое программное обеспечение, отправьте отчет об ошибке в NetworkManager или resolvconf, в зависимости от того, что вы считаете более вероятным виновником.

0
ответ дан 11 November 2012 в 03:21

Я боролся с DNS сам и отправил вопрос и решение его, которое перечисляет некоторые способы, которыми можно изменить настройки DNS. В основном существует два пути - любое редактирование любой из 3 файлов в /etc/resolvconf/resolv.conf.d/ или редактирование /etc/dhcp/dhclient.conf. Я лично предпочитаю первый.

Рев является некоторыми методами, я обращаюсь к своей человечности и системам Linux Mint. Используйте в своем discression.

/etc/dhcp/dhclient.conf

Я запущу с этого, так как другие уже покрыли resolv.conf файлы. Что Вы видите, что рев является частью этого файла. Взгляд выравнивает 18, который говорит prepent name server . Это добавит Ваш указанный DNS к настройкам, какое соединение Вы используете.

1 # Конфигурационный файл для/sbin/dhclient, который включен в Debian

 2  #       dhcp3-client package.
 3  #
 4  # This is a sample configuration file for dhclient. See dhclient.conf's
 5  #       man page for more information about the syntax of this file
 6  #       and a more comprehensive list of the parameters understood by
 7  #       dhclient.
 8  #
 9  # Normally, if the DHCP server provides reasonable information and does
10  #       not leave anything out (like the domain name, for example), then
11  #       few changes must be made to this file, if any.
12  #

13  option rfc3442-classless-static-routes code 121 = array of unsigned integer 8;

14  #send host-name "andare.fugue.com";
15  send host-name = gethostname();
16  #send dhcp-client-identifier 1:0:a0:24:ab:fb:9c;
17  #send dhcp-lease-time 3600;
18  #supersede domain-name "fugue.com home.vix.com";
19  #prepend domain-name-servers 127.0.0.1;
20  prepend domain-name-servers 208.67.220.220;
21  request subnet-mask, broadcast-address, time-offset, routers,
22          domain-name, domain-name-servers, domain-search, host-name,
23          dhcp6.name-servers, dhcp6.domain-search,
24          netbios-name-servers, netbios-scope, interface-mtu,
25          rfc3442-classless-static-routes, ntp-servers,
26          dhcp6.fqdn, dhcp6.sntp-servers;
27  #require subnet-mask, domain-name-servers;
28  #timeout 60;
29  #retry 60;
30  #reboot 10;
31  #select-timeout 5;
32  #initial-interval 2;
33  #script "/etc/dhcp3/dhclient-script";
34  #media "-link0 -link1 -link2", "link0 link1";
35  #reject 192.33.137.209;

36  #alias {
37  #  interface "eth0";

/etc/resolvconf/resolv.conf.d/

Текст от любого из 3 будет добавлен к /etc/resolv.conf, таким образом, я не думаю, что это имеет значение, какой Вы выбираете. Я использовал бы tail, лично. Просто откройте его с любым текстовым редактором и добавьте nameserver 8.8.8.8 , где 8.8.8.8 общедоступный DNS Google, но можно использовать любой DNS, Вам нравится.

Маленькая подсказка

В /etc/Network-Manager/Network-Manager.conf Я предлагаю, чтобы Вы прокомментировали dns=dnsmasq строка, которая является плагином для администратора сети, который переходит автоматически к ближайшему/самому легкому для достижения DNS, который не мог бы быть тем, что Вы хотите, если Вы хотите передачей DNS сети, и используют Ваше собственное.

Примечание стороны: то, что resolv.conf переписывается, на самом деле нормально - он делает так после каждого нового соединения на моей машине также. В то время как я не могу ответить, почему, мое предположение - то, что NetworkManager получает арендный договор dhcp от локального соединения и использует настройки того локального соединения, DNS, и безотносительно, таким образом, resolv.conf должен быть адаптирован к этому.

0
ответ дан 11 November 2012 в 03:21

ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ! Следование этому ответу может вызвать непредвиденные проблемы, если ваши DNS-серверы управляются как часть сетевого менеджера - хотя это заставит использовать DNS-серверы Вы хотите выше системы dnsmasq и DNS-серверов в настройках сетевого менеджера, он сделает это для всего . Кроме того, некоторые сети и / или соединения могут требовать от использования их DNS-серверов для выхода в Интернет с разрешением проблем.

Отредактируйте /etc/resolvconf/resolv.conf.d/head и добавьте сюда запись nameserver 1.2.3.4.

Это работает 14.04 даже при установке на рабочем столе. Я знаю это, потому что у меня есть локально работающий DNS-сервер (через bind9) на моем ноутбуке локально для разрешения локальной зоны (так как я много работаю с виртуальными машинами), и возникает необходимость сначала запросить мой локальный DNS, прежде всего остальное .

0
ответ дан 11 November 2012 в 03:21

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

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