Всем привет, настроил локально bind9 для делегирования зоны .local без форвардинга к внешним dns. Добавил в /etc/conf/resolvconf/tail nameserver 127.0.0.1 и обновил resolv.conf с помощью resolvconf -u. Однако при попытке обратиться к любому домену в этой зоне вылазяет ошибка host not found. Как я понимаю проблема в том что при резолве ip адреса по доменому имени шлется мультикаст запрос на все dns сервера в resolv.conf, и, если кто-то из них отвечает что хост не найден, то, ответ от остальных серверов не ожидается. Пытался изменить это поведение через /etc/nsswitch.conf, но и это не помогло. Как я могу заставить убунту сперва резолвить на локальном днс, а потом на внешнем? bind настроен корректно, так как что dig, что nslookup резолвит ip адреса (только если жестко указать им какой днс сервер использовать).
Эм, dnsmasq уже работает у вас как кэширующий dns proxy. Прочие его функции будут работать как настроите (i.e. мешать не будет если сами не напортачите).
Можно настроить чтоб dnsmasq в том числе обращался к bind (помимо основных dns), но зачем?
> А могу ли я запретить прямое обращение по адресу local? Надо пропустить только *.local.
Нет, не думаю. В случае если local ссылается на 127.0.0.1 это не критично.
> И как оно с avahi дружить будет?
Зону local с avahi вообще использовать не рекомендуют. Выберите другое имя.
> И как я могу запустить локально bind без проблем?
А какие с ним проблемы? Берёте bind, запускаете.
Сделал через dnsmasq, но, nsswitch таки пришлось менять. Теперь зона local работает, но, долго, так как пересекается с avahi. Проблема с avahi в процессе решения. Думаю поменять его дефолтную зону, но, возник вопрос. Если другой комп выбрал адре6с в зоне local, а мой в lo. То будет ли с моего виден тот, но, в зоне local?