Linux посмотреть настройки dns

Command-line to list DNS servers used by my system

But it doesn’t list any servers, if I go to «Network Manager GUI Tool», in Wireless section it lists «DNS 192.168.1.1 8.8.8.8 8.8.4.4» Can I get same information from command line? I am using Ubuntu 12.04 LTS

What are you trying to find? the DNS servers being used by your system? or are you trying to do a DNS lookup?

13 Answers 13

resolv.conf isn’t really used anymore, unless you implement it yourself. The network manager does it now. I created an alias to list the DNS servers on my system, as I sometimes switch from OpenDNS to Google’s open DNS.

nmcli device show | grep IP4.DNS 
nmcli dev list iface | grep IP4 

In my case, is eth0 , which is common, but not always the case. You can see your interfaces with

See if this is what you want.

I think resolv.conf is actually used indirectly, because the network manager creates the server that listens on 127.0.0.1, but I was told that this is an implementation detail that should not be counted on. I think that if you enter DNS addresses before this entry, they might get used, but I’m not sure exactly how this works. I think it’s best to use the network manager in most cases, when possible.

thanks, yes that seems to be working, ubuntu networking seems to be confusing, so I can set dns servers in resolve.conf/base or in /etc/network/interfaces or in network manager, is there a definitive guide for ubuntu networking?

@vcardillo: the original question stated: «I am using Ubuntu 12.04 LTS». It’s been 5 years since I posted my answer. Nothing lasts forever.

I would like to warn readers that the information provided by nmcli and nm-tool might not be correct. In testing my router setup, I changed the DHCP server to configure a DNS. On my client (linux mint 17.3) I did sudo dhclient -r; sudo dhclient to renew IP configuration. At this point both commands I mentioned showed the old DNS, not the new one. cat /etc/resolv.conf did work for me, but according to op it did not work for him. The only reliable way to figure out which DNS is used appears to be to a lookup with for example dig, but I doubt dig will show you all configured DNS.

In Ubuntu 18.04 and 20.04 you can use systemd-resolve —status . In newer versions use resolvectl status .

IMO this should be the accepted answer. Also, it’s worth pointing out that systemd-resolve mydomain.com outputs which DNS server exactly is being queried (very useful if e.g. you have set up a VPN and so on).

Читайте также:  Linux узнать название ноутбука

This is valid for Ubuntu 13.10 and earlier. For Ubuntu 14.04 and above, see Koala Yeung’s answer to: How to know what DNS am I using in Ubuntu from 14.04 onwards

You will get an output similar to

NetworkManager Tool State: connected (global) - Device: eth0 [Wired connection 1] ------------------------------------------- Type: Wired Driver: e1000e State: connected Default: yes HW Address: 00:11:22:33:44:55 Capabilities: Carrier Detect: yes Speed: 1000 Mb/s Wired Properties Carrier: on IPv4 Settings: Address: 10.21.6.13 Prefix: 24 (255.255.255.0) Gateway: 10.21.6.1 DNS: 10.22.5.133 DNS: 10.22.5.3 

Or to see just the DNS do

yeah this doesn’t work anymore. no nm-tool in 16.x either. nmcli (in Marty Fried’s answer) is the way to go

The two top-scoring answers, nmcli dev list iface | grep IP4 and nm-tool both assume that network-manager is in control. Which it is — on desktop machines most of the time at least. But the fuller answer is that sometimes network-manager is not in control. E.g. vpnc messes with /etc/resolv.conf directly.

So: First check if 127.0.0.1/localhost is used. This could be done with dig :

> dig something.unknown | grep SERVER: ;; SERVER: 127.0.0.1#53(127.0.0.1) 

Now you know that we are using localhost. Go ahead with one of the popular answers. I like:

> nm-tool | grep DNS: DNS: 8.8.8.8 

But if 127.0.0.1/localhost is not used, then nm-tool ‘s and nmcli ‘s output will be misleading:

> dig something.unknown | grep SERVER: ;; SERVER: 172.22.216.251#53(172.22.216.251) > nm-tool | grep DNS: DNS: 8.8.8.8 

Here, dig is correct and nm-tool ‘s information is misleading. In reality addresses local to the environment I’ve VPN-ed into are resolved correctly. All of which Google’s DNS 8.8.8.8 doesn’t know about.

This is because after connecting to a VPN with vpnc , it puts a line in /etc/resolv.conf so it looks like:

