Linux dns не работает

Обновлено: 04.07.2024

С момента отключения Wi-Fi день или около того назад у меня нет доступа к Интернету на моем компьютере с ubuntu. Я могу пинговать 8.8.8.8, поэтому я считаю, что проблема связана с DNS. Однако ручная настройка DNS в сетевом менеджере ничего не дает. Я также попробовал systemctl enable resolved, но мне сказали, что у меня вообще нет файла resolved.service.

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

Edit: Ввод cat /etc/resolv.conf возвращает No such file or directory. Edit 2: После совета из предыдущего ответа, cat /etc/resolv.conf теперь выдает:

Этот файл управляется man:systemd-resolved(8) Не редактировать.

Кроме того, ввод /etc/reslov.conf дает bash: /etc/resolv.conf: Permission denied, если это может быть кому-то полезно.

Edit 4: Каким-то образом, по причинам, известным только Богу, cat /etc/resolv.conf снова говорит мне, что такого файла нет. Я перезагрузил компьютер минуту назад, чтобы посмотреть, не исправит ли это ситуацию. Очевидно, что это не помогло. При вводе sudo ln -s /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf возвращается Unable to resolve host (my name)'s computer: Temporary failure in name resolution, после чего (после ввода пароля) ln: failed to create smbolic link etc/resolv.conf: No such file or directory

Edit 5: После создания текстового файла nameserver 8.8.8.8 и попытки сохранить его как * etc/resolv.conf* мне говорят, что есть ошибка для каждого места, в котором я попытаюсь сохранить его, так как есть "No such file or directory."

Это совершенно новое и не происходит, когда я сохраняю быстро составленный документ word.

Edit 6: Ошибка при попытке сохранить новый файл, они следующие:

(gedit: 3844): Tepl-WARNING ** (timestamp): Метаданные GVfs не поддерживаются откат к TeplMetadataManager. Либо GVfs установлен неправильно, либо метаданные GVfs не поддерживаются на этой платформе. В последнем случае необходимо настроить Tepl с параметром --disable-gvfs-metadata

(gedit: 3998) WARNING ** (timestamp): Hit unhandled case 11 (error opening file "/etc/resolv. conf": слишком много уровней символических ссылок) в parse_error

(geditt:3998) CRITICAL ** (timestamp) _gedit_tab_save_as_async: assertion'tab-> state == GEDIT_TAB_STATE_NORMAL || tab->state == GEDIT_TAB_STATE_EXTERNALLY_MODIFIED_NOTIFICATION || tab-> state == GEDT_TAB_STATE_SHOWING_PRINT_PREVIEW' failed

Кроме того, при попытке открыть старый /etc/resolv. conf мне говорят, что он не может быть открыт, потому что "его цель "/run/system/resolve/stub-resolv.conf" не существует"

Edit 7: rm /etc/resolv.conf выдает rm: cannot remove '/etc/resolv.conf': permission denied

Я также не могу просто перетащить его в корзину или удалить другими известными способами.

Я начинаю задумываться, не проще ли сейчас полностью переустановить ubuntu.

Это работает! Похоже, что проблема была в странном последнем остатке моей старой VPN. После его удаления и перезагрузки машины проблема исчезла. Хотя меня все еще беспокоят такие вещи, как то, что компьютер не может найти /etc/resolv.conf, когда я приказываю ему уничтожить файл, я могу перейти этот мост позже.

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

Решено: Не работает DNS - не преобразуются адреса в ip.

Для новичков как вообще в Linux, так и в конкретной теме, к которой относится вопрос.

Модератор: Bizdelnick

Решено: Не работает DNS - не преобразуются адреса в ip.

так быть не должно.
Почему нет dhclient'а? Поставьте немедленно.

The answer, my friend, is blowin' in the wind.
The answer is blowin' in the wind.
Посмотри, что прописано в /etc/resolv.conf. Там должны быть строчки вида
А ведь когда-то не боялись мы программы любой,
И с одним лишь debug'ом выходили на бой,
И искусно написанный вирус встречали как брата А какие они? /etc/resolv.conf кажись нет. dhclient шас поставлю.

Попробуй создать и прописать в нём dns-сервера.

