Как я могу изменить DNS-серверы? [dубликат]

Я подозреваю, что сервер имен, предоставленный моим модемом ADSL / маршрутизатором, не работает. Всякий раз, когда я впервые просматриваю сайт в ubuntu, разрешение имени домена занимает не менее 15 секунд.

Чтобы обойти эту проблему, я изменил конфигурацию сервера имен в /etc/resolv.conf с 192.168.1.1 ( мой ADSL-модем) до 8.8.8.8 (основной DNS Google). Это, кажется, устраняет проблему, но, к сожалению, мои изменения в /etc/resolv.conf перезаписываются «NetworkManager» при каждом запуске.

Каков правильный способ настройки IP-адреса сервера имен в ubuntu 10.4?

46
задан 16 August 2010 в 15:20

88 ответов

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

Щелкните правой кнопкой мыши значок сетевого менеджера на панели и выберите «Редактировать соединения ...» Выберите ваше соединение из на вкладке проводной или беспроводной сети выберите «Изменить» (введите пароль, если соединение установлено как «доступное для всей системы»). Выберите вкладку «Настройки IPv4». Метод переключения «Только для адресов (DHCP)». Введите сервер имен, который вы хотите в в поле «Дополнительные DNS-серверы» и нажмите «Применить»

Это должно сделать трюк.

43
ответ дан 25 July 2018 в 20:24
  • 1
    Это продолжает работать в Ubuntu 12.04 и более поздних версиях, хотя NetworkManager теперь использует resolvconf для обработки resolv.conf. – jdthood 7 December 2012 в 14:25
  • 2
    Если вам интересно, где заканчивается конфигурация, посмотрите /etc/NetworkManager/system-connections/ (вам понадобятся права администратора для доступа к этим файлам конфигурации). – Lekensteyn 21 March 2014 в 16:02
  • 3
    Это только изменяет dns для текущего соединения, но есть ли способ для глобального DNS-изменения ? – rubo77 28 April 2015 в 23:43
  • 4
    список пуст для меня. что он использует по умолчанию? – J. Taylor 15 June 2018 в 12:21

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

Щелкните правой кнопкой мыши значок сетевого менеджера на панели и выберите «Редактировать соединения ...» Выберите ваше соединение из на вкладке проводной или беспроводной сети выберите «Изменить» (введите пароль, если соединение установлено как «доступное для всей системы»). Выберите вкладку «Настройки IPv4». Метод переключения «Только для адресов (DHCP)». Введите сервер имен, который вы хотите в в поле «Дополнительные DNS-серверы» и нажмите «Применить»

Это должно сделать трюк.

43
ответ дан 31 July 2018 в 12:42

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

  1. Щелкните правой кнопкой мыши значок сетевого менеджера на панели и выберите «Изменить соединения ...» [ ! d0]
  2. Выберите соединение с проводной или беспроводной вкладкой, выберите «Изменить»
  3. (введите пароль, если соединение установлено как «доступное в системе»)
  4. Выберите вкладку параметров IPv4
  5. Переключите метод только на «Автоматические (DHCP) адреса»
  6. Введите нужный сервер имен в поле «Дополнительные DNS-серверы» и нажмите «Применить» [ ! d5]

Это должно сделать трюк.

43
ответ дан 2 August 2018 в 02:16

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

  1. Щелкните правой кнопкой мыши значок сетевого менеджера на панели и выберите «Изменить соединения ...» [ ! d0]
  2. Выберите соединение с проводной или беспроводной вкладкой, выберите «Изменить»
  3. (введите пароль, если соединение установлено как «доступное в системе»)
  4. Выберите вкладку параметров IPv4
  5. Переключите метод только на «Автоматические (DHCP) адреса»
  6. Введите нужный сервер имен в поле «Дополнительные DNS-серверы» и нажмите «Применить» [ ! d5]

Это должно сделать трюк.

43
ответ дан 4 August 2018 в 17:56

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

  1. Щелкните правой кнопкой мыши значок сетевого менеджера на панели и выберите «Изменить соединения ...» [ ! d0]
  2. Выберите соединение с проводной или беспроводной вкладкой, выберите «Изменить»
  3. (введите пароль, если соединение установлено как «доступное в системе»)
  4. Выберите вкладку параметров IPv4
  5. Переключите метод только на «Автоматические (DHCP) адреса»
  6. Введите нужный сервер имен в поле «Дополнительные DNS-серверы» и нажмите «Применить» [ ! d5]