# 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 nameserver 1.2.3.4 nameserver 127.0.0.1 search MyDomain 

Источник

Настройка DNS в Linux

Настройка DNS в Linux

Каждый сайт, устройство или определенное расположение имеет собственный IP-адрес, определяющийся оборудованием при обращении к сетям и взаимодействии с ними. Пользователи, которые сталкиваются с необходимостью, например, перехода по сайтам или подключения к другому сетевому компьютеру, тоже должны вводить соответствующий адрес для успешного обмена информацией. Однако запомнить случайный набор цифр довольно сложно. Именно поэтому и была придумана система доменных имен DNS (Domain Name System). Теперь компьютер самостоятельно обращается к серверу для определения IP-адреса при указании доменного имени во время перехода к ресурсу. Такие сервера указываются автоматически или вручную, что зависит от типа конфигурации. Именно об этом процессе мы и хотим поговорить в рамках сегодняшнего материала, взяв за пример известный дистрибутив операционной системы Linux.

Читайте также:  Линукс где хранятся сертификаты

Настраиваем DNS в Linux

Практически все дистрибутивы Linux функционируют по похожему принципу. Отличаются лишь некоторые консольные команды и оформление графической оболочки. В качестве примера мы рассмотрим Ubuntu, а вы, отталкиваясь от особенностей своей сборки, тоже сможете без проблем выполнить поставленную задачу. Если трудности возникнут на уровне использования определенных команд или при поиске пунктов меню графической среды, воспользуйтесь официальной документацией дистрибутива, чтобы узнать, какая альтернативная команда или опция отвечает за осуществление нужного действия.

Способ 1: Меню графической оболочки

Этот способ в первую очередь нацелен на начинающих пользователей, поскольку чаще всего в Linux их пугает необходимость выполнять каждое действие, вводя команды в консоль. Уже давно практически во всех окружениях присутствуют соответствующие пункты, позволяющие реализовывать различные конфигурации без единого обращения к «Терминалу». К DNS это тоже относится. Давайте посмотрим, как производится данное редактирование в стандартной графической оболочке Ubuntu.

Открытие панели задач для перехода к конфигурации сети при настройке DNS в Linux

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

  • Здесь вас интересует кнопка под названием «Параметры соединения». Переход к конфигурации сети для изменения параметров DNS в Linux
  • В открывшемся меню отыщите текущее соединение и нажмите по значку в виде шестеренки, чтобы перейти к конфигурации. Выбор сети из списка для изменения параметров DNS в Linux
  • Если вы хотите узнать свой адрес DNS, просто посмотрите на специально отведенную строку на вкладке «Сведения о системе». Для настройки получения DNS переместитесь на вкладку «IPv4» или «IPv6», воспользовавшись верхней панелью. Просмотр адреса маршрутизатора и переход к настройке DNS в Linux
  • В строке «Метод» вы можете указать оптимальный для вас способ получения DNS. По умолчанию используется автоматический тип через DHCP. Однако ничего не мешает вам просто отметить маркером один из остальных присутствующих пунктов. Установка стандартных параметров DNS в Linux через графический интерфейс
  • Вы можете самостоятельно прописать серверы DNS, к которым следует обращаться вашему маршрутизатору. Для этого в строке «DNS» через запятую укажите IP-адреса. На скриншоте ниже вы видите серверы от Google, и выглядят они так: 8.8.8.8 и 8.8.4.4 . Ручной ввод нового сервера получения DNS в Linux через графическую оболочку
  • По завершении конфигурации убедитесь в том, что все выставлено правильно, и только потом кликните на «Применить». Применение изменений после настройки DNS в Linux в графическом интерфейсе
  • Если возникла надобность создания нового типа подключения, то вы можете сразу же прописать настройки DNS точно таким же образом, как это было показано только что. Настройка DNS в Linux при создании новой сети
  • По окончании конфигурации откройте главное меню и запустите «Терминал» для проверки. Переход к Терминалу для проверки изменений после настройки DNS в Linux
  • Введите nslookup , а затем укажите необходимый адрес для проверки, например, google.com . Ввод команды для пропингови сервера после изменения DNS в Linux
  • После нажатия на Enter подождите несколько секунд и ознакомьтесь с полученной информацией. Вы будете уведомлены о том, какой именно DNS-сервер использовался при пропинговке адреса. Просмотр полученных DNS в Linux через пропинговку в Терминале
  • Как видите, этот метод максимально прост и позволяет обойтись без редактирования конфигурационных файлов через консоль. Однако некоторые пользователи не имеют возможности задействовать графический интерфейс или же настройка постоянно сбивается. В таком случае придется обращаться к «Терминалу», чему и будет посвящен наш следующий метод.

    Читайте также:  Kali gnu linux rolling kali tty1

    Способ 2: Редактирование конфигурационных файлов

    Использование «Терминала» для редактирования конфигурационных файлов при изменении системных параметров — самый эффективный способ, поскольку все действия здесь будут осуществляться от имени суперпользователя, а также не сбросятся при первом же перезапуске системы. Для конфигурации DNS используйте следующую инструкцию.

    1. Запустите консоль так, как это было показано ранее, или используйте любой удобный способ, например, созданный значок на панели «Избранное». Запуск терминала через избранное для настройки DNS в Linux
    2. Для начала просмотрите список существующих сетевых интерфейсов, чтобы проверить файл для конфигурации. Введите ls /sys/class/net/ и нажмите на Enter. Команда для просмотра названий сети при настройке DNS в Linux
    3. Проверьте, присутствует ли здесь ваше название интерфейса. По умолчанию оно выглядит так: enp0s3. В случае отсутствия подобной строки придется добавить ее самостоятельно, чему и будут посвящены следующие шаги. Пропустите их, если имя присутствует. Просмотр текущего названия сети при конфигурации DNS в Linux
    4. Далее дело будет касаться взаимодействия с конфигурационными текстовыми файлами. Для этого вы можете использовать любой редактор, установленный по умолчанию, например, vi. Однако начинающим юзерам не всегда удобно управлять подобным софтом. В таких ситуациях мы советуем установить более подходящее решение. Пропишите sudo apt install nano и нажмите на Enter. Установка нового текстового редактора для дальнейшей конфигурации DNS в Linux
    5. Подтвердите свои намерения добавить софт, а после успешной инсталляции переходите к работе с файлами. Введите команду sudo nano /etc/network/interfaces и затем подтвердите ее. Открытие конфигурационного файла для ввода имени сети при настройке DNS в Linux
    6. Вставьте строки auto enp0s3 и iface enp0s3 inet dhcp , чтобы задать конфигурацию интерфейса. Ввод имени сети и стандартного DNS в Linux через конфигурационнй файл
    7. Используйте комбинацию Ctrl + O для сохранения настроек. В будущем запомните, что знак ^ обозначает Ctrl, то есть, например, выход из редактора осуществляется через Ctrl + X. Сохранение изменений и выход из текстового редактора при настройке DNS в Linux
    8. При сохранении не изменяйте имя файла для записи, а просто нажимайте на Enter. Сохранение имени файла при настройке DNS в Linux
    9. Следом в этом же файле введите dns-nameserver 8.8.8.8 для установки DNS от Google, и уже после этого можете закрыть данный объект. Команда для определения DNS в первом конфигурационном файле Линукс
    10. Далее понадобится настроить другой элемент, перейдите к нему через sudo nano /etc/dhcp/dhclient.conf . Переход к конфигурации второго файла для изменения DNS в Linux
    11. При запросе пароля суперпользователя введите его. Учтите, что символы при таком методе набора не отображаются в целях безопасности. Ввод пароля суперпользователя для доступа к файлу при настройке DNS в Linux
    12. Опуститесь в самый низ по содержимому и вставьте строку supersede domain-name-servers 8.8.8.8 . Затем сохраните изменения и закройте файл. Вставка команды для второго конфигурационного файла DNS в Linux
    13. Осталось отредактировать последние параметры в sudo nano /etc/resolvconf/resolv.conf.d/base . Запуск третьего конфигурационного файла DNS в Linux
    14. Вставьте строку nameserver 8.8.8.8 , определяющую DNS. Перед выходом не забудьте применить изменения в этом же файле. Изменение третьего конфиуграционного файла DNS в Linux
    15. Все изменения DNS вступят в силу сразу же после перезагрузки сети. Осуществляется это командой sudo systemctl restart networking . Перезапуск сети после изменений DNS в Linux
    16. Появившаяся пустая строка для ввода означает, что перезапуск прошел успешно. Успешный перезапуск сети после изменений настроек DNS в Linux

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

    Источник

    Оцените статью
    Adblock
    detector