Как я могу изменить 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 ответов

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

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

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

  sudoedit /etc/resolv.conf  

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

  nameserver & lt; preferred-ip1 & gt;  nameserver & lt; preferred-ip2 & gt;  nameserver & lt; preferred-ip3 & gt;   

взято из: http://www.cyberciti.biz/faq/ubuntu-linux-configure-dns-nameserver-ip -адрес /

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

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

  gksudo gedit /etc/dhcp3/dhclient.conf  

Затем найдите следующую строку

  #prepend domain-name-servers 127.0  .0.1;   

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

  preend 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
ответ дан 7 August 2018 в 20:05

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

Сначала щелкните значок сетевого менеджера в строке меню и нажмите кнопку Изменить соединения ... .

enter image description here [!d2]

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

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

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

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

enter image description here [!d3]

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

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

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

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

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

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

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

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

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

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

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

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

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

  • # ====== begin /etc/resolveconf/resolv.d/tail ======
  • # ====== end /etc/resolveconf/resolv.d/tail ======

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  sudoedit /etc/resolv.conf  

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

  nameserver & lt; preferred-ip1 & gt;  nameserver & lt; preferred-ip2 & gt;  nameserver & lt; preferred-ip3 & gt;   

взято из: http://www.cyberciti.biz/faq/ubuntu-linux-configure-dns-nameserver-ip -адрес /

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

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

  gksudo gedit /etc/dhcp3/dhclient.conf  

Затем найдите следующую строку

  #prepend domain-name-servers 127.0  .0.1;   

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

  preend 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
ответ дан 10 August 2018 в 08:28

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

Сначала щелкните значок сетевого менеджера в строке меню и нажмите кнопку Изменить соединения ... .

enter image description here [!d2]

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

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

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

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

enter image description here [!d3]

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

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

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

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

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

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

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

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

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

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

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

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

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

  • # ====== begin /etc/resolveconf/resolv.d/tail ======
  • # ====== end /etc/resolveconf/resolv.d/tail ======

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

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

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

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

Лучший способ установить сервер имен через 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
ответ дан 10 August 2018 в 08:28

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

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

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

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

1
ответ дан 15 August 2018 в 20:34
  • 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
ответ дан 15 August 2018 в 20:34
  • 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

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

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

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

  sudoedit /etc/resolv.conf  

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

  nameserver & lt; preferred-ip1 & gt;  nameserver & lt; preferred-ip2 & gt;  nameserver & lt; preferred-ip3 & gt;   

взято из: http://www.cyberciti.biz/faq/ubuntu-linux-configure-dns-nameserver-ip -адрес /

0
ответ дан 15 August 2018 в 20:34
  • 1
    Обратите внимание, что если серверы имен установлены через DHCP, /etc/resolv.conf будет перезаписан. Таким образом, этот подход подходит только для машин с ручными сетевыми конфигурациями. Технически вы могли сделать chattr + i /etc/resolv.conf, чтобы предотвратить изменение файла (я сделал это несколько лет назад), но лучший способ для большинства машин был бы подход jrg в его ответе: askubuntu.com/a/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

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

  gksudo gedit /etc/dhcp3/dhclient.conf  

Затем найдите следующую строку

  #prepend domain-name-servers 127.0  .0.1;   

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

  preend 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
ответ дан 15 August 2018 в 20:34
  • 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

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

Сначала щелкните значок сетевого менеджера в строке меню и нажмите кнопку Изменить соединения ... .

enter image description here [!d2]

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

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

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

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

enter image description here [!d3]

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

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

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

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

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

6
ответ дан 15 August 2018 в 20:34

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

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

0
ответ дан 15 August 2018 в 20:34

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

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

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

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

  • # ====== begin /etc/resolveconf/resolv.d/tail ======
  • # ====== end /etc/resolveconf/resolv.d/tail ======

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

0
ответ дан 15 August 2018 в 20:34

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

0
ответ дан 15 August 2018 в 20:34

Лучший способ установить сервер имен через 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
ответ дан 15 August 2018 в 20:34
  • 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

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

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