Проблема заключается в следующем:
Имеется сервер под управление Gentoo. На нем стоит bind. Все прекрасно работает. Сам сервер подключается к интернету через pptp. в resolv.conf все производится ручками, первым я указываю свой локальный сервер (себя же), далее идут 2 интернетовских. Но при таком раскладе ping работает адекватно, а wget, браузеры и прочее скачать ничего из интернета не могут (мол нет разрешения для такого имени). Если удаляю запись про локальный сервер - интернет работает, но локальные серверы по своим именам, конечно, не работают.
Использование resolv.conf на dns-сервере
В локальном днс можно указать, что в случае неразрешения имени, отправлять запрос на другой днс, который это имя знает.
В /etc/named.conf добавь:
forwarders { isp_dns_ip_1; isp_dns_ip_2; etc...; };да все наоборот. Мне нужно, чтоб по умолчанию использовался локальный сервер, а если в нем записи нет - тогда на глобальный обращение. Причем, это настройки не для сети, а для самого сервера. В сети в нормально. Просто, некоторые адреса доступны также и из глоба.
Что-то странное у тебя там... Точнее непонятно что именно тебе нужно.
Мне нужно, чтоб по умолчанию использовался локальный сервер, а если в нем записи нет - тогда на глобальный обращение. Причем, это настройки не для сети, а для самого сервера. В сети в нормально.
Не важно.
Если ты укажешь в resolv.conf nameserver 127.0.0.1 и он вернет, что запись не найдена, то ко второму nameserver'у обращения _не_будет_.
Если нужно указать ip-адреса для какого-либо внешнего домена на сервере - создай для него отдельную зону в BIND Named или используй hosts.
Просто, некоторые адреса доступны также и из глоба.
Да из глоба все глобальные адреса доступны...
Мне как раз надо, чтоб на ресурсы, которые также из интенета доспутпы - отбращались через локальную сеть. Нп всех жругих компах (в том числе и никсовых) три различных ns в resolv.conf вполне адекватно работают.
Мне как раз надо, чтоб на ресурсы, которые также из интенета доспутпы - отбращались через локальную сеть. Нп всех жругих компах (в том числе и никсовых) три различных ns в resolv.conf вполне адекватно работают.
А куда указывает первый ns на любой другой машине, где "все" работает?
Насколько я понял ситуация следующая:
Есть сейчас:
1. У вас локальная сеть.
2. В интернет ходят все через ваш роутер.
3. Настроен локальный днс.
4. На машинах в локалке прописан ваш локальный днс.
Надо:
1. Чтобы инетовские адреса резольвились и локальные машины могли выходить в инет. Но в то же время была доступна и локальная днс-зона.
Решение:
На роутере (на котором работает bind, если я правильно понял)
1. в resolv.conf пишем 127.0.0.1
2. в named.conf, как правильно советовал Cr3w добавляем
forwarders { isp_dns_ip_1; isp_dns_ip_2; etc...; };
При этом днс-сервер будет сначала искать запрошенный адрес сначала в своих базах, а если не найдет, то обратится к серверам isp_dns_ip_1 или isp_dns_ip_2 (зависит от их доступности).
После изменения named.conf обязательно нужно перезапустить демона. Иначе настройка не применится.
Поправьте меня, если я неправильно понял ваш вопрос.
З.Ы. Не знаю как у вас настроен файрвол, поэтому добавлю следующее: для обращений наружу должны быть разрешены 53 tcp и 53 udp.
Не совсем так, тот серв, на котором dns - не является шлюзом. Попробовал, как в инструкции - не работает, глобальные адреса не пингуются.
Помогло добавление в named.ca соответствующих серверов.
тогда дополнение к инструкции:
на компьютере с днс в resolv.conf пишем
nameserver 127.0.0.1
а у шлюза
nameserver адрес_локального_днс
хм.. а у компьютера, который выполняет роль днс-сервера есть доступ к интернету? нужен прямой, а не через прокси.
еще один вопрос. ваша локальная днс-зона не перекрывает какую-либо глобальную? Можно увидеть ваш named.conf?
Не успел ответить
Помогло добавление в named.ca соответствующих серверов.
А зачем вы их удаляли? Или у вас фал был пустой посте установки bind? =)
кое-что перекрывает, но только отдельные хосты. named.ca я сам очищал (он не требовался).
Да и в сети все седят не через шлюз, а через pptp, так что каждый комп отдельно к инету цепляется через -сервер провайдера. Сеть общественная.