Сервер DNS в локальной сети. Настройка.

Все остальное

Сервер DNS в локальной сети. Настройка.

Сообщение Андрей » 13 авг 2009, 07:31

Привет всем.
Хочу поднять DNS-сервер в локальной сети и зарегистрировать в нем домен example.lan.
Перечитал раза 2 руководство на сайте фрихи - результатов не принесло.
Объясните мне как правильно это надо сделать?
Одино условие - сервер DNS и вэб-сервер находятся на одной машине.

Заранее благодарен.

З.Ы. Буду признателен если дадите конфиг с комментами.
.ı|ı..ı|ı.
Андрей
местный житель
 
Сообщения: 1028
Зарегистрирован: 14 янв 2009, 13:37
Откуда: Оренбургская область

Re: Сервер DNS в локальной сети. Настройка.

Сообщение root » 13 авг 2009, 08:39

Андрей
ну загляни ж ты в блог ;)
Теория и настройка DNS сервера (bind) на FreeBSD
С уважением, root

Изображение
------------
www.mega-net.ru - IT аутсорсинг
Аватара пользователя
root
Site Admin
 
Сообщения: 1894
Зарегистрирован: 11 июн 2008, 13:05
Откуда: Moscow, Russia

Re: Сервер DNS в локальной сети. Настройка.

Сообщение Андрей » 01 сен 2009, 13:48

А есть готовое решение.
Просто если мне делать DNS на сервере доступа, то мне надо прописывать DNS провайдера.
А если мне делать на отдельном сервере, то при поднятом pptp-туннеле сервер получается не будет доступен.
Дайте решение.
Заранее спасибо.

Кстати, в статье сказано:
listen-on {
127.0.0.1;
194.87.0.50;
};
allow-recursion{
127.0.0.1;
192.168.0.0/16;
};
recursive-clients 30000;
};

acl "trusted-dns"{
127.0.0.1;
194.58.241.26;
};


Нескромный вопрос.
Если 194.87.0.50 - адрес машины, то что это за адрес 194.58.241.26

Или 194.58.241.26 - адрес второго сервера?

зона «0.0.127.IN-ADDR.ARPA» это зона обратного просмотра для localhost. Если в папке master у вас нет файлов localhost.rev и localhost-v6.rev, то в /etc/namedb есть файл make-localhost и выполнив команду:

sh make-localhost

sh make-localhost - Это что такое? :)
Код: Выделить всё
# pwd
/var/named/etc/namedb
# ls
dynamic                 named.conf_sample       rndc.conf.sample
master                  named.root              slave
named.conf              named.root.sample

Пробовал искать по машине ранее указанный файл - не нашел.
.ı|ı..ı|ı.
Андрей
местный житель
 
Сообщения: 1028
Зарегистрирован: 14 янв 2009, 13:37
Откуда: Оренбургская область

Re: Сервер DNS в локальной сети. Настройка.

Сообщение root » 01 сен 2009, 15:21

Андрей писал(а):Просто если мне делать DNS на сервере доступа, то мне надо прописывать DNS провайдера.

не понял причем тут поднятие своего ДНС и ДНС от прова вообще

Андрей писал(а):А если мне делать на отдельном сервере, то при поднятом pptp-туннеле сервер получается не будет доступен.

значит повесь его на те адреса на которых он будет доступен или сделай так что бы он был доступен и так и так

Андрей писал(а):Если 194.87.0.50 - адрес машины, то что это за адрес 194.58.241.26

это адрес доверительного сервера, которому будет позволено забирать зоны с этого сервера
о чем и написано в статье:
acl – секция позволяющая создать access control list из IP-адресов, дабы потом не перечеслять их каждый раз в других секциях. acl «trusted-dns» в данном случае описывает IP-адреса доверительных DNS серверов которым позволено скачивать зоны полностью с нашего DNS сервера, т.к. по умолчанию скачать копию вашей зоны с вашего master DNS сервера сможет любой желающий указав с своем конфиге IP-адрес вашего master DNS сервера как первичного для вашей зоны. Если вы собираетесь вводить ограничения не скачивание файла зоны, то не забудьте в acl указать IP-адрес(а) вторичного(ных) DNS сервера(ов).


Андрей писал(а):sh make-localhost - Это что такое?

File: make-localhost:
Код: Выделить всё
#!/bin/sh
#
# $FreeBSD: src/etc/namedb/make-localhost,v 1.7 2004/09/28 09:46:00 dougb Exp $
#
# make-localhost - edit the appropriate local information into
# /etc/namedb/localhost.rev
#

PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin
export PATH

if [ "`hostname -s`" != "`hostname`" ]; then
        # hostname must contain domain

        host=`hostname -s`
        fullhost=`hostname`
        domain=`echo $fullhost | sed "s/^$host\.//"`