А ведь когда-то не боялись мы программы любой,
И с одним лишь debug'ом выходили на бой,
И искусно написанный вирус встречали как брата Создал resolve.conf, в нем прописал ip моего роутера - ничего. За delisetup спасибо, но он оказался почти бесполезным - сказал, что сеть удачно сконфигурирована, но так ничего и не получилось.
А какие есть dns-сервера?
Это надо у провайдера узнавать. Ещё можно попробовать использовать гугловские: 8.8.8.8, 8.8.4.4.
А ведь когда-то не боялись мы программы любой,
И с одним лишь debug'ом выходили на бой,
И искусно написанный вирус встречали как брата Создал resolve.conf, в нем прописал ip моего роутера - ничего. За delisetup спасибо, но он оказался почти бесполезным - сказал, что сеть удачно сконфигурирована, но так ничего и не получилось.
А какие есть dns-сервера?
1. /etc/resolv.conf
2. DNS'ы нужно взять у провайдера
The answer, my friend, is blowin' in the wind.
The answer is blowin' in the wind. Пакетный менеджер-то есть, но ему надо указать точное имя файла, на диске dhcp-клиента нет, да и интернета пока нет. Так что дело дрянь. А ведь когда-то не боялись мы программы любой,
И с одним лишь debug'ом выходили на бой,
И искусно написанный вирус встречали как брата Покажите результаты команд
ifconfig
route
tracert 8.8.8.8
и файл /etc/network/interfaces

ifconfig -a:
eth0 Link encap:Ethernet HWaddr 00:50:04:54:96:6C
inet addr:192.168.0.2 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Interrupt:10 Base address:0x6800

lo Link encap:Local Loopback
LOOPBACK MTU:16436 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)

Папки /etc/networks нет вообще, вот /etc/networks:

Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.0.0 * 255.255.255.0 U 0 0 0 eth0

tracert: Команда не найдена.

Заодно, содержимое каталога /etc:
adjtime bitlbee/ conf.d/ cron.d/ cron.daily/ cron.hourly/ cron.monthly/
cron.weekly/ cups/ ddclient/ devfsd.conf dhcpc/ fdprm fonts/
fstab group gtk-2.0/ hostname hosts hosts.allow.new hosts.deny.new
hotplug/ hotplug.d/ inetd.conf inittab inputrc issue ld.so.cache
lilo.conf lilo.conf.bak login.defs logrotate.d/ lynx.cfg lynx.lss
makepkg.conf man.conf mime.types modules.conf modules.devfs motd mtab
nanorc networks pacman.conf pango/ passwd pcmcia/ ppp/ profile profile.old
protocols rc* rc.conf rc.conf

rc.d/
rc.local* rc.modules* rc.multi* rc.multi

* rc.multi.abackup* rc.service*
rc.shutdown* rc.single* resolv.conf resolve.conf securetty services shadow
shadow- shells skel/ slsh.rc ssh/ ssl/ sysctl.conf syslog.conf txt TZ wgetrc
X11/ xml/ zhcon.conf

C'est tout. Voici tout les plumes de ma tante.

Да, еще подробности моей сети. Интернет->модем ADSL со встроенным роутером -> роутер -> компьютер. На роутере настроен Static DHCP для моего компа - 192.168.0.2, ip роутера - 192.168.0.1, маска подсети - 255.255.255.0.

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

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

Настройка DNS в Ubuntu через GUI

Раньше, для настройки DNS серверов, которые будут использоваться системой было достаточно внести адреса нужных серверов в файл /etc/resolv.conf. Но сейчас всей конфигурацией сети в Ubuntu управляет NetworkManager, а этот файл теперь представляет собой только ссылку на файл NetworkManager.

Этот способ до сих пор работает, но в нем вы можете настроить DNS на LiveCD, или до перезагрузки. После перезагрузки все настройки собьются и придется все делать заново. Поэтому, чтобы все сохранилось нужно выполнять все действия через интерфейс NetworkManager. Сначала откройте контекстное меню для значка сети на панели и выберите "Изменить подключения":


Выберите ваше подключение и нажмите "Изменить":


В открывшемся окне перейдите на вкладку "Параметры IPv4":


Затем, в поле "Способ настройки" выберите "Автоматически (DHCP, только адрес)":


Теперь немного ниже появиться поле "Серверы DNS", где вам нужно прописать нужные серверы, можно несколько адресов через запятую. Например, можно указать сервера от Google:


Поле этого нажмите "Сохранить" и "Закрыть". Теперь можете переподключитесь к этому соединению и можете проверять текущий DNS сервер:


Собственно, это все, но есть еще один способ настройки через консоль, если этот не сработал или вы предпочитаете работать из консоли.

Настройка DNS через терминал Ubuntu

В Ubuntu есть унифицированный интерфейс настройки сети, который настраивается через конфигурационный файл /etc/network/interfaces. Сначала смотрим список сетевых интерфейсов:


Откройте файл для редактирования и найдите в нем имя своего сетевого интерфейса, например, auto enp0s3, если такой секции нет, ее нужно добавить:

sudo vi /etc/network/interfaces

auto enp0s3
iface enp0s3 inet dhcp

Затем, добавьте в эту секцию строчку:


