Назад | Перейти на главную страницу

Dnsmasq на прошивке Tomato не отвечает с простого именного адреса

Я хочу иметь доступ к компьютеру 192.168.0.3 под простым именем pos. Не "pos.com" или что-то в этом роде. С моей настройкой ниже я могу пинговать dev.pos, только не pos. Мне нужно проверить связь с mydomain.pos, чтобы получить ответ.

В Basic> Identification in Tomato я установил доменное имя на mydomain. (с периодом)

local-ttl=1
bogus-priv
domain=mydomain
expand-hosts
local=/pos/

address=/pos/192.168.0.3

В чем может быть проблема?

ОБНОВЛЕНИЕ: Когда я пингую от "ping tool" томатного маршрутизатора, я получаю правильный ответ при пинге "pos". Просто не с любого из подключенных к нему компьютеров.

ОБНОВЛЕНИЕ 0.5: Запуск nslookup и набор текста pos. (с периодом) работает; просто не без.

ОБНОВЛЕНИЕ 2: Еще одна проблема, которую я заметил, заключается в том, что мой локальный кеш DNS не обновляется при доступе к этим записям DNS. Итак, чтобы проверить:

cmd
ipconfig /flushdns
ping google.ca
ipconfig /displaydns
' Notice that there are entries
ipconfig /flushdns
ping dev.pos
ipconfig /displaydns
' Notice that there aren't any entries for dev.pos

Заглянув дальше, я наткнулся на эта ссылка. Однако изменение моей конфигурации на соответствие никому не помогает.

Зайдя в настройки моего адаптера Ethernet и изменив «Добавить эти DNS-суффиксы (по порядку) в«. », Это исправлено. Хотя это кажется грязным. Теперь мне нужно изменить этот параметр на всех подключенных компьютерах и на любом компьютере, на котором он не был изменен должен использовать "поз."

Для тех, кто все еще борется с этой проблемой: у меня был тот же вопрос, и я решил эту проблему в Tomato (после большого количества проб и ошибок), добавив следующее в DHCP / DNS -> Dnsmasq Custom Configuration (где «компьютер» - это рабочая станция ; «dom» - это домен, а «11.22.33.44» - IP-адрес рабочей станции):

local-ttl=1
expand-hosts
domain=dom
address=/computer.dom/11.22.33.44

Домен маршрутизатора (в разделе «Идентификация»), вероятно, должен быть установлен таким же (в данном случае: dom), но не уверен.

Теперь "ping computer" получает правильный ответ от Dnsmasq.

Я не могу точно сказать почему, но используя address=/pos.mydomain/192.168.0.3 вместо того address=/pos/192.168.0.3 работает.

dnsmasq не отправляет автоматически список поиска доменов на хосты, получающие IP-адреса с помощью DHCP. Для этого нужно установить параметр DHCP. Вы также должны указать адрес вашего маршрутизатора в качестве DNS-сервера. Проверьте документацию dnsmasq, чтобы узнать о некоторых данных, которые могут быть отправлены по DHCP.

  • Параметр DHCP 6 - это список серверов имен
  • Параметр DHCP 119 - это список доменных имен для списка поиска.

РЕДАКТИРОВАТЬ: если вы хотите иметь возможность ссылаться на сервер только по его имени, вы должны определить домен в dnsmasq. (Не используйте local так как это будет конфликтовать с zeroconf.) Некоторые маршрутизаторы используют lan, и localnet это традиционное имя. Установите этот домен в качестве первого домена в списке поиска.

У каждой из моих машин есть имя хоста, о котором они сообщают, или вы можете установить имя хоста вместе со статической записью DHCP в Basic -> Static DHCP/ARP/IPT.

Затем у меня есть домен, установленный в Basic -> Identification раздел.

Маршрутизатор разрешает DNS по имени хоста для машин в сети, даже без FQDN.

Никакой дополнительной ручной настройки или скриптов не требуется.