Вопрос или проблема
Я использую dnsmasq с “hosts” в качестве провайдера таблицы доменов. Когда я пытаюсь выполнить nslookup mole.mishland, он выдает следующее:
nslookup mole.mishland
Сервер: 192.168.0.34
Адрес: 192.168.0.34#53
Имя: mole.mishland
Адрес: 192.168.0.34
** сервер не может найти mole.mishland: REFUSED
Но я успешно могу выполнить dig, ping для этого домена и telnet на 53 порт:
; <<>> DiG 9.18.28-0ubuntu0.22.04.1-Ubuntu <<>> mole.mishland
;; глобальные параметры: +cmd
;; Получен ответ:
;; ->>HEADER<<- код операции: QUERY, статус: NOERROR, id: 29490
;; флаги: qr aa rd ra; ЗАПРОС: 1, ОТВЕТ: 1, АВТОРИТЕТ: 0, ДОПОЛНИТЕЛЬНЫЙ: 1
;; OPT PSEUDOSECTION:
; EDNS: версия: 0, флаги:; udp: 1232
;; СЕКЦИЯ ВОПРОСА:
;mole.mishland. IN A
;; СЕКЦИЯ ОТВЕТА:
mole.mishland. 0 IN A 192.168.0.34
;; Время запроса: 0 мс
;; СЕРВЕР: 192.168.0.34#53(192.168.0.34) (UDP)
;; КОГДА: Сб Ноя 16 10:06:24 МСК 2024
;; РАЗМЕР СООБЩЕНИЯ, полученного: 58
ping mole.mishland
PING mole.mishland (192.168.0.34) 56(84) байт данных.
64 байта от mole.mishland (192.168.0.34): icmp_seq=1 ttl=64 время=0.046 мс
64 байта от mole.mishland (192.168.0.34): icmp_seq=2 ttl=64 время=0.052 мс
64 байта от mole.mishland (192.168.0.34): icmp_seq=3 ttl=64 время=0.052 мс
64 байта от mole.mishland (192.168.0.34): icmp_seq=4 ttl=64 время=0.053 мс
^C
--- статистика ping для mole.mishland ---
4 пакета передано, 4 получено, 0% потерь пакетов, время 3049мс
rtt min/avg/max/mdev = 0.046/0.050/0.053/0.002 мс
telnet mole.mishland 53
Попытка подключения к 192.168.0.34...
Подключено к mole.mishland.
Символ экранирования - '^]'.
Моя конфигурация dnsmasq:
# Конфигурационный файл для dnsmasq.
#
# Формат - одна опция на строку, легальные опции такие же,
# как длинные опции, допустимые в командной строке. См.
# "/usr/sbin/dnsmasq --help" или "man 8 dnsmasq" для подробностей.
# Слушать на этом конкретном порту, а не на стандартном DNS порту
# (53). Установка этого в ноль полностью отключает функцию DNS,
# оставляя только DHCP и/или TFTP.
#port=5353
# Следующие две опции делают вас лучшим интернет-пользователем, так как они
# указывают dnsmasq отфильтровывать запросы, на которые публичный DNS не может
# ответить, и которые нагружают серверы (особенно корневые серверы)
# без необходимости. Если у вас есть подключение по требованию, они также предотвращают
# эти запросы от активации соединения без необходимости.
# Никогда не перенаправлять обычные имена (без точки или части домена)
domain-needed
# Никогда не перенаправлять адреса в не маршрутизируемых адресных пространствах.
bogus-priv
# Раскомментируйте это, чтобы включить проверку и кэширование DNSSEC:
# (Требует, чтобы dnsmasq был собран с опцией DNSSEC.)
#conf-file=%%PREFIX%%/share/dnsmasq/trust-anchors.conf
#dnssec
# Ответы, которые не подписаны DNSSEC, могут быть законными, потому что домен
# не подписан, или могут быть подделками. Установка этой опции говорит dnsmasq о том, что
# необходимо проверить, что неподписанный ответ приемлем, найдя надежное доказательство того, что DS
# запись где-то между корнем и доменом не существует.
# Стоимость установки этого в том, что даже запросы в неподписанных доменах будут нуждаться
# в одном или нескольких дополнительных DNS-запросах для проверки.
#dnssec-check-unsigned
# Раскомментируйте это, чтобы отфильтровать бесполезные запросы DNS, исходящие из Windows,
# которые могут необоснованно запускатьDial-on-demand соединения.
# Обратите внимание, что (среди прочего) это блокирует все запросы SRV,
# так что не используйте это, если вы используете, например, Kerberos, SIP, XMMP или Google-talk.
# Эта опция влияет только на перенаправление, записи SRV, исходящие от
# dnsmasq (через строки srv-host=) не подавляются ею.
#filterwin2k
# Измените эту строку, если хотите, чтобы dns получал свои серверы сверху
# откуда-то, кроме /etc/resolv.conf
#resolv-file=
# По умолчанию dnsmasq будет отправлять запросы любому из известных ему серверов
# и старается отдавать предпочтение серверам, которые известны как находящиеся
# в сети. Раскомментирование этого заставляет dnsmasq пробовать каждый запрос
# с каждым сервером строго в порядке, в котором они появляются в
# /etc/resolv.conf
#strict-order
# Если вы не хотите, чтобы dnsmasq читал /etc/resolv.conf или любой другой
# файл, получая свои серверы из этого файла вместо (смотрите ниже), то
# раскомментируйте это.
no-resolv
# Если вы не хотите, чтобы dnsmasq опрашивал /etc/resolv.conf или другие файлы resolv
# на наличие изменений и считывал их снова, тогда раскомментируйте это.
#no-poll
# Добавьте здесь другие серверы имен, с указанием домена, если они предназначены для
# непубличных доменов.
#server=8.8.8.8
#server=8.8.4.4
# Пример маршрутизации PTR запросов к серверам имен: это направит все
# запросы адрес->имя для 192.168.3/24 к серверу имен 10.1.2.3
#server=/3.168.192.in-addr.arpa/10.1.2.3
# Добавьте здесь локальные домены, запросы в этих доменах отвечаются
# из /etc/hosts или только по DHCP.
#local=/localnet/
# Добавьте домены, которые вы хотите перенаправить на IP адрес здесь.
# Пример ниже отправляет любой хост в double-click.net на локальный
# веб-сервер.
#address=/mole.mishland/192.168.0.34
# --address (и --server) работают с адресами IPv6 также.
#address=/www.thekelleys.org.uk/fe80::20d:60ff:fe36:f83
# Добавьте IP всех запросов к yahoo.com, google.com и их
# поддоменам к vpn и поисковым ipset:
#ipset=/yahoo.com/google.com/vpn,search
# Добавьте IP всех запросов к yahoo.com, google.com и их
# поддоменам в сетки netfilters, что эквивалентно
# 'nft add element ip test vpn { ... }; nft add element ip test search { ... }'
#nftset=/yahoo.com/google.com/ip#test#vpn,ip#test#search
# Используйте наборы netfilters как для IPv4, так и для IPv6:
# Это добавляет все адреса в *.yahoo.com в vpn4 и vpn6 для адресов IPv4 и IPv6.
#nftset=/yahoo.com/4#ip#test#vpn4
#nftset=/yahoo.com/6#ip#test#vpn6
# Вы можете контролировать, как dnsmasq разговаривает с сервером: это заставляет
# запросы к 10.1.2.3 маршрутизироваться через eth1
# server=10.1.2.3@eth1
# и это устанавливает исходный (т.е. локальный) адрес, используемый для обращения к
# 10.1.2.3 на 192.168.1.1 порт 55 (на машине, очевидно, должен быть интерфейс с
# этим IP).
# [email protected]#55
# Если вы хотите, чтобы dnsmasq сменил uid и gid на что-то другое,
# чем по умолчанию, измените следующие строки.
#user=
#group=
# Если вы хотите, чтобы dnsmasq слушал запросы DHCP и DNS только на
# указанных интерфейсах (и петле), укажите название интерфейса
# (например, eth0) здесь.
# Повторите строку для более чем одного интерфейса.
interface=enp5s0
# Или вы можете указать, на каком интерфейсе _не_ слушать
#except-interface=
# Или на каком слушать по адресу (не забудьте включить 127.0.0.1, если
# вы используете это).
listen-address=192.168.0.34, 127.0.0.1
# Если вы хотите, чтобы dnsmasq предоставлял только службу DNS на интерфейсе,
# настройте его, как показано выше, и затем используйте следующую строку, чтобы
# отключить DHCP и TFTP на нем.
#no-dhcp-interface=
# На системах, которые это поддерживают, dnsmasq связывает адреса-воркеры,
# даже когда он слушает только на некоторых интерфейсах. Затем он отбрасывает
# запросы, на которые не должен отвечать. Это имеет преимущество,
# работая даже при приходящих и уходящих интерфейсах и смене адреса. Если вы
# хотите, чтобы dnsmasq действительно связывал только интерфейсы, на которых он
# слушает, раскомментируйте эту опцию. Как правило, это нужно только в случае,
# если вы запускаете другой сервер имен на той же машине.
bind-interfaces
# Если вы не хотите, чтобы dnsmasq читал /etc/hosts, раскомментируйте
# следующую строку.
#no-hosts
# или если хотите, чтобы он прочитал другой файл, помимо /etc/hosts, используйте
# это.
#addn-hosts=/etc/banner_add_hosts
# Установите это (и домен: смотрите ниже), если хотите автоматически добавлять домен
# к простым именам в hosts-файле.
#expand-hosts
# Установите домен для dnsmasq. это необязательно, но если он установлен, он
# делает следующее.
# 1) Позволяет DHCP хостам иметь полностью квалифицированные доменные имена, пока
# часть домена соответствует этой настройке.
# 2) Устанавливает опцию DHCP "domain", тем самым потенциально устанавливая
# домен всех систем, настроенных по DHCP
# 3) Обеспечивает часть домена для "expand-hosts"
domain=mishland
# Установите другой домен для конкретной подсети
#domain=wireless.thekelleys.org.uk,192.168.2.0/24
# То же самое, но диапазон, а не подсеть
#domain=reserved.thekelleys.org.uk,192.68.3.100,192.168.3.200
# Раскомментируйте это, чтобы включить встроенный DHCP сервер, вы должны
# указать диапазон адресов, доступных для аренды, и, опционально,
# время аренды. Если у вас более одной сети, вам нужно будет
# повторить это для каждой сети, на которой вы хотите предоставить DHCP
# услуги.
#dhcp-range=192.168.0.50,192.168.0.150,12h
# Это пример диапазона DHCP, где указана маска сети. Это
# необходимо для сетей, которые мы достигаем сервера DHCP dnsmasq через релейного
# агента. Если вы не знаете, что такое релейный агент DHCP, вам, вероятно,
# не нужно беспокоиться об этом.
#dhcp-range=192.168.0.50,192.168.0.150,255.255.255.0,12h
# Это пример диапазона DHCP, который устанавливает тег, так что
# некоторые параметры DHCP могут быть установлены только для этой сети.
#dhcp-range=set:red,192.168.0.50,192.168.0.150
# Используйте этот диапазон DHCP только тогда, когда установлен тег "green".
#dhcp-range=tag:green,192.168.0.50,192.168.0.150,12h
# Укажите подсеть, которая не может использоваться для динамического распределения адресов,
# доступная для хостов с совпадающими строками --dhcp-host. Обратите внимание,
# что объявления dhcp-host будут игнорироваться, если нет диапазона dhcp
# какого-либо типа для рассматриваемой подсети.
# В этом случае маска сети подразумевается (она берется из сетевой
# конфигурации машины, на которой работает dnsmasq), можно дать
# явную маску сети вместо этого.
#dhcp-range=192.168.0.0,static
# Включить DHCPv6. Обратите внимание, что длина префикса не нужно указывать
# и по умолчанию она равна 64, если отсутствует.
#dhcp-range=1234::2, 1234::500, 64, 12h
# Выполнять объявления маршрутизатора, НО НЕ DHCP для этой подсети.
#dhcp-range=1234::, ra-only
# Выполнять объявления маршрутизатора, НО НЕ DHCP для этой подсети, также пытайтесь и
# добавлять имена в DNS для адреса IPv6 конфигурируемых dual-stack
# хостов. Используйте аренду DHCPv4 для получения имени, сетевого сегмента и
# MAC-адреса и предполагайте, что хост также будет иметь
# адрес IPv6, рассчитанный с использованием алгоритма SLAAC.
#dhcp-range=1234::, ra-names
# Выполнять объявления маршрутизатора, НО НЕ DHCP для этой подсети.
# Установите срок службы на 46 часов. (Примечание: минимальная продолжительность жизни 2 часа.)
#dhcp-range=1234::, ra-only, 48h
# Делайте DHCP и объявления маршрутизатора для этой подсети. Установите бит A в RA
# так, чтобы клиенты могли использовать адреса SLAAC, а также адреса DHCP.
#dhcp-range=1234::2, 1234::500, slaac
# Выполнять объявления маршрутизатора и статeless DHCP для этой подсети. Клиенты не будут
# получать адреса от DHCP, но они получат другую конфигурационную информацию.
# Они будут использовать SLAAC для адресов.
#dhcp-range=1234::, ra-stateless
# Делать статeless DHCP, SLAAC и генерировать имена DNS для адресов SLAAC
# из аренды DHCPv4.
#dhcp-range=1234::, ra-stateless, ra-names
# Выполнять объявления маршрутизатора для всех подсетей, где мы выполняем DHCPv6
# Если не переопределен ra-stateless, ra-names и т.д., объявления маршрутизаторов
# будут иметь установленные биты M и O, так что клиенты
# получают адреса и конфигурацию от DHCPv6, а бит A сбрасывается, так что
# клиенты не используют адреса SLAAC.
#enable-ra
# Подавать параметры для указанных хостов с использованием DHCP. Есть много
# допустимых альтернатив, поэтому мы приведем примеры каждой. Обратите внимание,
# что IP-адреса не обязательно должны быть в диапазоне, указанном выше, им просто
# нужно находиться в одной и той же сети. Порядок параметров в этих
# не имеет значения, допускается указывать имя, адрес и MAC в любом
# порядке.
# Всегда выделять хост с Ethernet-адресом 11:22:33:44:55:66
# IP-адрес 192.168.0.60
#dhcp-host=11:22:33:44:55:66,192.168.0.60
# Всегда устанавливать имя хоста с аппаратным адресом
# 11:22:33:44:55:66 как "fred"
#dhcp-host=11:22:33:44:55:66,fred
# Всегда давать хосту с Ethernet адресом 11:22:33:44:55:66
# имя fred и IP-адрес 192.168.0.60 и срок аренды 45 минут
#dhcp-host=11:22:33:44:55:66,fred,192.168.0.60,45m
# Дать хосту с Ethernet-адресом 11:22:33:44:55:66 или
# 12:34:56:78:90:12 IP-адрес 192.168.0.60. Dnsmasq предполагает,
# что эти два Ethernet интерфейса никогда не будут использованы одновременно,
# и присваивает IP-адрес второму, даже если он уже
# используется первым. Полезно для ноутбуков с проводными и беспроводными
# адресами.
#dhcp-host=11:22:33:44:55:66,12:34:56:78:90:12,192.168.0.60
# Дать машине, которая говорит, что ее имя - "bert", IP-адрес
# 192.168.0.70 и бесконечную аренду
#dhcp-host=bert,192.168.0.70,infinite
# Всегда давать хосту с клиентским идентификатором 01:02:02:04
# IP-адрес 192.168.0.60
#dhcp-host=id:01:02:02:04,192.168.0.60
# Всегда давать интерфейсу InfiniBand с аппаратным адресом
# 80:00:00:48:fe:80:00:00:00:00:00:00:f4:52:14:03:00:28:05:81
# IP-адрес 192.168.0.61. Идентификатор клиента выведен из префикса
# ff:00:00:00:00:00:02:00:00:02:c9:00 и последних 8 пар
# шестнадцатеричных цифр аппаратного адреса.
#dhcp-host=id:ff:00:00:00:00:00:02:00:00:02:c9:00:f4:52:14:03:00:28:05:81,192.168.0.61
# Всегда давать хосту с клиентским идентификатором "marjorie"
# IP-адрес 192.168.0.60
#dhcp-host=id:marjorie,192.168.0.60
# Включить адрес, указанный для "judge" в /etc/hosts
# чтобы был предоставлен машине, представляющей имя "judge", когда
# она запрашивает аренду DHCP.
#dhcp-host=judge
# Никогда не предлагать службу DHCP машине, чей Ethernet
# адрес 11:22:33:44:55:66
#dhcp-host=11:22:33:44:55:66,ignore
# Игнорировать любой client-id, представленный машиной с Ethernet
# адресом 11:22:33:44:55:66. Это полезно, чтобы предотвратить
# изменения в отношении машины, работающей под разными ОС или
# между PXE загрузкой и загрузкой ОС.
#dhcp-host=11:22:33:44:55:66,id:*
# Отправлять дополнительные параметры, которые отмечены как "red",
# машине с Ethernet адресом 11:22:33:44:55:66
#dhcp-host=11:22:33:44:55:66,set:red
# Отправлять дополнительные параметры, которые отмечены как "red",
# любой машине с Ethernet адресом, начинающимся на 11:22:33:
#dhcp-host=11:22:33:*:*:*,set:red
# Дать фиксированный IP адрес и имя клиенту с
# DUID 00:01:00:01:16:d2:83:fc:92:d4:19:e2:d8:b2
# Обратите внимание, что MAC адреса нельзя использовать для идентификации клиентов DHCPv6.
# Заметьте также, что квадратные скобки вокруг адреса IPv6 обязательны.
#dhcp-host=id:00:01:00:01:16:d2:83:fc:92:d4:19:e2:d8:b2, fred, [1234::5]
# Игнорировать любые клиенты, которые не указаны в строках dhcp-host
# или /etc/ethers. Эквивалентно ISC "deny unknown-clients".
# Это зависит от специального тега "known", который устанавливается, когда
# хост совпадает.
#dhcp-ignore=tag:!known
# Отправлять дополнительные параметры, которые отмечены как "red", любой машине, чей
# строка класса DHCP vendorclass содержит подстроку "Linux"
#dhcp-vendorclass=set:red,Linux
# Отправлять дополнительные параметры, которые отмечены как "red", любой машине, у которой
# одна из строк класса пользователя DHCP включает подстроку "accounts"
#dhcp-userclass=set:red,accounts
# Отправлять дополнительные параметры, которые отмечены как "red", любой машине, чей
# MAC адрес соответствует шаблону.
#dhcp-mac=set:red,00:60:8C:*:*:*
# Если эта строка раскомментирована, dnsmasq будет читать /etc/ethers и действовать
# на основании пар ethernet-адрес/IP, найденных там, так же, как если бы они были
# указаны как опции --dhcp-host. Полезно, если вы храните
# сопоставления MAC-адресов/хостов там для других целей.
#read-ethers
# Установите сервер DHCP для включения параметра опции быстрого подтверждения DHCPv4 по RFC 4039.
# В этом режиме он будет отвечать на сообщение DHCPDISCOVER, содержащее параметр быстрого подтверждения
# сообщением DHCPACK с параметром быстрого подтверждения и полностью утвержденным адресом
# и информацией о конфигурации. Это следует включить только в том случае, если сервер либо
# является единственным сервером для подсети, либо несколько серверов присутствуют и каждый из них
# подтверждает привязку для всех клиентов.
#dhcp-rapid-commit
# Запускать исполняемый файл, когда создается или уничтожается аренда DHCP.
# Аргументы, отправленные скрипту - "add" или "del",
# затем MAC-адрес, IP-адрес и, наконец, имя хоста,
# если таковое имеется.
#dhcp-script=/bin/echo
# Установите размер кэша здесь.
#cache-size=150
# Если вы хотите отключить негативное кэширование, раскомментируйте это.
#no-negcache
# Обычно ответы, которые исходят из /etc/hosts и файла аренды DHCP
# имеют Time-To-Live, установленный на ноль, что условно означает
# не кэшировать дальше. Если вы согласны на меньшую нагрузку на
# сервер в обмен на потенциально устаревшие данные, вы можете установить
# время жизни (в секундах) здесь.
#local-ttl=
# Если вы хотите, чтобы dnsmasq обнаруживал попытки Verisign отправлять запросы
# к незарегистрированным .com и .net хостам на свою службу sitefinder и
# вместо этого возвращал правильный ответ NXDOMAIN, раскомментируйте
# эту строку. Вы можете добавить аналогичные строки, чтобы сделать то же самое для других
# регистраторов, которые внедрили рекорды A с подстановочными знаками.
#bogus-nxdomain=64.94.110.11
# Если вы хотите исправить DNS результаты от вышестоящих серверов, используйте
# опцию псевдонима. Это работает только для IPv4.
# Этот псевдоним заставляет результат 1.2.3.4 отображаться как 5.6.7.8
#alias=1.2.3.4,5.6.7.8
# и это сопоставляет 1.2.3.x с 5.6.7.x
#alias=1.2.3.0,5.6.7.0,255.255.255.0
# и это сопоставляет 192.168.0.10->192.168.0.40 с 10.0.0.10->10.0.0.40
#alias=192.168.0.10-192.168.0.40,10.0.0.0,255.255.255.0
# Измените эти строки, если хотите, чтобы dnsmasq обслуживал MX записи.
# Возвращает MX-запись с именем "maildomain.com" с целью
# servermachine.com и предпочтением 50
mx-host=mole.mishland,mole.mishland
# Установите целевой адрес по умолчанию для MX-записей, создаваемых с помощью опции localmx.
#mx-target=servermachine.com
# Возвращает MX-запись, указывающую на mx-target для всех локальных
# машин.
#localmx
# Возвращает MX-запись, указывающую на себя для всех локальных машин.
#selfmx
# Измените следующие строки, если хотите, чтобы dnsmasq обслуживал SRV
# записи. Эти записи полезны, если вы хотите обслуживать запросы ldap для
# Active Directory и другие запросы DNS, исходящие из Windows.
# См. RFC 2782.
# Вы можете добавить несколько строк srv-host.
# Поля - <имя>,<целевое>,<порт>,<приоритет>,<вес>
# Если часть домена отсутствует в имени (так что оно имеет только
# секции сервиса и протокола), тогда используется домен, заданный
# в опции конфигурации domain=.
# (Обратите внимание, что для этого не нужно устанавливать expand-hosts.)
# SRV запись, отправляющая LDAP для домена example.com на
# ldapserver.example.com порт 389
#srv-host=_ldap._tcp.example.com,ldapserver.example.com,389
# SRV запись, отправляющая LDAP для домена example.com на
# ldapserver.example.com порт 389 (с использованием domain=)
#domain=example.com
#srv-host=_ldap._tcp,ldapserver.example.com,389
# Две SRV записи для LDAP, каждая с разными приоритетами
#srv-host=_ldap._tcp.example.com,ldapserver.example.com,389,1
#srv-host=_ldap._tcp.example.com,ldapserver.example.com,389,2
# SRV запись, указывающая на то, что нет LDAP сервера для домена
# example.com
#srv-host=_ldap._tcp.example.com
# Следующая строка показывает, как заставить dnsmasq обслуживать произвольную PTR
# запись. Это полезно для DNS-SD. (Обратите внимание, что расширение
# доменного имени для SRV записей _не происходит
# для PTR записей.)
#ptr-record=_http._tcp.dns-sd-services,"New Employee Page._http._tcp.dns-sd-services"
# Измените следующие строки, чтобы включить dnsmasq для обслуживания TXT записей.
# Эти записи используются для таких вещей, как SPF и zeroconf. (Обратите внимание, что
# расширение доменного имени для SRV записей _не происходит
# для TXT записей.)
#Пример SPF.
#txt-record=example.com,"v=spf1 a -all"
#Пример zeroconf
#txt-record=_http._tcp.example.com,name=value,paper=A4
# Предоставьте псевдоним для "локального" DNS имени. Обратите внимание, что это _только_ работает
# для целей, которые являются именами из DHCP или /etc/hosts. Дать хосту
# "bert" другое имя, bertrand
#cname=bertrand,bert
# Для целей отладки регистрируйте каждый DNS запрос по мере его прохождения через
# dnsmasq.
#log-queries
# Регистрируйте много дополнительной информации о транзакциях DHCP.
#log-dhcp
# Включите еще один набор конфигурационных опций.
#conf-file=/etc/dnsmasq.more.conf
#conf-dir=/etc/dnsmasq.d
# Включите все файлы в директории, кроме тех, что заканчиваются на .bak
#conf-dir=/etc/dnsmasq.d,.bak
# Включите все файлы в директории, которые заканчиваются на .conf
#conf-dir=/etc/dnsmasq.d/,*.conf
# Если DHCP клиент утверждает, что его имя - "wpad", игнорируйте это.
# Это исправляет проблему безопасности. см. CERT Уязвимость VU#598349
#dhcp-name-match=set:wpad-ignore,wpad
#dhcp-ignore-names=tag:wpad-ignore
Мой файл “hosts”:
127.0.0.1 localhost
127.0.1.1 Torial-Server
192.168.0.34 mole.mishland
# Следующие строки желательны для хостов, поддерживающих IPv6
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
192.168.0.34 mole.mishland
192.168.0.34 mole.mishland
Мой файл resolv.conf:
nameserver 192.168.0.34
nameserver 8.8.8.8
Ответ или решение
Причины ошибки "REFUSED" при использовании nslookup
с dnsmasq и вероятные решения
При работе с системой имен доменов (DNS) можно столкнуться с ошибкой REFUSED
, что часто указывает на ограничения или неправильные настройки самого сервера DNS. В вашем случае, когда вы пытаетесь выполнить команду nslookup mole.mishland
, и получаете сообщение об ошибке, несмотря на успешные результаты других утилит, таких как dig
и ping
, это может указывать на ряд возможных проблем и решений.
1. Понимание работы nslookup и его настроек
Команда nslookup
работает по-другому по сравнению с dig
. Она может запрашивать различные серверы DNS и иногда не отправляет запросы в определенном формате, что может привести к ошибкам, если сервер на это настроен неправильно. В частности, если сервер настроен на отклонение запросов, которые не соответствуют определенным критериям, nslookup
может давать ошибку REFUSED
.
2. Проверка конфигурации dnsmasq
Ваш файл конфигурации dnsmasq содержит важные параметры, которые могут влиять на его поведение:
- Настройка локальной сети: Убедитесь, что в
dnsmasq
правильно указано ваше локальное доменное имя. В этом случае этоdomain=mishland
, что должно помочь в разрешении имен. - Опция "no-resolv": Эта опция отключает чтение файлов, таких как
/etc/resolv.conf
. Если вы используете её, то убедитесь, что у вас есть указанные другие DNS-серверы. - Параметр "interface": Указание интерфейса, на котором dnsmasq должен слушать запросы, может повлиять на доступность сервера. Проверьте, правильно ли настроен ваш интерфейс.
3. Настройки кэша и разрешения имен
Также стоит обратить внимание на следующие моменты:
- Если используется параметр
bogus-priv
, это может помешать разрешению частных адресов. Поэкспериментируйте с этой опцией. - Убедитесь, что dnsmasq читает файл
/etc/hosts
, так как в нём содержится запись дляmole.mishland
, которая должна успешно разрешаться.
4. Проверка hosts-файла
Ваш hosts-файл выглядит правильно, однако убедитесь, что в нём нет дублирующихся записей, так как они могут вызвать путаницу в конфигурации:
192.168.0.34 mole.mishland
Убедитесь, что запись единственная и что нет конфликта с другими.
5. Дополнительные проверки
- Попробуйте выполнить команду
dig
с опцией@192.168.0.34
для проверки ответа от dnsmasq:dig @192.168.0.34 mole.mishland
- Возможно, придется перезапустить dnsmasq, чтобы изменения применились:
sudo systemctl restart dnsmasq
Заключение
Ошибка REFUSED
при использовании nslookup
может быть связана с неправильной конфигурацией вашего DNS-сервера или сетевыми параметрами. Проверьте все приведенные выше аспекты, и вы сможете выяснить корень проблемы. Попробуйте также использовать другие утилиты для диагностики (например, dig
или host
), так как они могут дать более полное представление о том, что происходит с DNS-запросами.