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

Не розолвятся доменные имена

 , ,


0

1

Имеется утсройство на котором стоит Debian

root@(none):~# lsb_release -a
No LSB modules are available.
Distributor ID:	Debian
Description:	Debian GNU/Linux 9.1 (stretch)
Release:	9.1
Codename:	stretch

Долго и упорно не могу добится от него того, чтобы корректно велась работа с DNS сервером. Пользователь из меня «далеко не продвинутый», поэтому вместо опыта использую гугл. Вполне возможно чего-то простого не замечаю/не понимаю.

Пинги на 8.8.8.8 и google.com

root@(none):~# ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=43 time=56.6 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=43 time=47.9 ms

root@(none):~# ping google.com
ping: google.com: Temporary failure in name resolution

В resolv.conf

root@(none):~# cat /etc/resolv.conf
# Generated by resolvconf
nameserver 8.8.8.8

resolvconf -v

root@(none):~# resolvconf -v
DOMAIN=''
SEARCH=''
NAMESERVERS='8.8.8.8'
LOCALNAMESERVERS=''
DOMAINS=''

В interfaces (в сеть смотрит только net0)

root@(none):~# cat /etc/network/interfaces
# interfaces(5) file used by ifup(8) and ifdown(8)
# Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d
iface lo inet loopback
	address 127.0.0.1
	netmask 255.0.0.0
auto net0
allow-hotplug net0
iface net0 inet static
	address 192.168.4.1
	netmask 255.255.255.0
	gateway 192.168.4.254
	dns-nameservers 8.8.8.8
#auto net0:2
#allow-hotplug net0:2
#iface net0:2 inet dhcp
auto net1
allow-hotplug net1
iface net1 inet static
	address 192.168.7.1
	netmask 255.255.255.0
	#gateway 
	#dns-nameservers 
#auto net1:2
#allow-hotplug net1:2
#iface net1:2 inet dhcp

ifconfig

root@(none):~# ifconfig
lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 0  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

net0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.4.1  netmask 255.255.255.0  broadcast 192.168.4.255
        inet6 fe80::6abc:cdff:fea6:2974  prefixlen 64  scopeid 0x20<link>
        ether 68:bc:cd:a6:29:74  txqueuelen 1000  (Ethernet)
        RX packets 63  bytes 8985 (8.7 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 48  bytes 3184 (3.1 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

net1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.7.1  netmask 255.255.255.0  broadcast 192.168.7.255
        inet6 fe80::8ab7:ddff:fe6f:e7e2  prefixlen 64  scopeid 0x20<link>
        ether 88:b7:dd:6f:e7:e2  txqueuelen 1000  (Ethernet)
        RX packets 1131  bytes 174192 (170.1 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 525  bytes 62857 (61.3 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

tun0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST>  mtu 1500
        inet 10.20.0.1  netmask 255.255.255.0  destination 10.20.0.1
        unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  txqueuelen 100  (UNSPEC)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

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

По умолчанию в репозиториях (зашиты в образ, что мне дали) только это

root@(none):~# cat /etc/apt/sources.list
deb http://mirror.yandex.ru/debian stable main
deb-src http://mirror.yandex.ru/debian stable main

apt install не взлетает. Подозреваю, что какраз из-за dns.

0% [Connecting to mirror.yandex.ru]
Err:1 http://mirror.yandex.ru/debian stable/main armhf libgeoip1 armhf 1.6.9-4
  Temporary failure resolving 'mirror.yandex.ru'
И тд.

Я попробовал dig с другого компа сделать для адреса mirror.yandex.ru и подсунуть его в /etc/hosts, но, видимо, этого мало оказалось.

Из всех утилит на устройстве есть только nc.Не знаю, что netcat дожен выводить, но вывел

root@(none):~# nc -uv 8.8.8.8 53
Connection to 8.8.8.8 53 port [udp/domain] succeeded!
И задумался (не завершался).

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

Проверить /etc/nsswitch.conf, должно быть:

###hosts:          files mdns4_minimal [NOTFOUND=return] dns mdns4
hosts:          files dns
и на всякий случай /etc/host.conf:
order hosts,bind

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

nsswitch.conf

root@(none):~# cat /etc/nsswitch.conf 
# /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc-reference' and `info' packages installed, try:
# `info libc "Name Service Switch"' for information about this file.

passwd:         compat
group:          compat
shadow:         compat
gshadow:        files

hosts:          files dns
networks:       files

protocols:      db files
services:       db files
ethers:         db files
rpc:            db files

netgroup:       nis

Было root@(none):~# cat /etc/host.conf

multi on

Стало

root@(none):~# cat /etc/host.conf 
multi on
order hosts,bind

С виду, ничего не изменилось. (ping и apt install)

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

Значит дальше нужно смотреть firewall - не запрещает ли он исходящие или входящие пакеты, проверить tcpdump-ом попытки выхода dns-трафика наружу:

tcpdump -ni any port 53 or icmp

spirit ★★★★★
()
Последнее исправление: spirit (всего исправлений: 1)
Ответ на: комментарий от spirit

Ещё бы взять где-то tcpdump без apt'а. Я могу попробовать из исходников прямо на устройстве собрать, но не знаю, что из этого выйдет :) Можно как-нибудь с убитым dns'ом заставить работать репозитории для установки утилит?

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

Можно как-нибудь с убитым dns'ом заставить работать репозитории для установки утилит?

ksh@sysadmin:~$ dig mirror.yandex.ru in a

;; ANSWER SECTION:
mirror.yandex.ru.	600	IN	A	213.180.204.183

Дальше просто в /etc/hosts приколоти этот айпишник и запускай apt

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

Он уже прописан там. Особо не помогло. Но, зато, помогло предыдущее сообщение про firewall, дело было в нём. tcpdump у меня нет, но хватило просто просмотра iptables -L. В образе заранее анально забаррикадировано всё на свете, судя по всему. Дропул все правила (благо образ можно всегда заново залить) разом, всё начало пинговаться.

Большое спасибо за помощь.

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

Все инпуты за исключенимем парочки уже использующихся. Добавил iptables -A INPUT -p udp --sport 53 -j ACCEPT в начало таблицы и завелось.

lolobotik
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.