Здесь адрес 8.8.8.8 - это адрес вашего DNS сервера. Но эта настройка сработает, только если ваш DHCP клиент не пытается назначить адрес самостоятельно. Чтобы указать DNS адрес на уровне DHCP сервера нужно добавить такую строчку в конфигурационный файл /etc/dhcp/dhclient.conf:

sudo vi /etc/dhcp/dhclient.conf

supersede domain-name-servers 8.8.8.8


Здесь тоже адрес 8.8.8.8 означает адрес DNS сервера. Для верности, вы можете добавить свои адреса DNS серверов в файл /etc/resolvconf/resolv.conf.d/base:

sudo vi /etc/resolvconf/resolv.conf.d/base


Чтобы настройки вступили в силу необходимо перезапустить сеть:

sudo systemctl restart networking

Возможно, даже лучше будет если вы полностью перезагрузите компьютер. Теперь вы можете открыть /etc/resolv.conf и посмотреть применялся ли новый адрес DNS:


Как видите, в моем примере все заработало. Подобно этому выполняется настройка dns linux для любого дистрибутива.

Выводы

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

Есть 2 виртуалки (Oracle VirtualBox) с установленными CentOS. Написал в общий форум, потому что проблема с dns-ом, я думаю, не сильно зависит от ОС.

В общем на первой виртуалке установлен bind. Имеет такие настройки:

И есть вторая виртуалка. Обе виртуалки на одном компе. Через nmtui были вручную настроены адреса (Впрочем, пробовал и при автоматич. настройке).
Когда на первой виртуалке делаю nslookup - всё выводит корректно. Когда на второй - консолька думает-думает и потом пишет мол ни один сервер недоступен.

Проверял resolv.conf - там стоит адрес первой виртуалки.

192.168.0.1 - роутер
192.168.0.182 - адрес пингуемой виртуалки

В чем может быть дело? Что делать, что проверять?

__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь

Не пингуется DNS-сервер
что делать. сижу на Mageia . Перепишите вашу проблему на форум в виде текста. Правила, п. 5.18.

Сервер с DNS пингуется во всех подсетях, но не открывает сайт
есть виртуалка чисто под DNS. Пинг проходит со всех подсетей, но при попытке открыть сайт с любого.

Инет не работает,комп пингуется по локалке
комп пингуется по локальной сети,но не пингуется по внешним адресам,инет не работает.все произошло.

Народ, ну подскажите плз, куда копать-то, чтоб найти, в чем ошибка? На хосте неправильно настроена маршрутизация между виртуалками. А в чем именно неправильность? Они же друг друга пингуют А в чем именно неправильность? Они же друг друга пингуют Должны пинговать без редиректа.
1. Настройте на хосте мост и подключите к нему обе виртуалки.
2. Проверьте, слушает ли сервер на 53 порту по ipv4.на всех интерфейсах. В конфиге явно указан только интерфейс ::1

gng, убрал настройку айпишников через nmtui - стали пинговаться без редиректа
Сетевой мост и так настроен у всех виртуалок. По другому не работает сеть вообще.

И правда, слушало только на 127.0.0.1:53. Поставил < any; >- теперь слушает на всех интерфейсах.
Но толку ноль - всё равно днс имена не резолвятся. Пробовал с другой виртуалки на этом ноуте, с виртуалки на другом компе (просто перекачал диск virtualbox-а). Файрволы отключены (и на виртуалках и на хостах), айпитейблс грохнул всю нафиг. Не знаю что делать.
Прикрепил скрин выдачи нетстата по ":53"

gng, так.. сейчас происходила какая-то магия, так что всё по порядку

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

Настоящее время) Сначала я попробовал вашу команду:
nc -vu 127.0.0.1 53 на виртуалке с DNS-ом. Результат - коннектед и потом я могу вводить любой текст, от этого ничего не меняется. Я так понял, это я отправляю команды на порт, к которому подключился? Ну, я особо не разбирался
nc -vu 192.168.0.104(айпишник DNS-а от DHCP) 53 на виртуалке с DNS-ом. Результат - тот же самый.

Дальше пробую на второй виртуалке:
nc -vu 192.168.0.104(айпишник от DHCP) 53. Результат - сначала коннектед. Но потом, как только я ввожу любой текст, пишет, что соединение разорвано и "No route to host".

И в итоге сейчас всё работает, даже если опять поставить статик айпишники через nmtui и пингуются они без редиректа. Магия блин какая-то!

В общем большое Вам спасибо!

Добавлено через 1 час 20 минут
gng, так, я тут еще немного потестил и вот что заметил: каждый раз при запуске машины, на которой стоит DNS, нужно на ней выполнить команду iptables -F для того, чтоб можно было достучаться до DNSа извне.

Она при каждом запуске подгружается короче. Уже полчаса гуглю, но пока не нашел, как очистить окончательно

Читайте также: