Как знать то, что DNS - я использующий в Ubuntu от 14,04 вперед

(Следование до подобного вопроса для 12,04.)

До Ubuntu 12.04 можно видеть активный DNS в /etc/resolv.conf. В Ubuntu 12.04 NetworkManager больше не работает с файлом. Необходимо непосредственно консультироваться с инструментом командной строки nm-tool.

Интересно, nm-tool больше не устанавливается по умолчанию в 14,04 и позже. Хотя можно все еще установить через apt-get install, Вы не можете предположить, что вся Ubuntu имеет это из поля.

Таким образом, вопрос остается. Как Вы знаете стандартной установкой, DNS, который Вы используете командной строкой?

14
задан 13 April 2017 в 05:25

7 ответов

Быстрый Ответ

А новый инструмент NetworkManager nmcli установлен по умолчанию теперь. Инструмент командной строки очень мощен, но немного более тверд учиться. Придерживайтесь нашего вопроса, короткий ответ:

nmcli dev show | grep DNS

или, для имения инструмента для очистки производит

nmcli dev show | grep DNS | sed 's/\s\s*/\t/g' | cut -f 2


, Объясняют

, Если у Вас есть время, я могу объяснить вышеупомянутое гигантское бормотание:

  1. nmcli dev show

    Работы немного как старое nm-tool команда. Это разрабатывает текущую сетевую информацию

    , можно также изучить установку определенного интерфейса путем добавления имени интерфейса. Например, для изучения информации eth0 можно использовать nmcli dev show eth0.

  2. grep DNS

    , Очевидно, grep только строки с текстом "DNS" в нем.

  3. sed 's/\s\s*/\t/g' | cut -f 2

    Это только для чистки вывода. Эти cut может выбрать вывод столбцом, но требуется только 1 символ в качестве разделителя (в то время как nmcli использование МНОГИЕ РАСПОЛАГАЮТ С ИНТЕРВАЛАМИ). sed повороты пробелы, в исходном выводе, во ВКЛАДКУ.

30
ответ дан 23 November 2019 в 02:53

проверьте свои сетевые соединения:

ls /etc/NetworkManager/system-connections/

и выбирают соединение, которое Вы хотите настроить.

 sudo cat /etc/NetworkManager/system-connections/Internet | grep dns

Замена "Интернет" без Вашего имени подключения

<час>

Использование может все еще использовать nm-tool :

nm-tool | grep DNS

Установка это для U14.04 и более позднего использования

sudo apt-get install nm-tool

пример:

nm-tool | grep DNS
    DNS:             192.168.1.1
    DNS:             192.168.10.1
    DNS:             192.168.11.1
2
ответ дан 23 November 2019 в 02:53

Это все еще доступно по умолчанию на версии 14.04, поскольку это связывается администратором сети. Это было с тех пор отброшено от администратора сети (версия 15.04 и позже) и даже не доступно через Кв. - добираются.

На данный момент, на версии 15.04, можно загрузить и извлечь nm-инструмент из старого пакета вручную. Выполните следующие команды.

Первый, создайте временный каталог для работы в:

cd
mkdir APTGET;cd APTGET

Затем загрузите старую версию и извлеките файлы:

wget 'http://us.archive.ubuntu.com/ubuntu/pool/main/n/network-manager/network-manager_0.9.8.8-0ubuntu7.1_amd64.deb'
ar xvf *
tar xvf dat*

Делают новый каталог:

mkdir ~/bin

(если это говорит file already exists, просто проигнорируйте сообщение и продолжите двигаться).

Копия файл к новому каталогу:

cp ./usr/bin/nm-tool ~/bin

Возврат к корневому каталогу и удаляют временный каталог:

cd ..
rm -R APTGET

Теперь, устанавливает псевдоним для nm-инструмента:

cp ~/.bashrc ~/.bashback
echo 'alias nm-tool="~/bin/nm-tool"' | tee -a ~/.bashrc;. ~/.bashrc

текущий пользователь должен теперь смочь выполнить nm-инструмент от терминала.

<час>

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

можно перейти в DNSleaktest.com для получения полного отчета. Нажмите Extended Test для получения полного отчета.

1
ответ дан 23 November 2019 в 02:53