Это должно сделать трюк.

43
ответ дан 6 August 2018 в 02:29

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

  1. Щелкните правой кнопкой мыши значок сетевого менеджера на панели и выберите «Изменить соединения ...» [ ! d0]
  2. Выберите соединение с проводной или беспроводной вкладкой, выберите «Изменить»
  3. (введите пароль, если соединение установлено как «доступное в системе»)
  4. Выберите вкладку параметров IPv4
  5. Переключите метод только на «Автоматические (DHCP) адреса»
  6. Введите нужный сервер имен в поле «Дополнительные DNS-серверы» и нажмите «Применить» [ ! d5]

Это должно сделать трюк.

43
ответ дан 7 August 2018 в 20:05

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

  1. Щелкните правой кнопкой мыши значок сетевого менеджера на панели и выберите «Изменить соединения ...» [ ! d0]
  2. Выберите соединение с проводной или беспроводной вкладкой, выберите «Изменить»
  3. (введите пароль, если соединение установлено как «доступное в системе»)
  4. Выберите вкладку параметров IPv4
  5. Переключите метод только на «Автоматические (DHCP) адреса»
  6. Введите нужный сервер имен в поле «Дополнительные DNS-серверы» и нажмите «Применить» [ ! d5]

Это должно сделать трюк.

43
ответ дан 10 August 2018 в 08:28

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

  1. Щелкните правой кнопкой мыши значок сетевого менеджера на панели и выберите «Изменить соединения ...» [ ! d0]
  2. Выберите соединение с проводной или беспроводной вкладкой, выберите «Изменить»
  3. (введите пароль, если соединение установлено как «доступное в системе»)
  4. Выберите вкладку параметров IPv4
  5. Переключите метод только на «Автоматические (DHCP) адреса»
  6. Введите нужный сервер имен в поле «Дополнительные DNS-серверы» и нажмите «Применить» [ ! d5]

Это должно сделать трюк.

43
ответ дан 15 August 2018 в 20:34
  • 1
    Это продолжает работать в Ubuntu 12.04 и более поздних версиях, хотя NetworkManager теперь использует resolvconf для обработки resolv.conf. – jdthood 7 December 2012 в 14:25
  • 2
    Если вам интересно, где заканчивается конфигурация, посмотрите на / etc / NetworkManager / system-connections / (вам понадобятся права администратора для доступа к этим файлам конфигурации). – Lekensteyn 21 March 2014 в 16:02
  • 3
    Это только изменяет dns для текущего соединения, но есть ли способ для глобального DNS-изменения ? – rubo77 28 April 2015 в 23:43
  • 4
    список пуст для меня. что он использует по умолчанию? – J. Taylor 15 June 2018 в 12:21

Лучший способ установить сервер имен через 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
26
ответ дан 25 July 2018 в 20:24
  • 1
    По какой-то причине около месяца назад моя ночная сборка Xubuntu прекратила разрешать имена хостов LAN. Мой сервер DHCP должен сам выдавать себя (192.168.68.1) в качестве DNS-сервера, я также жестко закодировал его в Network Manager и во всех местах (упомянутый выше этот ответ). С учетом того, как Xubuntu / NetworkMan / Whatever использует 127.0.x.x IP в эти дни, трудно диагностировать проблему. Я мог бы разрешить внешние IP-адреса, поэтому он получал SOMETHING для DNS. Во всяком случае, это был единственный ответ, который разрешил мою проблему. благодаря – Adam Plocher 18 December 2016 в 05:41

Я обнаружил, что добавление строки dns-nameserver ip в файл интерфейсов, установление параметров подключения ipv4 для проводного подключения только к параметрам Automatic (DHCP) и ввод IP-адреса и доменного имени DNS-сервера. Кроме того, добавление локального DNS-IP в статический раздел DNS-маршрутизатора DSL приводит к тому, что NetworkManager должен включать этот локальный адрес в файл resolv.conf, который он перезаписывает вместе с другой информацией, полученной от маршрутизатора. Все это вместе, похоже, делает локальное разрешение имен DNS постоянным - кажется удивительно сложной задачей. Моя потребность в локальном DNS заключается в установке клиента Linux на общий ресурс Samba с использованием mount.cifs в обслуживаемой DHCP сети.

