Как правильно сменить DNS IP?

Я подозреваю, что сервер имен, предоставленный моим модемом / маршрутизатором 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?

69
задан 16 August 2010 в 14:20

15 ответов

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

  1. Щелкните правой кнопкой мыши на иконке сетевого менеджера на панели и выберите "Редактировать соединения...". "
  2. Выберите ваше соединение на вкладке проводных или беспроводных сетей, выберите "Edit"
  3. (Введите пароль, если соединение установлено как "system-wide available")
  4. Выберите IPv4 настройки вкладки
  5. Способ переключения на "Automatic (DHCP) addresses only"
  6. Введите нужный вам сервер имен в поле "Additional DNS servers"(Дополнительные DNS-серверы) и нажмите "Apply"

Это должно выполнить вашу фишку.

61
ответ дан 16 August 2010 в 14:20

Лучший способ настроить сервер имен через интерфейс командной строки, без 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
33
ответ дан 16 August 2010 в 14:20

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

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

0
ответ дан 16 August 2010 в 14:20

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

7
ответ дан 16 August 2010 в 14:20

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

Вам необходимо отредактировать файл /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
ответ дан 16 August 2010 в 14:20

Для безголовых серверов, где нет 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
ответ дан 16 August 2010 в 14:20

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

gksudo gedit /etc/dhcp3/dhclient.conf

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

#prepend domain-name-servers 127.0.0.1;

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

prepend domain-name-servers 8.8.8.8;

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

nameserver 8.8.8.8
nameserver 192.168.1.1

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

21
ответ дан 16 August 2010 в 14:20

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

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

enter image description here

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

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

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

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

enter image description here

Нажмите «Сохранить», и вы '

30
ответ дан 16 August 2010 в 14:20

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

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

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

6
ответ дан 16 August 2010 в 14:20

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

Для использования eth0, например

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

Установите ваш DNS-сервер на 8.8.8.8 и применяйте его.

1
ответ дан 16 August 2010 в 14:20

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

0
ответ дан 16 August 2010 в 14:20

Вы можете изменить настройки IPv4 DNS графическим способом , как ответили здесь

Но если вам интересно, как сделать то же самое с помощью командной строки, вы должны перечислить файлы в каталоге / etc / NetworkManager / system-connections с помощью команды ls :

ls /etc/NetworkManager/system-connections

Там должен быть файл с именем вашего соединения, мой называется Проводное соединение 1 .

Итак, нам нужно отредактировать файл и добавить в него DNS-серверы:

Sudo nano "/etc/NetworkManager/system-connections/Wired connection 1"

Добавьте столько DNS-серверов, сколько хотите, в разделе [ipv4] и разделите их точками с запятой ; , а также поставьте ; в конце последний DNS-сервер следующим образом:

[ipv4]
dns=1.1.1.1;8.8.8.8;9.9.9.9;

Вы можете просто удалить эту строку, если не хотите назначать какие-либо DNS.

Также вы должны добавить эту строку ignore-auto-dns = true на игнорировать DNS-серверы, предоставляемые DHCP (например, DNS-сервер, установленный в конфигурации маршрутизатора):

[ipv4]
dns=1.1.1.1;8.8.8.8;9.9.9.9;
ignore-auto-dns=true

Небольшой контекст этого ответа: Я пытался выяснить, какой файл редактируется, когда я добавляю DNS-сервер в настройки DNS графического интерфейса пользователя, поэтому я выполнял эту команду более 16 часов: sudo grep -rs "1.1.1.1" / который сканировал все файлы на моей виртуальной машине Ubuntu, но он так и не закончился даже после столь долгого запуска, но я знал, что возможно, что файл может существовать в / etc / NetworkManager , поэтому я запустил grep ] снова указал на этот каталог и обнаружил следующее: / etc / NetworkManager / system-connections / Проводное соединение 1: dns = 1.1.1.1; , поэтому я вернулся сюда, чтобы написать ответ, только чтобы узнать Лекенштейн уже указывал на это в комментариях к принятому ответу .

1
ответ дан 10 September 2019 в 17:28

Создайте файл настроек (с разрешениями sudo)

/etc/sysconfig/network-scripts/ifcfg-default-dhcp

с содержимым:

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
PEERDNS=no
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME="default setting on boot"
UUID=616e72fa-e208-358c-8567-d0eae408e989
DEVICE=enp0s31f6
ONBOOT=yes
AUTOCONNECT_PRIORITY=-999
DNS1=8.8.8.8
DNS2=8.8.8.4
IPV6_PEERDNS=no
0
ответ дан 5 January 2021 в 23:59

Сначала вам нужно установить resolveconf.service :

sudo apt-get update
sudo apt-get install resolvconf

Затем вам нужно запустить службу resolvconf:

sudo systemctl start resolvconf.service

Затем вам нужно включить resolvconf.service при загрузке:

sudo systemctl enable resolvconf.service

Вы можете проверить статус с помощью команды:

sudo systemctl status resolvconf

Вы увидите что-то вроде этого:

screenshot of terminal showing status

Затем вам нужно изменить конфигурацию в файле /etc/resolv.conf.d/head :

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

Вам нужно добавить свои DNS-серверы, как это (Google DNS). Вы можете добавить:

  1. IPv4-адреса:

     сервер имен 8.8.8.8
    сервер имен 8.8.4.4
     
  2. или IPv6-адреса:

     nameserver 2001: 4860: 4860 :: 8888
    сервер имен 2001: 4860: 4860 :: 8844
     

Затем вам нужно перезапустить службу resolvconf.service :

sudo systemctl restart resolvconf.service

Теперь вы можете проверить файл /etc/resolve.conf . И вы увидите свой новый DNS.

sudo nano /etc/resolv.conf
1
ответ дан 5 January 2021 в 23:59

открыть этот файл

$ sudo nano /etc/resolv.conf

Удалите IP-адрес, созданный NetworkManager, и добавьте следующий строка (я добавляю сюда адрес 1.1.1.1.)

nameserver 1.1.1.1

Сохраните и выйдите, затем запустите следующую команду, чтобы NetworkManager не переопределял файл

$ sudo chattr +i /etc/resolv.conf

Если вы хотите изменить тип файла sudo chattr -i / etc / resolv.conf и добавьте свою конфигурацию, наконец, повторно введите команду chattr + i .

1
ответ дан 5 January 2021 в 23:59

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

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