else
        host=`hostname`

        if [ -z "$1" ]; then
                echo -n 'Enter your domain name: '
                read domain
        else
                domain="$1"
        fi

        # strip trailing dot, if any
        domain=`echo $domain | sed 's/\.$//'`
        fullhost="$host.$domain"
fi

date=`date +"%Y%m%d"`

mkdir -p master

mv -f master/localhost-v6.rev master/localhost-v6.rev.BAK 2>/dev/null

sed -e "s/@host@/$fullhost/g" \
        -e "s/@domain@/$domain/g" \
        -e "s/@date@/$date/g" \
        < PROTO.localhost-v6.rev > master/localhost-v6.rev

mv -f master/localhost.rev master/localhost.rev.BAK 2>/dev/null

exec sed -e "s/@host@/$fullhost/g" \
        -e "s/@domain@/$domain/g" \
        -e "s/@date@/$date/g" \
        < PROTO.localhost.rev > master/localhost.rev
С уважением, root

Изображение
------------
www.mega-net.ru - IT аутсорсинг
Аватара пользователя
root
Site Admin
 
Сообщения: 1894
Зарегистрирован: 11 июн 2008, 13:05
Откуда: Moscow, Russia

Re: Сервер DNS в локальной сети. Настройка.

Сообщение Андрей » 01 сен 2009, 18:18

File: make-localhost:

Этого в статье не было. :)
Ну да ладно. Думаю завтра зупущу.
.ı|ı..ı|ı.
Андрей
местный житель
 
Сообщения: 1028
Зарегистрирован: 14 янв 2009, 13:37
Откуда: Оренбургская область

Re: Сервер DNS в локальной сети. Настройка.

Сообщение Андрей » 02 сен 2009, 06:00

Запустил скрипт - пишет:
Код: Выделить всё
make-localhost: cannot open PROTO.localhost-v6.rev: No such file or directory
make-localhost: cannot open PROTO.localhost.rev: No such file or directory

в папке master лежит только:
Код: Выделить всё
empty.db                localhost-forward.db    localhost-reverse.db

Что-то не то я сделал или что?
файлов .rev нет вообще.

Перешагнув через этот шаг в настройке пошел дальше. Перешел в /etc/namedb/master и создал файл andrey.lan.zone.
Потом выполнял все, как указано в статье и уткнулся в запуск демона. В процессе запуска в ttyv0 шлется следующее:
Код: Выделить всё
named.conf 24 unknown option 'option-empty-zone'
named.conf 25 unknown option 'option-empty-zone'
named.conf 26 unknown option 'option-empty-zone'

Вот конфиг:
Код: Выделить всё
# cat /etc/namedb/named.conf
// $FreeBSD: src/etc/namedb/named.conf,v 1.26.4.1 2008/01/13 20:48:23 dougb Exp $
options {
        directory       "/etc/namedb";
        pid-file        "/var/run/named/pid";
        dump-file       "/var/dump/named_dump.db";
        statistics-file "/var/stats/named.stats";

        listen-on       {
            127.0.0.1;
            10.10.254.128;
         };
         allow-recursion{
            127.0.0.1;
            10.0.0.0/8;
         };
         Recursive-clients 30000;
};
         acl "trusted-dns"{
            127.0.0.1;
            10.10.254.128;
         };
//      listen-on-v6    { ::1; };

        disable-empty-zone "255.255.255.255.IN-ADDR.ARPA";
        disable-empty-zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA";
        disable-empty-zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA";


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

zone "0.0.127.IN-ADDR.ARPA" {
        type master;
        file "master/localhost.rev";
};


zone "andrey.lan" {
    type master;
    file "master/andrey.lan.zone";
    allow-transfer { trusted-dns; };
};

Позоже из-за того, что у меня проблемы с sh make-localhost ?

ЗЫ.
Код: Выделить всё
/usr/sbin/named -v
BIND 9.3.6-P1

Есть еще на Sparc64. Там дефолтный стоит
Код: Выделить всё
# /usr/sbin/named -v
BIND 9.4.2


Файла make-localhost тоже нет.
.ı|ı..ı|ı.
Андрей
местный житель
 
Сообщения: 1028
Зарегистрирован: 14 янв 2009, 13:37
Откуда: Оренбургская область

Re: Сервер DNS в локальной сети. Настройка.

Сообщение Андрей » 02 сен 2009, 09:49

Установил 6.2 на Sparc.
В namedb есть файл make-localhost.
Странно.
.ı|ı..ı|ı.
Андрей
местный житель
 
Сообщения: 1028
Зарегистрирован: 14 янв 2009, 13:37
Откуда: Оренбургская область

Re: Сервер DNS в локальной сети. Настройка.

Сообщение Андрей » 02 сен 2009, 14:10