0
ответ дан 25 July 2018 в 20:24

Для безголовых серверов, где нет X, а управление осуществляется через ssh или что-то еще, требуется решение командной строки. Если resolv.conf не перезаписывается, это правильное место для изменения серверов имен.

Если resolv.conf перезаписывается, то, по крайней мере, 14.04LTS, файлы для редактирования:

/etc/resolvconf/resolv.conf.d/head /etc/resolvconf/resolv.conf.d/tail

Я настоятельно рекомендую помещать строки комментариев в такие файлы, чтобы они отображались в (/etc/resolve.conf), и вы можете найти их в будущем. Я начинаю и заканчиваю каждый файл однострочным комментарием формы:

/etc/resolvconf/resolv.conf.d/head # ====== end /etc/resolveconf/resolv.d/tail ======

и поместите соответствующие директивы между ними.

0
ответ дан 25 July 2018 в 20:24

Если Network-Manager остановлено и /etc/resolvconf/resolv.conf.d/base настроен.

Возможно resolvconf --enable-updates полезна.

0
ответ дан 25 July 2018 в 20:24

Нажмите на индикатор сети в правом верхнем углу экрана и выберите Edit Connections.... Выберите соединение, которое вы хотите изменить (возможно, с вкладки Wired или Wireless и нажмите кнопку Edit....

Перейдите на вкладку IPv4 Settings окна подключения и измените метод из Automatic (DHCP) - Automatic (DHCP) addresses only. Теперь вы должны указать IP-адрес DNS-сервера.

Сохранить соединение, и вам должно быть хорошо, что нужно. Возможно, вам придется сбросить соединение, выбрав его в меню индикатора после изменения настроек.

6
ответ дан 25 July 2018 в 20:24

Вы можете их изменить следующим образом:

Сначала щелкните значок сетевого менеджера в строке меню и щелкните элемент Edit Connections....

Теперь перейдите на вкладки «Проводные» или «Беспроводные», в зависимости от того, что вы используете - я использую WiFi, поэтому я буду использовать это.

Выберите имя вашей сети и нажмите Edit...

Перейдите на вкладку IPv4, а затем измените ее только с автоматических адресов DHCP на автоматические (DHCP).

Введите IP-адрес вашего DNS-сервера.

enter image description here [!d3]

Нажмите «Сохранить», и все готово!

24
ответ дан 25 July 2018 в 20:24
  • 1
    Хотя вы можете изменить DNS-сервер в сетевых настройках на любом ПК, лучше всего их изменить в реальном маршрутизаторе, который подключается к Интернету, чтобы все подключенные устройства выиграли от него. – Mark Rooney 25 December 2011 в 03:29
  • 2
    Что, если у него нет маршрутизатора как такового? Или он просто хочет изменить DNS для этого компьютера / пользователя? Что, если это только один раз? Возможно, на самом деле он не имеет доступа к маршрутизатору и хочет использовать другой DNS-сервер ... Я могу добавить причины этого списка всю ночь. Хороший совет и ответ @jrg. – Bruno Pereira 25 December 2011 в 07:12
  • 3
    Это хорошая графическая инструкция по настройке dns на одной машине с сетевым менеджером. Я бы только отметил, что вы можете установить более одного, запятую. [F1]. Настройка DNS для локальной сети также может быть полезна, если lan достаточно большой, я лично либо использую маршрутизатор, либо dnsmask. В локальной сети часто проще поддерживать черный список или прокси-сервер в одном месте (router / dnsmask / squid), а не на каждом клиенте или каждом пользователе на каждом клиенте, но это немного больше, чем заданный здесь вопрос. – Panther 25 December 2011 в 12:02

Другой способ сделать это - отредактировать /etc/dhcp3/dhclient.conf, вы можете сделать это, введя это в диалог запуска (появляется при нажатии Alt + F2)

gksudo gedit /etc/dhcp3/dhclient.conf

Затем найдите следующую строку [ ! d3] #prepend domain-name-servers 127.0.0.1;

И измените его на

prepend domain-name-servers 8.8.8.8;

. Это приведет к тому, что dhclient (клиент DHCP, который использует NetworkManager) добавит это на ваши DNS-серверы, поэтому resol.conf в конечном итоге будет выглядеть как это

nameserver 8.8.8.8 nameserver 192.168.1.1

Это решение будет работать повсюду, и вы всегда получите DNS, который вы выбрали в качестве основного.

17
ответ дан 25 July 2018 в 20:24
  • 1
    Мне кажется, что Network Manager пишет resolv.conf без консультации с dhclient.conf – daithib8 6 June 2011 в 15:52
  • 2
    на ubuntu 11.10 вам нужно изменить /etc/dhcp/dhclient.conf вместо /etc/dhcp3/dhclient.conf – Pawel Barcik 7 June 2012 в 17:21
  • 3
    может вставить несколько? – PyRulez 30 April 2014 в 03:50
  • 4
    @PyRulez Да, раздельно по колам, точка с запятой в конце – Sergiy Kolodyazhnyy 18 March 2015 в 04:30
  • 5
    Я пробовал это в 14.10, но никакого эффекта – rubo77 28 April 2015 в 23:01

Использование терминала

Вам нужно отредактировать файл /etc/resolv.conf, чтобы установить IP-адрес сервера имен, который должен запросить распознаватель. Можно определить до 3 IP-адресов интернет-сервера имен. Если существует несколько серверов, библиотека распознавателя запрашивает их в указанном порядке.

Сначала введите

sudoedit /etc/resolv.conf

Добавьте свой IP-адрес предпочтительного DNS-сервера следующим образом:

nameserver <preferred-ip1> nameserver <preferred-ip2> nameserver <preferred-ip3>

взято из: http://www.cyberciti.biz/faq/ubuntu-linux-configure-dns-nameserver-ip-address/

0
ответ дан 25 July 2018 в 20:24
  • 1
    Обратите внимание, что если серверы имен установлены через DHCP, /etc/resolv.conf будет перезаписана. Таким образом, этот подход подходит только для машин с ручными сетевыми конфигурациями. Технически вы могли сделать chattr +i /etc/resolv.conf, чтобы предотвратить изменение файла (я делал это несколько лет назад), но лучшим способом для большинства машин был бы подход jrg в его ответе: askubuntu. ком / а / 90263/13398 . – Scott Severance 25 December 2011 в 19:06
  • 2
    @ScottSeverance Что в системе не было X – Amith KK 25 December 2011 в 19:12
  • 3
    В этом случае это, вероятно, сервер с настраиваемой вручную сетью, и в этом случае ваш ответ вполне уместен. Но большинство машин Ubuntu запускают X и могут легко справиться с другим подходом. Если машина не работает X, но имеет соответствующий графический интерфейс, вы также можете запустить графические инструменты поверх SSH с помощью ForwardX11=yes. – Scott Severance 25 December 2011 в 19:15
  • 4
    Если вы попытаетесь вручную отредактировать файл /etc/resolv.conf, правильный способ сделать это (чтобы он не был перезаписан) - установить «resolvconf». и затем отредактируйте либо /etc/resolvconf/resolv.conf.d/head, либо /etc/resolvconf/resolv.conf.d/tail. – Azendale 25 December 2011 в 20:37

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

Использовать eth0, например

Network Manager -> Wired -> Auto eth0 -> ipv4 Settings.

Установите DNS-сервер в 8.8.8.8 и примените ,

1
ответ дан 25 July 2018 в 20:24
  • 1
    Мне не удалось найти что-либо под названием «менеджер сети». Существует «Система-администрирование - сетевые инструменты», но это не помогает. В конце концов я обнаружил, что мне нужны «Системные настройки - Сетевые подключения». – Wim Coenen 15 August 2010 в 22:54
  • 2
    На панели есть значок сетевого администратора (тот, который отображает состояние вашей сети), который вы можете щелкнуть правой кнопкой мыши, чтобы редактировать соединения. – Marcel Stimberg 16 August 2010 в 01:05
  • 3
    Это не работает – user568021 31 May 2015 в 14:10

Другим решением является изменение конфигурации вашего маршрутизатора для использования другого DNS-сервера. Просто войдите в его администратор и до тех пор, пока это не маршрутизатор, вызывающий проблему, все ваши клиентские машины улучшают DNS.

7
ответ дан 25 July 2018 в 20:24
  • 1
    +1 Согласен, если это проблема, которая вряд ли будет решена в ближайшее время, лучше всего исправить ее на маршрутизаторе, тогда она будет исправлена ​​для всех компьютеров в сети. Я считаю, что лучше всего использовать Google DNS или OpenDNS. – Mark Davidson 15 August 2010 в 22:22
  • 2
    Я уже это сделал, но маршрутизатор все еще действует как промежуточный сервер имен между клиентами и настроенным сервером имен, и он все еще очень медленный. – Wim Coenen 15 August 2010 в 22:38
  • 3
    Многие интернет-провайдеры блокируют свои маршрутизаторы, поэтому вы не можете изменять эти настройки или платить за это. – LassePoulsen 16 August 2010 в 01:53
  • 4
    @Wim Если ваш маршрутизатор не может обеспечить разрешение DNS в разумные сроки, скажем, 50 мс при хорошем подключении, что-то серьезно не так. Так неправильно, что это может плохо работать с другим трафиком. Возможно, настало время для обновления в $ 30 / £ 20. – Oli♦ 16 August 2010 в 03:33
  • 5
    @Oli: Проблема с DNS возникает только при использовании маршрутизатора из окна linux: у меня была такая же проблема с debian, но без проблем с окнами. Я уверен, что это всего лишь тонкая проблема совместимости. В противном случае маршрутизатор работает нормально. – Wim Coenen 16 August 2010 в 15:14

Лучший способ установить сервер имен через 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
26
ответ дан 31 July 2018 в 12:42
  • 1
    По какой-то причине около месяца назад моя ночная сборка Xubuntu прекратила разрешать имена хостов LAN. Мой сервер DHCP должен сам выдавать себя (192.168.68.1) в качестве DNS-сервера, я также жестко закодировал его в Network Manager и во всех местах (упомянутый выше этот ответ). С учетом того, как Xubuntu / NetworkMan / Whatever использует 127.0.x.x IP в эти дни, трудно диагностировать проблему. Я мог бы разрешить внешние IP-адреса, поэтому он получал SOMETHING для DNS. Во всяком случае, это был единственный ответ, который разрешил мою проблему. благодаря – Adam Plocher 18 December 2016 в 05:41

Я обнаружил, что добавление строки dns-nameserver ip в файл интерфейсов, установление параметров подключения ipv4 для проводного подключения только к параметрам Automatic (DHCP) и ввод IP-адреса и доменного имени DNS-сервера. Кроме того, добавление локального DNS-IP в статический раздел DNS-маршрутизатора DSL приводит к тому, что NetworkManager должен включать этот локальный адрес в файл resolv.conf, который он перезаписывает вместе с другой информацией, полученной от маршрутизатора. Все это вместе, похоже, делает локальное разрешение имен DNS постоянным - кажется удивительно сложной задачей. Моя потребность в локальном DNS заключается в установке клиента Linux на общий ресурс Samba с использованием mount.cifs в обслуживаемой DHCP сети.

0
ответ дан 31 July 2018 в 12:42

Для безголовых серверов, где нет X, а управление осуществляется через ssh или что-то еще, требуется решение командной строки. Если resolv.conf не перезаписывается, это правильное место для изменения серверов имен.

Если resolv.conf перезаписывается, то, по крайней мере, 14.04LTS, файлы для редактирования:

/etc/resolvconf/resolv.conf.d/head /etc/resolvconf/resolv.conf.d/tail

Я настоятельно рекомендую помещать строки комментариев в такие файлы, чтобы они отображались в (/etc/resolve.conf), и вы можете найти их в будущем. Я начинаю и заканчиваю каждый файл однострочным комментарием формы:

/etc/resolvconf/resolv.conf.d/head # ====== end /etc/resolveconf/resolv.d/tail ======

и поместите соответствующие директивы между ними.

0
ответ дан 31 July 2018 в 12:42

Если Network-Manager остановлено и /etc/resolvconf/resolv.conf.d/base настроен.

Возможно resolvconf --enable-updates полезна.

0
ответ дан 31 July 2018 в 12:42

Нажмите на индикатор сети в правом верхнем углу экрана и выберите Edit Connections.... Выберите соединение, которое вы хотите изменить (возможно, с вкладки Wired или Wireless и нажмите кнопку Edit....

Перейдите на вкладку IPv4 Settings окна подключения и измените метод из Automatic (DHCP) - Automatic (DHCP) addresses only. Теперь вы должны указать IP-адрес DNS-сервера.

Сохранить соединение, и вам должно быть хорошо, что нужно. Возможно, вам придется сбросить соединение, выбрав его в меню индикатора после изменения настроек.

6
ответ дан 31 July 2018 в 12:42

Вы можете их изменить следующим образом:

Сначала щелкните значок сетевого менеджера в строке меню и щелкните элемент Edit Connections....

Теперь перейдите на вкладки «Проводные» или «Беспроводные», в зависимости от того, что вы используете - я использую WiFi, поэтому я буду использовать это.

Выберите имя вашей сети и нажмите Edit...

Перейдите на вкладку IPv4, а затем измените ее только с автоматических адресов DHCP на автоматические (DHCP).

Введите IP-адрес вашего DNS-сервера.

enter image description here [!d3]

Нажмите «Сохранить», и все готово!

24
ответ дан 31 July 2018 в 12:42
  • 1
    Хотя вы можете изменить DNS-сервер в сетевых настройках на любом ПК, лучше всего их изменить в реальном маршрутизаторе, который подключается к Интернету, чтобы все подключенные устройства выиграли от него. – Mark Rooney 25 December 2011 в 03:29
  • 2
    Что, если у него нет маршрутизатора как такового? Или он просто хочет изменить DNS для этого компьютера / пользователя? Что, если это только один раз? Возможно, на самом деле он не имеет доступа к маршрутизатору и хочет использовать другой DNS-сервер ... Я могу добавить причины этого списка всю ночь. Хороший совет и ответ @jrg. – Bruno Pereira 25 December 2011 в 07:12
  • 3
    Это хорошая графическая инструкция по настройке dns на одной машине с сетевым менеджером. Я бы только отметил, что вы можете установить более одного, запятую. [F1]. Настройка DNS для локальной сети также может быть полезна, если lan достаточно большой, я лично либо использую маршрутизатор, либо dnsmask. В локальной сети часто проще поддерживать черный список или прокси-сервер в одном месте (router / dnsmask / squid), а не на каждом клиенте или каждом пользователе на каждом клиенте, но это немного больше, чем заданный здесь вопрос. – Panther 25 December 2011 в 12:02

Другой способ сделать это - отредактировать /etc/dhcp3/dhclient.conf, вы можете сделать это, введя это в диалог запуска (появляется при нажатии Alt + F2)

gksudo gedit /etc/dhcp3/dhclient.conf

Затем найдите следующую строку [ ! d3] #prepend domain-name-servers 127.0.0.1;

И измените его на

prepend domain-name-servers 8.8.8.8;

. Это приведет к тому, что dhclient (клиент DHCP, который использует NetworkManager) добавит это на ваши DNS-серверы, поэтому resol.conf в конечном итоге будет выглядеть как это

nameserver 8.8.8.8 nameserver 192.168.1.1

Это решение будет работать повсюду, и вы всегда получите DNS, который вы выбрали в качестве основного.

17
ответ дан 31 July 2018 в 12:42
  • 1
    Мне кажется, что Network Manager пишет resolv.conf без консультации с dhclient.conf – daithib8 6 June 2011 в 15:52
  • 2
    на ubuntu 11.10 вам нужно изменить /etc/dhcp/dhclient.conf вместо /etc/dhcp3/dhclient.conf – Pawel Barcik 7 June 2012 в 17:21
  • 3
    может вставить несколько? – PyRulez 30 April 2014 в 03:50
  • 4
    @PyRulez Да, раздельно по колам, точка с запятой в конце – Sergiy Kolodyazhnyy 18 March 2015 в 04:30
  • 5
    Я пробовал это в 14.10, но никакого эффекта – rubo77 28 April 2015 в 23:01

Использование терминала

Вам нужно отредактировать файл /etc/resolv.conf, чтобы установить IP-адрес сервера имен, который должен запросить распознаватель. Можно определить до 3 IP-адресов интернет-сервера имен. Если существует несколько серверов, библиотека распознавателя запрашивает их в указанном порядке.

Сначала введите

sudoedit /etc/resolv.conf

Добавьте свой IP-адрес предпочтительного DNS-сервера следующим образом:

nameserver <preferred-ip1> nameserver <preferred-ip2> nameserver <preferred-ip3>

взято из: http://www.cyberciti.biz/faq/ubuntu-linux-configure-dns-nameserver-ip-address/

0
ответ дан 31 July 2018 в 12:42
  • 1
    Обратите внимание, что если серверы имен установлены через DHCP, /etc/resolv.conf будет перезаписана. Таким образом, этот подход подходит только для машин с ручными сетевыми конфигурациями. Технически вы могли сделать chattr +i /etc/resolv.conf, чтобы предотвратить изменение файла (я делал это несколько лет назад), но лучшим способом для большинства машин был бы подход jrg в его ответе: askubuntu. ком / а / 90263/13398 . – Scott Severance 25 December 2011 в 19:06
  • 2
    @ScottSeverance Что в системе не было X – Amith KK 25 December 2011 в 19:12
  • 3
    В этом случае это, вероятно, сервер с настраиваемой вручную сетью, и в этом случае ваш ответ вполне уместен. Но большинство машин Ubuntu запускают X и могут легко справиться с другим подходом. Если машина не работает X, но имеет соответствующий графический интерфейс, вы также можете запустить графические инструменты поверх SSH с помощью ForwardX11=yes. – Scott Severance 25 December 2011 в 19:15
  • 4
    Если вы попытаетесь вручную отредактировать файл /etc/resolv.conf, правильный способ сделать это (чтобы он не был перезаписан) - установить «resolvconf». и затем отредактируйте либо /etc/resolvconf/resolv.conf.d/head, либо /etc/resolvconf/resolv.conf.d/tail. – Azendale 25 December 2011 в 20:37

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

Использовать eth0, например

Network Manager -> Wired -> Auto eth0 -> ipv4 Settings.

Установите DNS-сервер в 8.8.8.8 и примените ,

1
ответ дан 31 July 2018 в 12:42
  • 1
    Мне не удалось найти что-либо под названием «менеджер сети». Существует «Система-администрирование - сетевые инструменты», но это не помогает. В конце концов я обнаружил, что мне нужны «Системные настройки - Сетевые подключения». – Wim Coenen 15 August 2010 в 22:54
  • 2
    На панели есть значок сетевого администратора (тот, который отображает состояние вашей сети), который вы можете щелкнуть правой кнопкой мыши, чтобы редактировать соединения. – Marcel Stimberg 16 August 2010 в 01:05
  • 3
    Это не работает – user568021 31 May 2015 в 14:10

Другим решением является изменение конфигурации вашего маршрутизатора для использования другого DNS-сервера. Просто войдите в его администратор и до тех пор, пока это не маршрутизатор, вызывающий проблему, все ваши клиентские машины улучшают DNS.

7
ответ дан 31 July 2018 в 12:42
  • 1
    +1 Согласен, если это проблема, которая вряд ли будет решена в ближайшее время, лучше всего исправить ее на маршрутизаторе, тогда она будет исправлена ​​для всех компьютеров в сети. Я считаю, что лучше всего использовать Google DNS или OpenDNS. – Mark Davidson 15 August 2010 в 22:22
  • 2
    Я уже это сделал, но маршрутизатор все же действует как промежуточный сервер имен между клиентами и настроенным сервером имен, и он все еще очень медленный. – Wim Coenen 15 August 2010 в 22:38
  • 3
    Многие интернет-провайдеры блокируют свои маршрутизаторы, поэтому вы не можете изменять эти настройки или платить за это. – LassePoulsen 16 August 2010 в 01:53
  • 4
    @Wim Если ваш маршрутизатор не может обеспечить разрешение DNS в разумные сроки, скажем, 50 мс при хорошем подключении, что-то серьезно не так. Так неправильно, что это может плохо работать с другим трафиком. Возможно, настало время для обновления в $ 30 / £ 20. – Oli♦ 16 August 2010 в 03:33
  • 5
    @Oli: Проблема с DNS возникает только при использовании маршрутизатора из окна linux: у меня была такая же проблема с debian, но без проблем с окнами. Я уверен, что это всего лишь тонкая проблема совместимости. В противном случае маршрутизатор работает нормально. – Wim Coenen 16 August 2010 в 15:14

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

Установите пакет resolvconf . [ ! d5]

Запустить

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

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

   nameserver & lt; ip_of_nameserver & gt;   

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

  sudo resolvconf -u  
26
ответ дан 2 August 2018 в 02:16

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

Использовать eth0, например

Network Manager -> Wired -> Auto eth0 -> ipv4 Settings.

Установите DNS-сервер в 8.8.8.8 и примените ,

1
ответ дан 2 August 2018 в 02:16

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

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