1

Мой Macbook под управлением Snow Leopard не может разрешить некоторые узлы в моей локальной сети (в которой есть локальный DNS-сервер). Запуск nslookup и dig работает (они получают ожидаемый адрес от ожидаемого сервера). Запуск ping <IP address> работает (я получаю пакеты), но ping home.local не работает (возвращает "Неизвестный хост") home.local - это имя сервера в моей домашней сети (под управлением Debian и dnsmasq).

Мой ноутбук с Windows может home.local по имени, как и другой Macbook (под управлением Leopard). Мой ноутбук Snow Leopard может пропинговать мой другой macbook по имени, но никаких других хостов

Домашний DNS-сервер представляет собой блок Debian (etch), на котором выполняется dnsmasq , DHCP-сервер на маршрутизаторе настроен на обслуживание IP-адреса блока debian в качестве DNS-сервера. Все ноутбуки выбирают правильные настройки сети (ipaddress, gw по умолчанию, сервер DNS), и я могу без проблем получить доступ к хостам в общедоступном Интернете с моего MacBook Snow Leopard (то есть DNS-запрос переходит к dnsmasq на моем компьютере с Debian). и перенаправляется на DNS-серверы у моего провайдера). Единственные серверы, которые я не могу пропинговать по имени - это серверы в моей локальной сети.

2 ответа2

2

Я использую dnsmasq через Tomato на своем домашнем маршрутизаторе и не столкнулся с какими-либо проблемами со Snow Leopard.

Откуда вы знаете, что запросы с Mac проходят через ваш сервер? Можете ли вы увидеть запросы в журналах? Если да, то как выглядят запросы на хосты в локальной сети, они вообще отображаются в журналах?

Посмотрите на Настройки сети, Дополнительно, вкладка DNS. Убедитесь, что нет редактируемых (черных) записей. В списке должны быть указаны только DNS-серверы, предоставленные вашим DHCP-сервером и включающие ваш локальный сервер.

Также попробуйте выполнить ваши тесты с помощью dscacheutil вместо nslookup , это позволит убедиться, что вы видите те же результаты, что и другие приложения на компьютере. Вы можете выполнить запрос следующим образом:

dscacheutil -q host -a name <hostname>

Также попробуйте очистить локальный кеш DNS:

dscacheutil -flushcache
0

Учитывая это:

  1. Вы используете Snow Leopard и используете dnsmasq из etch, который не работает
  2. SidneySM запускает Snow Leopard и использует dnsmasq Tomato, который делает

Я подозреваю, что у вас есть более старая версия dnsmasq, которая не совместима со Snow Leopard.

Проверьте версию dnsmasq вашего сервера etch:

$ dpkg -l | grep dnsmasq

Если он старше текущего пакета etch 2.35-1+etch4, обновитесь до последнего, перезагрузите все и попробуйте снова:

$ sudo apt-get install dnsmasq

Если текущий пакет не работает, установите версию из backports. Возможно, вам потребуется добавить репозиторий backports в ваш файл /etc/apt/sources.list, чтобы получить к ним доступ. Или загрузите backports .deb и установите пакет напрямую:

$ sudo dpkg -i path/to/downloaded/dnsmasq-backports-package.deb

Если пакет backports не работает, вы можете свернуть свои собственные, взяв последний исходный код dnsmasq и скомпилировав его самостоятельно. Возможно, вам придется сделать это, если вы работаете с версией Ubuntu Edgy, поскольку их хранилища для Edgy были закрыты.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .