Портал информационной и технической поддержки ПО образовательных учреждений РФ

SPO HELP
  • Новости
  • Продукты
  • Поддержка
  • Учебный центр
  • Документация
  • Сообщество
  • Форумы
       
  • Вход
  • Регистрация

Форумы → Готовые решения → Настройка DNS-сервера. Конфиги приложены.
Последние записи

Настройка DNS-сервера. Конфиги приложены.

Подписаться на Настройка DNS-сервера. Конфиги приложены. Сообщений: 2, участников: 2

  • Участвуют:
  • Александр Демин
  • Viktor
Ответить


09 июля 2010, 13:39
Icon_missing_medium Александр Демин Записей: 186

Следует отметить сразу - сервер DNS, который я описываю подходит ТОЛЬКО для локальной сети! Вопросы, касающиеся создания сервера DNS, обрабатывающего РЕАЛЬНЫЙ домен, просьба задавать в отдельно создаваемой теме, так как вопрос не тривиальный и работы будет много. То, о чем рассказано ниже - реально работает, то есть конфиги взяты с моего сервера.

Для чего поднимался сервер в локальной сети? Причин много, вот некоторые - Апач, откликающийся на доменное имя, почтовый сервер,работающий в сети.. и т.д и т.п. Итак, что имеем и хотим:

школьный сервер с двумя сетевыми картами, одна из которых смотрит вовнутрь ( ip 192.168.1.1) другая - наружу (ip 10.0.0.1); DNS провайдера - 10.0.0.138.

вывод hostname - server.school.local

хотим работающий домен внутри локальной сети - school.local, apache, который откликается на www.school.local, почтовый сервер - mail.school.local

Приступим....

Конфигурация DNS сервера описана в файле named.conf, вот только в разных дистрибах находится может в разных местах. У меня лежит в каталоге /etc.

option {

              listen-on port 53 { 127.0.0.1; 192.168.1.1; };   - слушать на порту 53 на адресах 127.0.0.1 и 192.168.1.1

              directory "/var/named";                                        - файлы конфигурации искать тут

              dump-file "/var/named/data/cache_dump.db"; - дамп файл будет тут

              statistics-file "/var/named/data/named_stats.txt"; - статистика тут

              memstatistics-file "/var/named/data/named_mem_stat.txt";  - статистика использования памяти

              allow-query { any; };  - принимать запросы от всех

              forwarders { 10.0.0.138; }; - в случе чего перенаправлять запросы на DNS-сервер провайдера

              forward first; - с запросами сначала разбирается сервер провайдера

              recursion yes; - включаем рекурсию( о рекурсии можно почитать тут - http://www.oszone.net/5226/DNS)

};

zone "." IN {

              type hint;

              file "named.ca";

};

include "/etc/named.rfc1912.zones";

Пути, прописанные в файле named.conf у вас могут отличаться. Лучше, если вы будете эти пути сохранять. Учтите одну особенность - конфиг не приемлет вольности орфография и наличие пробелов - ЗАЛОГ РАБОТЫ!!!

иду по пути, указанном в последней строке, и правлю файл named.rfc1912.zones:

zone "localhost" IN {

                                type master;

                                file "named.localhost";

                                allow-update { none; };

};

zone "localhost.localdomain" IN {

                                type master;

                                file "named.localhost";

                                allow-update { none; };

};

zone "1.0.0.127.in-addr.arpa" IN {

                                 type master;

                                 file "named.loopback";

                                 allow-update { none; };

};

zone "school.local" IN {

                                 type master;

                                 file "school.local";

};

zone "1.168.192.in-addr.arpa" IN {

                                  type master;

                                  file "rev_school.local";

};

Идем в каталог, тпрописанный в named.conf параметром directory. Правим файлы:

файл /var/named/named.localhost

$TTL 3600

@ IN SOA @ rname.invalid. (

                                                     0;

                                                     28800;

                                                     7200;

                                                     604800;

                                                     86400 );

IN NS @

IN A 127.0.0.1

файл /var/named/named.loopback

$TTL 3600

@ IN SOA @ rname.invalid. (

                                                    0;

                                                    28800;

                                                     7200;

                                                     604800;

                                                     86400);

NS @

PTR localhost.

файл /var/named/school.local

$TTL 3600

@ IN SOA server.shcool.local. root.mail.school.local. (

                                                                                                   2010070911;

                                                                                                    3600;

                                                                                                    900;

                                                                                                    360000;

                                                                                                    3600);

IN NS server.school.local.

IN A 192.168.1.1

school.local. IN A 192.168.1.1

server IN A 192.168.1.1

www  IN A 192.168.1.1

файл /var/named/rev_school.local

$TTL 3600

1.168.192.in-addr.arpa. IN SOA server.school.local. root.mail.school.local (

                                                                                                                                2010070911;

                                                                                                                                3600;

                                                                                                                                900;

                                                                                                                                36000;

                                                                                                                                3600);

IN NS server.school.local.

1 IN PTR school.local.

1 IN PTR server

Идем в файл dhcpd.conf и меняем адрес в option domain-name-servers на наш - 192.168.1.1

Идем в /etc/resolve.conf . У нас должно быть прописано два сервера:

nameserver 192.168.1.1

nameserver 10.0.0.138

перезагружаем сервер.

[root@server] nslookup mail.ru

Server 192.168.1.1

Address 192.168.1.1#53

Non-authoritative answer:

Name:       mail.ru

Address:  217.69.128.42

Name:       mail.ru

Address:  217.69.128.43

 

Name:       mail.ru

Address:  217.69.128.44

 

Name:       mail.ru

Address:  217.69.128.41

А теперь вот так:

[root@server] nslookup school.local

Server 192.168.1.1

Address 192.168.1.1#53

Name:      school.local

Address: 192.168.1.1

Готово!

 
10 июля 2010, 00:30
Custom_Аватар_medium Viktor Записей: 1327

Во многих дистрибутивах bind в chroot, поэтому корневой директорией для него является /var/lib/named или что-то в этом роде, т.е все, что описано в конфиге реально в /var/lib/named или что-то в этом роде. Там и etc с конфигами и var/named c файлами зон, а в /etc ссылка на /var/lib/named/etc/named.conf. В этом случае для того, что бы логи dns попали в syslog необходимо редактировать конфиг последнего (зависит от ОС), например в  /etc/sysconfig/syslog добавить опцию типа SYSLOGD_OPTIONS="-m 0 -a /var/lib/named/var/log"

named.conf c  ddns-updates (хосты, конфигурируемые по dhcp автоматически прописываются в dns (прямая и обратная зоны)). Полезно при парсинге логов прокси (sarg + squid например)

// secret must be the same as in /etc/rndc.conf
include "/etc/rndc.key";

controls {
inet 127.0.0.1 port 953
allow { 127.0.0.1; } keys { mykey; };
# inet 192.168.0.2 port 953
# allow { 192.168.0.1; } keys { mykey; };

};

// Access lists (ACL's) should be defined here
include "/etc/bogon_acl.conf";
include "/etc/trusted_networks_acl.conf";

// Define logging channels
include "/etc/logging.conf";

options {
version "";
directory "/var/named";
dump-file "/var/tmp/named_dump.db";
pid-file "/var/run/named.pid";
statistics-file "/var/tmp/named.stats";
zone-statistics yes;
// datasize 256M;
coresize 100M;
// fetch-glue no;
// recursion no;
// recursive-clients 10000;
auth-nxdomain yes;
query-source address * port *;
listen-on port 53 { any; };
// 192.168.0.2;
// };
cleaning-interval 120;
transfers-in 20;
transfers-per-ns 2;
lame-ttl 0;
max-ncache-ttl 10800;

// forwarders { first_public_nameserver_ip; second_public_nameserver_ip; };

// allow-update { none; };
// allow-transfer { any; };

// Prevent DoS attacks by generating bogus zone transfer
// requests. This will result in slower updates to the
// slave servers (e.g. they will await the poll interval
// before checking for updates).
notify no;
// notify explicit;
// also-notify { secondary_name_server };

// Generate more efficient zone transfers. This will place
// multiple DNS records in a DNS message, instead of one per
// DNS message.
transfer-format many-answers;

// Set the maximum zone transfer time to something more
// reasonable. In this case, we state that any zone transfer
// that takes longer than 60 minutes is unlikely to ever
// complete. WARNING: If you have very large zone files,
// adjust this to fit your requirements.
max-transfer-time-in 60;

// We have no dynamic interfaces, so BIND shouldn't need to
// poll for interface state {UP|DOWN}.
interface-interval 0;

// Uncoment these to enable IPv6 connections support
// IPv4 will still work
// listen-on { none; };
// listen-on-v6 { any; };

// allow-query { trusted_networks; };
allow-recursion {
trusted_networks;
};

// Deny anything from the bogon networks as
// detailed in the "bogon" ACL.
blackhole { bogon; };
};

// workaround stupid stuff... (OE: Wed 17 Sep 2003)
zone "ac" { type delegation-only; };
zone "cc" { type delegation-only; };
zone "com" { type delegation-only; };
zone "cx" { type delegation-only; };
zone "lv" { type delegation-only; };
zone "museum" { type delegation-only; };
zone "net" { type delegation-only; };
zone "nu" { type delegation-only; };
zone "ph" { type delegation-only; };
zone "sh" { type delegation-only; };
zone "tm" { type delegation-only; };
zone "ws" { type delegation-only; };

zone "." IN {
type hint;
file "named.ca";
};

zone "localdomain" IN {
type master;
file "master/localdomain.zone";
allow-update { none; };
};

zone "localhost" IN {
type master;
file "master/localhost.zone";
allow-update { none; };
};

zone "0.0.127.in-addr.arpa" IN {
type master;
file "reverse/named.local";
allow-update { none; };
};

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.ip6.arpa" IN {
type master;
file "reverse/named.ip6.local";
allow-update { none; };
};

zone "255.in-addr.arpa" IN {
type master;
file "reverse/named.broadcast";
allow-update { none; };
};

zone "0.in-addr.arpa" IN {
type master;
file "reverse/named.zero";
allow-update { none; };
};

zone "gimn177.example.com" IN {
type master;
file "master/gimn177.zone";
allow-update { key "mykey"; };
notify yes;
};

zone "0.168.192.in-addr.arpa" IN {
type master;
file "master/0.168.192.in-addr.arpa.zone";
allow-update { key "mykey"; };
notify yes;
};

 

dhcpd.conf c  ddns-updates (хосты, конфигурируемые по dhcp автоматически прописываются в dns (прямая и обратная зоны) + параметры терминального сервера для сетевой загрузки)

authoritative;
key mykey {
algorithm hmac-md5;
secret xxxx...xxx;
}

# Server configuration:

server-identifier server;
option domain-name-servers 192.168.0.2, 89.106.248.8, 89.106.249.8;
ddns-domainname "gimn177.example.com.";
ddns-rev-domainname "in-addr.arpa.";
ddns-update-style interim;
ddns-updates on;

allow booting;
allow bootp;
use-host-decl-names on;

next-server 192.168.0.1;
option option-128 code 128 = string;
option option-129 code 129 = string;
option root-path "192.168.0.1:/var/lib/ltsp/i586";
if substring( option vendor-class-identifier, 0, 9 ) = "PXEClient" {
filename "/ltsp/i586/pxelinux.0";
} else if substring( option vendor-class-identifier, 0, 9 ) = "Etherboot" {
filename "/ltsp/i586/nbi.img";
#filename "/ltsp/i586/pxelinux.0";
} else {
option-129 = " initrd=/ltsp/i586/initrd.img";
filename "/ltsp/i586/vmlinuz";
}

 

Войдите чтобы ответить на тему

Форумы → Готовые решения → Настройка DNS-сервера. Конфиги приложены.
  • Главная
  • О проекте
  • Справка
  • Теги
  • Карта сайта

©2015 Все права защищены. Портал информационной и технической поддержки ПО образовательных учреждений РФ.
Cо всеми проблемами и пожеланиями по работе портала и службы технической поддержки вы можете обратиться по адресу .