В общем я запустил, но есть некоторые баги и непонятные глюки.
вот файл named.conf:
Код: Выделить всё
# cat named.conf
// $FreeBSD: src/etc/namedb/named.conf,v 1.26.4.1 2008/01/13 20:48:23 dougb Exp $
options {
        directory       "/etc/namedb";
        pid-file        "/var/run/named/pid";
        dump-file       "/var/dump/named_dump.db";
        statistics-file "/var/stats/named.stats";

        listen-on       {
            127.0.0.1;
            10.10.254.253;
         };
         allow-recursion{
            127.0.0.1;
            10.0.0.0/8;
         };
//      listen-on-v6    { ::1; };
         recursive-clients 30000;
};
         acl "trusted-dns"{
            127.0.0.1;
            10.10.254.253;
         };

#       disable-empty-zone "255.255.255.255.IN-ADDR.ARPA";
#       disable-empty-zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA";
#       disable-empty-zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA";


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

zone "0.0.127.IN-ADDR.ARPA" {
        type master;
        file "master/localhost.rev";
};

zone "andrey.lan" {
    type master;
    file "master/andrey.lan.zone";
    allow-transfer { trusted-dns; };
};

Вот файл andrey.lan.zone:
Код: Выделить всё
# cat andrey.lan.zone
$TTL 3600
@       IN      SOA     ns.andrey.lan. root.andrey.lan. (
                                2009090203; Serial
                                3600    ; Refresh
                                900     ; Retry
                                360000  ; Expire
                                3600 ) ; Minimum

                IN      NS      ns.noks.lan.

localhost       IN      A       127.0.0.1
andrey.lan.       IN      A       10.10.254.128
                HINFO   "AMD ATHLON" "FreeBSD 7.0"
ns              IN      A       10.10.254.128
www             IN      A       10.10.254.128
fs              IN      A       10.10.120.3


На fs.andrey.lan не переходит.
В чем проблема - не знаю.
Подскажите, пожалуйста.
Заранее благодарен.
.ı|ı..ı|ı.
Андрей
местный житель
 
Сообщения: 1028
Зарегистрирован: 14 янв 2009, 13:37
Откуда: Оренбургская область

Re: Сервер DNS в локальной сети. Настройка.

Сообщение root » 02 сен 2009, 14:35

Андрей писал(а):В чем проблема - не знаю.

в невнимательности

NS – Сервер Имен, описывает DNS-сервера содержащие (отвечающие за) данную зону.

смотрим:
Андрей писал(а):@ IN SOA ns.andrey.lan.

смотрим далее:
Андрей писал(а):IN NS ns.noks.lan.

быстро же ты поменял имя NS сервера, ну да это пол беды, а теперь скажи откуда сервер узнает кто такой ns.noks.lan ?
что то я не вижу в конфигах о зоне noks.lan хоть слова (З.Ы. NOC -Network Operation Center ;))
смотрим в статью:
$TTL 3600
@ IN SOA ns.subnets.ru. root.subnets.ru. (
2008071001; Serial
3600 ; Refresh
900 ; Retry
360000 ; Expire
3600 ) ; Minimum
IN NS ns.subnets.ru.


Андрей писал(а):На fs.andrey.lan не переходит.

а что туда должно приходить ? я так понимаю что речь про вторичный сервер DNS. так с чего ему туда приходить ? если:
а) в andrey.lan не указан второй NS, опять же смотрим статью:
Код: Выделить всё
IN      NS      ns.subnets.ru.
IN      NS      ns2.subnets.ru.

Код: Выделить всё
ns              IN      A       217.172.16.77
ns2             IN      A       217.172.16.1

у тебя тока неизвестный ns.noks.lan и все, а fs вообще не описан как вторичный DNS, а описан как простой хост
б) не известно поднята ли там (на 10.10.120.3 ) служба bind и прописана ли эта зона
С уважением, root

Изображение
------------
www.mega-net.ru - IT аутсорсинг
Аватара пользователя
root
Site Admin
 
Сообщения: 1894
Зарегистрирован: 11 июн 2008, 13:05
Откуда: Moscow, Russia

Re: Сервер DNS в локальной сети. Настройка.

Сообщение Андрей » 02 сен 2009, 18:33

fs.andrey.lan - это файловый сервер.
Писать не буду в чем была проблема (со смеху помрете). Скажу одно, что в очень большой невнимательности.
И дело было не только в andrey/noks.lan.

Обязателен ли второй dns сервер?
Если да, то зачем?
Только не говорите, что если первый ляжет.
.ı|ı..ı|ı.
Андрей
местный житель
 
Сообщения: 1028
Зарегистрирован: 14 янв 2009, 13:37
Откуда: Оренбургская область

След.

Вернуться в Разное (networks)

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 26