Александр Демин Записей: 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 Готово! |
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 например)
dhcpd.conf c ddns-updates (хосты, конфигурируемые по dhcp автоматически прописываются в dns (прямая и обратная зоны) + параметры терминального сервера для сетевой загрузки)
|
©2015 Все права защищены.
Портал информационной и технической поддержки ПО образовательных учреждений РФ.
Cо всеми проблемами и пожеланиями по работе портала и службы технической поддержки вы можете обратиться по адресу .