На самом деле NetworkManager действительно использует /etc/resolv.conf. Однако на настройках по умолчанию сервер DNS, перечисленный в resolv.conf, 127.0.0.1, потому что NetworkManager использует свой собственный внутренний сервис DNS приблизительно для неясные технические причины , которые не важны для многих людей. Поэтому необходимо использовать nmcli для наблюдения, какие серверы DNS NetworkManager использует внутренне.

Однако также возможно отключить это поведение и вернуться к старому, где фактический используемый сервер DNS перечислен в resolv.conf. Чтобы сделать это, просто прокомментируйте строку dns=dnsmasq в /etc/NetworkManager/NetworkManager.conf, и перезагрузка. Для большинства людей это не должно иметь никакого значения вне того, что фактический сервер DNS теперь покажут в resolv.conf. Если Вы среди угловых случаев, для которых было представлено изменение, это должно стать очевидным быстро, и можно вернуться к поведению по умолчанию путем некомментария строки снова.

1
ответ дан 23 November 2019 в 02:53

Пакетный анализ был бы альтернативным методом, который работает независимо от NetworkManager или другого инструмента сетевого соединения, который Вы используете. Основная идея состоит в том, чтобы отправить запрос DNS с nslookup и во второй терминальной проверке, куда пакеты идут.

Для этого мы должны были бы соединиться с сетью впервые, так, чтобы не было ничего создающего помехи соединениям и не выполняло следующую команду:

sudo tcpdump -vv -i wlan0 -W 1200 | grep google.com  

В альтернативном выполненном терминале:

nslookup google.com 

После того как Вы получаете список пакетов от tcpdump , проверьте, куда они идут от Вашего IP-адреса.

Например,

$ sudo tcpdump -vv -i wlan0 -W 1200 | grep google.com                            
tcpdump: listening on wlan0, link-type EN10MB (Ethernet), capture size 65535 bytes
    eagle.29862 > b.resolvers.Level3.net.domain: [udp sum ok] 64057+ [1au] A? google.com. ar: . OPT UDPsize=4096 (39)
    b.resolvers.Level3.net.domain > eagle.29862: [udp sum ok] 64057 q: A? google.com. 11/0/0 google.com. A 173.194.115.64, google.com. A 173.194.115.65, google.com. A 173.194.115.72, google.com. A 173.194.115.66, google.com. A 173.194.115.69, google.com. A 173.194.115.78, google.com. A 173.194.115.70, google.com. A 173.194.115.71, google.com. A 173.194.115.68, google.com. A 173.194.115.67, google.com. A 173.194.115.73 (204)
    eagle.16429 > b.resolvers.Level3.net.domain: [udp sum ok] 38822+ A? google.com. (28)

Как Вы видите, мой ноутбук,eagle, отправляет пакеты в DNS моего университета, b.resolvers.Level3.net.domain. Если Вы хотите видеть IP-адрес, можно использовать -n флаг с tcpdump.

Например:

$ sudo tcpdump -n -vv -i wlan0 -W 1200 | grep google.com                         
tcpdump: listening on wlan0, link-type EN10MB (Ethernet), capture size 65535 bytes
    10.10.87.145.56474 > 4.2.2.2.53: [udp sum ok] 15606+ A? google.com. (28)
4
ответ дан 23 November 2019 в 02:53

nmcli dev перечисляют | grep DNS

это произведет что-то как;
IP4.DNS[1]: 8.8.8.8 IP4.DNS[1]: 8.8.8.8 IP4.DNS[2]: 8.8.4.4

Вышеупомянутая команда работает до Ubuntu 16.04
Для использования Ubuntu 16.04:
nmcli dev show | grep DNS

1
ответ дан 23 November 2019 в 02:53

Если у кого-то есть тот же вопрос как я для Ubuntu 18.04LTS:

Перечислите все сетевые устройства, управляемые через администратора сети:

networkctl list

Покажите конфигурацию определенного устройства:

networkctl status eth0

Вместо eth0 необходимо ввести имя сетевого устройства, показанного в списке прежде. Если там никакая запись DNS, Ваша карта не имеет никакого настроенного сервера имен

1
ответ дан 23 November 2019 в 02:53

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

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