LINUX.ORG.RU
ФорумAdmin

Конфигуриррование BIND для локальной зоны с выходом в мир (исправленное форматирование)


0

0

Господа опытные сисадмины. Ответьте, плз. на такой вопрос по BIND.

Дано.
Есть локальная сеть. Есть шлюз в и-нет на FreeBSD, на котором
вертится BIND. И-нет - выделенный канал в сеть провайдера, оттуда,
ессестно через всякие файрволы и пр., в мир. Машина в сети прова
наз., к примеру, point5.provider.ru. В локальной зоне, например,
gate.localnet. Пров, как не просил на делегирование зону
point5.provider.ru не даёт.

Вопрос.
Как описать в named.conf внешнюю зону provider.ru, чтобы там
фигурировала машина
point5.provider.ru? Как secondary "provider.ru."? Но я для него
никакой не secondary, у него в конфигах не прописан и зону не
дублирую. Как forvard? Но в конфигах форвард-зоны не предусмотрено
файла описания зоны. Как hint, т. е. как кеширующую? Но во всех
примерах hint используется только для кеширования корневой зоны. В
общем, приведу конфиг, который в принципе работает, но...:

-----
options {
directory "/etc/namedb";
forwarders {
xxx.xxx.xxx.xxx;
};
};

zone "." {
type hint;
file "root.cache";
};

zone "provider.ru" { # Зона моего прова, место вопроса
type slave; # ??? !!!
file "provider.ru.direct";
};

zone "localnet" { # Моя локальная зона
type master;
file "localnet.direct";
};

zone "0.0.127.in-addr.arpa" {
type master;
file "localhost.rev";
};
-----

но во-первых это не правильно, ну да и фиг бы с ним, да nslookup не
запускается, говорит:

Can't find server name for address 192.168.0.1 (IP-адрес машины в
локальной сети, зона "localnet."): Non-existent host/domain. Default
server are not available

хотя dig, host нормально работают.

Если не очень трудно, обьясните, где грабли, или мож я не до конца
разобрался в этом? Неделю маны лопачу, голова опухла, а мне ещё
сендмыл отстраивать

anonymous

А зачем тебе это вообще? Нельзя просто прописать адрес DNS-сервера в /etc/resolv.conf? Ведь, насколько я понял, у тебя нет своего зарегистрированного домена?
PS: Sendmail - это просто песня.

mr_grind
()

Вот немного конфигов:
1. named.conf
--------------
// Файл настроек для только кеширующего сервера
options {
directory "/var/named";
forward first;
forwarders {adres.dns.tvoego.prova1;adres.dns.tvoego.prova2;};
};
zone "." {
type hint;
file "root.hints";
};
//это твои localhost адреса
zone "0.0.127.in-addr.arpa" {
type master;
file "127.0.0";
};

// думаю, что для локального домена будет понятно глядя на строку с
// zone "0.0.127.in-addr.arpa" {
// типа:

//это твои localnet адреса

zone "land-5.com" {
notify no;
type master;
file "zone/land-5.com";
};


zone "0.168.192.in-addr.arpa" {
notify no;//это, если не нужно сообщать мару о себе :))
type master;
file "pz/192.168.0";
};

-----------------
2. resolv.conf
Далее необходимо, чтобы файл /etc/resolv.conf выглядел примерно так:
------------------------------
search subdomain.your-domain.edu your-domain.edu
nameserver 127.0.0.1
nameserver 192.168.0.1
------------------------------

это НЕ рабочий пример - нужно еще много добавить прежде, чем нормально все заработает! Это только для ознакомления.

ЗЫ: давай мальный адрес - я доку скину.

screamer
()

Вторым nameserver'ом в resolv.conf должен быть IP провайдера, а не 192.168.0.1, а то ты, получается, 2 раза обращаешься к одному и тому же DNS-серверу. :-)

mr_grind
()

Я ведь _указал_, что named _!Файл настроек для кеширующего сервера!_

А то, что в resolf.conf указано два адреса локального сервера нет страшно. Зато будет видно, что сервер работает...

screamer
()

Оно и так будет видно, работает DNS или нет. Я одного понять не могу, зачем человеку провайдерская зона.

mr_grind
()

2 anonymous, который задал вопрос: в общем nslookup у тебя ругается правильно, у тебя же нет зоны:
zone "0.168.192.in-addr.arpa" {
...
};
Создай её, впиши в named.conf и всё должно заработать. И плюнь на "правильность" того, что ты прописал, на твоём провайдере это никак не скажется.

mr_grind
()

Я совсем не понял - оно тебе зачем? Что бы ты локально имел у себя point5.provider.ru? Ну пропиши его в /etc/hosts... Или я чего то совсем не понял?

Nefer
()

Можно попробовать забить на провайдере, тупо стащить эту зону (например ls -d в nslookup-е после server x.x.x.x, где x.x.x.x - DNS твоего прова), потом подправить как тебе надо и стать для нее master-ом. Извне это никак не увидят, а внутри будет так, как тебе надо.

spirit ★★★★★
()
Ответ на: комментарий от mr_grind

А чтобы вот. Сейчас нет, потом будет :) (на самом деле уже есть, но знаний не хватает, вот и тренеруюсь на домашней локальной сети).

Sendmail - просто песня. Лебединая. Или моя, наверное, но тоже лебединая. Один M4 чего стоит. Или рулесеты.

anonymous
()
Ответ на: комментарий от screamer

Я тут вроде сам разобрался, только я немного другим путём. Выражение(в смысле statement) zone {type slave} имеет параметр forward only, его и заюзал. Хотя то, что вы предлагаете - выглядит правильнее. А почему не рабочий? Вроде всё работает :-/ Моё мыло: jak_hunt@rednet.ru. Очень признателен за помощь (текущую и, надеюсь, дальнейшую ;).

anonymous
()
Ответ на: комментарий от mr_grind

А почему бы и не побаловаться? Только жалко ему (прову) :(

anonymous
()
Ответ на: комментарий от mr_grind

Пасибо, я тут уже вроде сам разобрался. Именно поэтому nslookup и ругался. Как только сделал реверсивную зону - сразу запустился. А на счёт правильности: мне очень нужно и срочно :) разобраться в принципах функционирования DNS, поэтому корректность конфигурации - вопрос принципиальный. Предстоит рулить множеством зон (рушных и прочих), а знаний не хватает. Ещё раз Вам спасибо.

anonymous
()
Ответ на: комментарий от spirit

Да не, мне нужно было чтобы меня по зоне третьего уровня было видно из мира. Хотя бы для того же сендмыла. А пров написал мне "пользователи не имеют право предоставлять телематические услуги (Web сервер), для этого как минимум необходимо получить соотв. лицензию". Надо таким провам презервативы бесплатно раздвать. Чтобы не размножались.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.