LINUX.ORG.RU
решено ФорумAdmin

Как включить разрешение DNS в debian?

 ,


1

1

Настраиваю debian minimal. Сеть работает, но dns не разрешается, любые программы пишут «Temporary failure in name resolution». Однако, nslookup работает:

# nslookup linux.org.ru
Server:		192.168.0.128
Address:	192.168.0.128#53

Non-authoritative answer:
Name:	linux.org.ru
Address: 178.248.233.6

/etc/resolv.conf тоже в порядке:

domain work.lan.
search work.lan.
nameserver 192.168.0.128

Что нужно сделать, чтобы резолвинг заработал? Только не предлагайте установить systemd-resolved или NetworkManager.

Ответ на: комментарий от anonymous

Он у тебя уже установлен :)

Однако да, действительно установлен.

Ты на одном и том же домене проверяешь «любые программы» и nslookup?

Да.

drill тоже работает?

Не знаю, что это.

fingolfin
() автор топика
Ответ на: комментарий от LamerOk

Выключи ipv6.

ipv6 только локальный, вот часть вывода ip address:

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether c8:fd:19:ef:b4:00 brd ff:ff:ff:ff:ff:ff
    inet 192.168.3.19/24 brd 192.168.3.255 scope global dynamic eth0
       valid_lft 5403sec preferred_lft 5403sec
    inet6 fe80::cafd:19ff:feef:b400/64 scope link
       valid_lft forever preferred_lft forever
fingolfin
() автор топика
Ответ на: комментарий от LamerOk

Выключи ipv6.

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

anonymous
()
Ответ на: комментарий от anonymous

Он у тебя уже установлен :)

Спасибо! Это оказалось ключевым :D Я догадался выключить эту парашу через systemctl disable --now systemd-resolved, удалил /etc/resolv.conf, и заново создал его через ifdown eth0 && ifup eth0. Теперь всё работает, всем спасибо за помощь!

fingolfin
() автор топика
Ответ на: комментарий от LamerOk

Отбой по таймауту в несколько минут ты куда зачислишь - в сокрушительный успех?

В список багов. Нигде, кроме apt, я такого поведения не видел, хотя v6-адреса в DNS приходят постоянно.

anonymous
()
Ответ на: комментарий от fingolfin

Лучше бы разобрался, почему не работает. Штука иногда полезная. Например, умеет DoT без сторонних решений. Или разные серверы для разных интерфейсов — это вообще киллер-фича. Но, конечно, «не всем это нужно»©

anonymous
()
Ответ на: комментарий от LamerOk

И именно там это чинится настройкой (потому что нормально сделать не хотят, видимо), названием которой завален весь гугл. Это точно не повод отключать ipv6 глобально, даже если он вроде бы и не нужен пока.

anonymous
()
Ответ на: комментарий от anonymous

Соглашусь, что для некоторых случаев может и полезен systemd-resolvd. Но мне как раз он не нужен, так уже есть свой кеширующий сервер с блекджеком и шл авторитетным dns.

А systemd и всю его экосистему не люблю за излишнюю сложность. Каждый раз приходится открывать маны и гуглить, что бы сделать какую-то простую вещь. Вот и сейчас: из-за этого resolvd резольвинг фактически не работал. Почему? А хрен знает, и не хочу я изучать ненужную мне технологию. Есть /etc/resolv.conf, как деды завещали: работает – не трогай :)

fingolfin
() автор топика
Ответ на: комментарий от anonymous

Вклинюсь в вашу дискуссию. Может это и плохой повод отключать ipv6. Но если кажется, что проблемы именно из-за него, то почему нет? ipv4 будет актуален ещё лет 10 точно, а скорее и все 30. А ipv6 нужно дополнительно изучить, освоить инструменты для его настройки. А это время и силы, которые лишние не у всех есть. Но если всё и так работает, то не вижу смысла опять же тратить время и силы, чтобы его отключать :)

fingolfin
() автор топика
Ответ на: комментарий от u5er

Мой одноплатник поставляется с демьяном, и, соответственно, инструментарием для сборки образов с демьяном. Поэтому не стал пытаться всё переделывать на диван – себе дороже выйдет.

fingolfin
() автор топика

/etc/resolv.conf тоже в порядке:

Т.к. работал systemd-resolved, то не в порядке

  • он должен быть ссылкой на /run/systemd/resolve/stub-resolv.conf . Вроде бы этого достаточно, чтобы network manager или systemd-networkd обнаружили systemd-resolved и начали с ним работать
  • и в нем - nameserver 127.0.0.53

Видимо, что-то было сломано. Тогда, скорее всего, при настройке интерфейса адрес dns не доходил до самого systemd-resolved

А обычные программы, в отличие от отладочных nslookup и dig, работают в т.ч. через /etc/nsswitch.conf . Где наверняка сначала идёт разрешение имен через resolved, а он не настроен

В итоге работает только nslookup и dig, т.к. они непосредственно выполняют запросы к dns, в обход как-там-эту-библиотеку-зовут-забыл

Но мне как раз он не нужен, так уже есть свой кеширующий сервер с блекджеком и шл авторитетным dns

Да, в рабочей сети он возможно не нужен. Если число запросов к dns не мешает

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

router ★★★★★
()