Linux посмотреть dns имя

4 ways to Check DNS Record with Dig Command in Linux

The most efficient way to check DNS records in Linux is using dig command. This command will send the DNS query to the name servers listed in the resolver(/etc/resolv.conf). It allows you to query information about various DNS records, including A record, MX record CNAME record etc.

The following commands can be used to check DNS records in Linux.

  • dig dnsrecords.com
  • dig @8.8.8.8 dnsrecords.com
  • dig dnsrecords.com ANY
  • dig dnsrecords.com +short
  • dig dnsrecords.com +trace

How to use Dig command

We can use dig name + record type + @dns server to query the DNS info from a DNS server. By default, dig performs a lookup for an A record if no type argument is specified.

  1. server – the IP address or hostname of the name server to query. It is optional and if we don’t provide a server argument then dig uses the name server listed in /etc/resolv.conf.
  2. name – the name of the resource record that is to be looked up.
  3. record type – the type of query requested by dig. For example, it can be an A record, MX record, SOA record or any other types.

Check DNS A record with Dig command

The A stands for address and this is the most fundamental type of DNS record. A record is used to point a domain or subdomain to an IP address. We can use this command to query A record for a domain name. For example:

$ dig www.howtouselinux.com
www.howtouselinux.com. 0 IN A 23.236.62.147

Query DNS PTR record with dig command

A PTR record is well-known as the reverse version of an A record. We can get the PTR record with this command. This is the PTR record for IP address 23.236.62.147.

$ dig -x 23.236.62.147
147.62.236.23.bc.googleusercontent.com.

Query DNS MX record with dig command

A DNS ‘mail exchange’ (MX) record directs email to a mail server. This record can tell us the email server for a domain name. With the following command, we can get the MX record for google.com.

$ dig google.com mx
google.com. 0 IN MX 10 aspmx.l.google.com.
google.com. 0 IN MX 20 alt1.aspmx.l.google.com.
google.com. 0 IN MX 50 alt4.aspmx.l.google.com.
google.com. 0 IN MX 30 alt2.aspmx.l.google.com.
google.com. 0 IN MX 40 alt3.aspmx.l.google.com.

Get DNS records Against a specific DNS server with dig command

Many DNS servers are around the world. To specify a name server against which the query will be executed, use the @ (at) symbol followed by the name server IP address or hostname.

$ dig www.howtouselinux.com @8.8.8.8
www.howtouselinux.com. 5 IN A 23.236.62.147

  • Tcpdump: Filter DNS packets
  • Linux DNS: PTR MX SRV SPF AAAA DNS Records
  • Using Tcpdump to Filter DNS Packets
  • Free DNS Servers in 2021
  • Flush DNS Cache with Command Quick Guide
  • Exploring DNS TTL with Examples
  • Understanding Linux Dig Command
  • Exploring EDNS with Examples
  • Best and Fastest DNS Server For PS4 PS5
  • Best and Fastest DNS Servers For Gaming
  • What is DNS? DNS Meaning
  • Query DNS Txt Record with Dig Command
Читайте также:  Unreal engine build on linux

David is a Cloud & DevOps Enthusiast. He has years of experience as a Linux engineer. He had working experience in AMD, EMC. He likes Linux, Python, bash, and more. He is a technical blogger and a Software Engineer. He enjoys sharing his learning and contributing to open-source.

howtouselinux.com is dedicated to providing comprehensive information on using Linux.

We hope you find our site helpful and informative.

Источник

Как узнать IP DNS сервера в Linux

DNS (Domain Name System — система доменных имён) является важным элементом сети. Без DNS не работали бы Интернет-браузер, почтовые сервера, стриминговые сервисы и другие.

Задача DNS сообщать IP адрес запрошенного имени хоста (обычно домена веб-сайта).

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

То есть DNS решает проблему, что нам не нужно помнить/знать IP адреса всех сайтов, которые мы посещаем.

DNS это обширная и интересная тема, но в этой заметке мы только поговорим, как узнать, к какому именно DNS серверу делаются запросы с данного компьютера на Linux? То есть мы научимся определять IP адрес используемого DNS сервера.

Имеется несколько способов сделать это, мы рассмотрим самые универсальные, подходящие для Linux, BSD, и других Unix-подобных систем.

Как узнать какой DNS сервер используется

1. Настройки DNS в системе хранятся в файле /etc/resolv.conf, то есть IP адрес DNS сервера можно узнать просто посмотрев этот файл.

С помощью команды cat:

С помощью команды less:

Или с помощью команды grep:

grep "nameserver" /etc/resolv.conf

Все эти команды выведут одинаковые результаты, например в моём случае это:

nameserver 8.8.8.8 nameserver 8.8.4.4

Запись может быть только одна или их может быть несколько. В первую очередь используется первый указанный DNS сервер, если к нему не удаётся получить доступ, то используются запасные DNS (если они указаны).

2. Если вам нужен альтернативный метод (например, вы предполагаете, что настройки DNS изменены сетевым подключением), то вы можете использовать программу dig:

Используемый сервер имён показан в строке начинающейся с ;; SERVER:

А в этом разделе, кстати, вы можете узнать IP адрес любого сайта:

;; ANSWER SECTION: zalinux.ru. 3799 IN A 185.26.122.38

3. Ещё один способ узнать IP адрес сайта, а заодно и IP DNS сервера к которому делаются запросы — с помощью команды nslookup:

В этих строках показан IP используемого DNS сервера:

Server: 8.8.8.8 Address: 8.8.8.8#53

А в этой строке IP адрес интересующего сайта:

Источник

Как посмотреть DNS в Linux

Служба DNS или Domain Name System позволяет превращать легко читаемый адрес сайта в ip адрес сервера на котором расположен этот сайт. Для этого используются DNS серверы, которые содержат таблицы соответствия ip адресов их доменным именам. По умолчанию система получает адрес DNS сервера автоматически по DHCP при подключении к сети.

Читайте также:  Linux while process running

В этой статье мы разберемся как посмотреть какие DNS серверы используются в Linux.

Как посмотреть DNS в Linux

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

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

В самом низу вывода утилиты можно посмотреть DNS в Linux, которые сейчас используются. Информация выводится по каждому сетевому интерфейсу отдельно.

Также для решения подобной задачи можно использовать утилиту nmcli:

Как видите, все очень просто. А чтобы изменить DNS сервер тоже трогать /etc/resolv.conf не желательно, так как он будет автоматически обновляться после перезагрузки. Если вы используете NetworkManager, то можно настроить DNS для сетевого подключения в интерфейсе программы. Или же можно отредактировать файл /etc/systemd/resolved.conf и добавить нужные адреса в секцию Resolve:

sudo vi /etc/systemd/resolved.conf

Как видите, все очень просто. Надеюсь, эта информация была вам полезной.

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Источник

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.

Читайте также:  Linux d link dub e100

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).

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 

Источник

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