(Следование до подобного вопроса для 12,04.)
До Ubuntu 12.04 можно видеть активный DNS в /etc/resolv.conf
. В Ubuntu 12.04 NetworkManager больше не работает с файлом. Необходимо непосредственно консультироваться с инструментом командной строки nm-tool
.
Интересно, nm-tool
больше не устанавливается по умолчанию в 14,04 и позже. Хотя можно все еще установить через apt-get install
, Вы не можете предположить, что вся Ubuntu имеет это из поля.
Таким образом, вопрос остается. Как Вы знаете стандартной установкой, DNS, который Вы используете командной строкой?
А новый инструмент NetworkManager nmcli
установлен по умолчанию теперь. Инструмент командной строки очень мощен, но немного более тверд учиться. Придерживайтесь нашего вопроса, короткий ответ:
nmcli dev show | grep DNS
или, для имения инструмента для очистки производит
nmcli dev show | grep DNS | sed 's/\s\s*/\t/g' | cut -f 2
, Если у Вас есть время, я могу объяснить вышеупомянутое гигантское бормотание:
nmcli dev show
Работы немного как старое nm-tool
команда. Это разрабатывает текущую сетевую информацию
, можно также изучить установку определенного интерфейса путем добавления имени интерфейса. Например, для изучения информации eth0
можно использовать nmcli dev show eth0
.
grep DNS
, Очевидно, grep только строки с текстом "DNS" в нем.
sed 's/\s\s*/\t/g' | cut -f 2
Это только для чистки вывода. Эти cut
может выбрать вывод столбцом, но требуется только 1 символ в качестве разделителя (в то время как nmcli
использование МНОГИЕ РАСПОЛАГАЮТ С ИНТЕРВАЛАМИ). sed
повороты пробелы, в исходном выводе, во ВКЛАДКУ.
проверьте свои сетевые соединения:
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
Это все еще доступно по умолчанию на версии 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 для получения полного отчета.
На самом деле 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
. Если Вы среди угловых случаев, для которых было представлено изменение, это должно стать очевидным быстро, и можно вернуться к поведению по умолчанию путем некомментария строки снова.
Пакетный анализ был бы альтернативным методом, который работает независимо от 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)
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
Если у кого-то есть тот же вопрос как я для Ubuntu 18.04LTS:
Перечислите все сетевые устройства, управляемые через администратора сети:
networkctl list
Покажите конфигурацию определенного устройства:
networkctl status eth0
Вместо eth0 необходимо ввести имя сетевого устройства, показанного в списке прежде. Если там никакая запись DNS, Ваша карта не имеет никакого настроенного сервера имен