OpenSolaris, OpenIndiana, Nexenta Forum
OpenSolaris, OpenIndiana, Nexenta => OpenSolaris => Тема начата: Илья от Март 10, 2010, 01:00:09 pm
-
Какая операционная система используется в Sun Microsystems для DNS сервера и для Web сервера у меня есть решение это операционная система от Майкрософт но это дорого, я бы хотел от вас узнать какая все-таки операционная система для WEB и DNS сервера? ???
-
Есть основания полагать, что это Solaris ))
-
Ну да я так и думал я просто спросил как у бывалых, а Майкрософт я не хочу он дорогой цены кусаются вот сейчас буквально скачал Solaris 10 05/09 там наверно есть такая служба ее нужно включить и все получиться только где она находится для DNS сервера ???
-
Вопрос решился просто мне дал ссылку Keremet в формате PDF вот она это документация по настройке DNS сервера в Solaris 10 DNS serviсes (http://dlc.sun.com/pdf/806-1386/806-1386.pdf)
Читатели моей статьи зададутся вопросом что такое DNS.
DNS или Domain Name System это доменная система имен просто немного из истории сначала существовала сеть небаольшая и все адреса хранились в файле hosts.txt но с большим количеством серверов люди стали ошибаться в редактировании этого файла и пришел тогда на смену DNS сервер он просто хранит в себе адреса которые при обращении имени сайта посылает адрес браузеру и он открывает сайт по имени сайта вот и все что мог написать.
-
IP адрес: Как вы знаете, IP адрес назначается не машине а ее сетевому интерфейсу, в большинстве случаев это обычная ethernet карта. Нередки случаи когда на машине несколько интерфейсов, например несколько ethernet и/или например, FDDI карт, в этом случае необходимо назначить IP адреса каждому сетевому интерфейсу. Предположим что у нас два сетевых интерефейса le0 (10.0.0.1), le1 (172.16.0.1) и один hme0 (192.168.0.1):
root# echo 10.0.0.10 >/etc/hostname.le0
root# echo 172.16.10.11 >/etc/hostname.le1
root# echo 192.168.20.17 >/etc/hostname.hme0
Так же мы хотим сделать на hme0 парочку виртуальных интерфейсов: (в *BSD и Linux это называется alias)
root# echo 192.168.20.18 >/etc/hostname.hme0:1
root# echo 192.168.20.19 >/etc/hostname.hme0:2
Если же интерфейсы нужны немедленно, с сервер нельзя перезагружать, то можно поднять интерфейсы руками:
root # ifconfig hme0:1 192.168.20.18 up
root # ifconfig hme0:2 192.168.20.19 up
В Solaris 8, перед этими командами нужно создать эти интерфейсы с помощью параметра plumb.
root # ifconfig hme0:1 plumb
root # ifconfig hme0:2 plumb
В принципе можно было обойтись одной командой с параметром addif не указывая номер виртуального интерфейса:
root # ifconfig hme0 addif 192.168.20.18 up
root # ifconfig hme0 addif 192.168.20.19 up
Маршрут по умолчанию/Default Gateway: Тут все проще, нужно просто указать адрес в файле /etc/defaultrouter
root# echo 192.168.20.1 >/etc/defaultrouter
Настройка DNS/Name server: Так же как и везде /etc/resolv.conf и немного шаманства в /etc/nsswitch.conf
root# echo "search test.domain.ru" >/etc/resolv.conf
root# echo "nameserver 192.168.20.2" >>/etc/resolv.conf
root# echo "nameserver 192.168.20.3" >>/etc/resolv.conf
root# echo "nameserver 192.168.20.4" >>/etc/resolv.conf
далее надо изменить строчку в /etc/nsswitch.conf (nsswitch вероятно расшифровывается как Name Service Switch). В этом файле указывается из каких служб (nis/nisplus/dns/files) и в каком порядке будет использоваться информация, для системных таблиц passwd, hosts, etc. То есть нам надо указать порядок просмотра источников информации для таблицы hosts, следовательно в /etc/nsswitch.conf должна быть следующая запись для таблицы hosts:
hosts: dns files
убежденные пуристы могли бы указать так:
hosts: dns [NOTFOUND=RETURN] files
-
Установка DNS для Intranet фирмы
DNS-сервис является одним из важных сервисов для нормального функционирования Internet сети. Его
основная задача состоит в определении соответствия между сетевыми адресами узлов сети и их удобочитабельными
названиями. Существует два варианта определения этого соответствия - прямое и реверсивное определение.
При прямом разрешении DNS-сервер по имени определяет и выдает сетевой адрес, а при реверсивном - по адресу
ищет соответствующее имя. Это необходимо учитывать при настройке DNS-сервиса, поскольку для осуществления данных
механизмов используются разные таблицы. В операционной системе Sun Solaris, как, в прочем, и в других UNIX-системах,
в качестве DNS-сервера используется BIND-сервер версии 8.х и выше. Хотя, нужно заметить, в Solaris-е есть возможность
использования и сервера версии 4.х. Система определяет какой версии DNS-сервер запускать по тому, какой конфигурационный
файл существует в каталоге /etc. Если используется файл - named.boot, то запускается старая версия сервиса,
а если - named.conf - то, соответственно, новая (в Solaris 9 старой версии уже нет). Лучше естественно использовать
BIND 8.х и выше. Если у вас остались конфигурационные файлы named.boot и вы хотите перевести ваш DNS-сервер на новую версию,
то можно воспользоваться скриптом /usr/sbin/named-bootconf который конвертирует конфигурационный файл BIND 4.x в BIND 8.x.
Конфигурирование BIND 8.x Конфигурирование BIND-сервера состоит из двух этапов - настройка конфигурационного
файла /etc/named.conf и создания и заполнения таблиц доменных зон.
BIND 8.х позволяет создавать 4 типа доменных зон:
master (раньше называлась - primary). Данный DNS-сервер является головным для данного домена.
slave (раньше называлась - secondary). Такие DNS-серверы хранят копии доменных зон, которые скачивают
и периодически обновляют с master-сервера.
hint (раньше называлась - cache). Кэширующий сервер. Не хранит никаких таблиц зон, а просто собирает с
объявленных root-серверов кэш резолвенных адресов.
Используется для повышения эффективности работы DNS-сервера.
stub аналог slave зоны, но в отличие от нее таблиц зоны не хранит, только NS-записи,
и просто перенаправляет запросы на объявленные DNS-сервера.
Очевидно, что вы можете настроить так ваш BIND-сервер, что он одновременно может
обслуживать несколько разных доменных зон и для одних он может быть master-ом, для
других - slave и тд. В любом случае, какие-бы типы зон вы не настраивали, две зоны
будут присутствовать у вас почти всегда - это зона hint и localhost (прямая и реверсивная).
Итак, начнем с просто кэширующего DNS-сервера. Создаем /etc/named.conf и прописываем там глобальные
параметры и те две "стандартные" зоны о которых я только что упоминал:
//Конфигурационный файл /etc/named.conf для кэширующего DNS-сервера
options {
directory "/var/named";
listen-on { 192.168.6.1; localhost; };
version "Go away!";
allow-transfer { none; };
allow-query { 192.168.6.0/24,192.168.7.0/20; localhost; };
forward first;
forwarders { 192.168.1.1; };
};
zone "localhost" in {
type master;
file "/var/named/localhost.zone";
allow-update { none; };
};
zone "0.0.127.in-addr.arpa" in {
type master;
file "/var/named/127.0.0.zone";
allow-update { none; };
};
zone "." in {
type hint;
file "/var/named/root.hint";
};
Синтаксис этого файла очень похож на С++. Структура options - описывает глобальные параметры для сервера,
а структуры zone - описывают, соответственно, доменные зоны.
directory - указывает каталог расположения таблиц зон
listen-on - позволяет указать на какие сетевые интерфейсы будет "вешаться" демон. Тут прописываем адрес локального
интерфейса, у меня это 192.168.6.1, и не забываем указать и 127.0.0.1
version - строка, которая будет выдаваться на запрос определения версии DNS-сервера
allow-transfer - устанавливает возможность передачи зон для slave-серверов. В нашем случае трансфер запрещен.
allow-query - а этот параметр указывает кому разрешается подавать запросы к нашему серверу.
Мы прописали нашу локальную сетку 192.168.6.0 и 192.168.7.0 и 127.0.0.1
forward - этот параметр позволяет указать каким образом сервер обрабатывает запрос клиента. Я указал first - это означает что сервер сначала
перенаправит запрос выше и если не получит положительного результата, то посмотрит в своем кэше. Если указать only - то у себя смотреть не будет
forwarders - а тут вы и указываете куда перенаправлять запросы клиентов. Я указал, для примера, свой вышестоящий DNS-сервер 192.168.1.1
type - тип зоны
file - имя файла таблицы зоны
allow-update - разрешить или нет, и кому если разрешить, возможность изменения(обновления) таблицы зоны
Теперь добавим записи для master-зон: //Конфигурационный файл /etc/named.conf для master DNS-сервера
directory "/var/named";
listen-on { 192.168.6.1; localhost; };
version "Go away!";
allow-transfer { none; };
allow-query { 192.168.6.0/24,192.168.7.0/20; localhost; };
};
zone "localhost" in {
type master;
file "/var/named/localhost.zone";
allow-update { none; };
};
zone "0.0.127.in-addr.arpa" in {
type master;
file "/var/named/127.0.0.zone";
allow-update { none; };
};
zone "." in {
type hint;
file "/var/named/root.hint";
};
zone "sun.urix.ru" in {
type master;
file "/var/named/sun.urix.zone";
};
zone "san.urix.ru" in {
type master;
file "/var/named/san.urix.zone";
};
zone "6.168.192.in-addr.arpa" in {
type master;
file "/var/named/192.168.6.zone";
};
zone "7.168.192.in-addr.arpa" in {
type master;
file "/var/named/192.168.7.zone";
};
Я добавил две структуры: "прямую" зону - sun.urix.ru и реверсивную - 6.168.192.in-addr.arpa. Удалил опции
определяющие форвард запросов и пока не разрешаю трансфер своих таблиц. Таким образом у меня получился мастер
DNS-сервер для моего домена sun.urix.ru. Теперь настроим наш BIND в случае когда у нас существуют и slave-серверы.
Сначала необходимо подправить на мастер-сервере возможность передачи таблиц зон. Для этого нужно только разрешить трансфер зон:
allow-transfer { 192.168.6.2; 192.168.6.3; };
Здесь 192.168.6.2 и 192.168.6.3 - мои slave-серверы. А теперь на slave-сервере делаем конфигурационный файл:
//Конфигурационный файл /etc/named.conf для slave DNS-сервера
options {
directory "/var/named";
listen-on { 192.168.6.2; localhost; };
version "Go away!";
allow-transfer { none; };
allow-query { 192.168.6.0/24, 192.168.7.0/24; localhost; };
};
zone "localhost" in {
type master;
file "/var/named/localhost.zone";
allow-update { none; };
};
zone "0.0.127.in-addr.arpa" in {
type master;
file "/var/named/127.0.0.zone";
allow-update { none; };
};
zone "." in {
type hint;
file "/var/named/root.hint";
};
zone "sun.urix.ru" in {
type slave;
file "/var/named/sun.urix.zone";
masters { 192.168.6.1; };
};
zone "6.168.192.in-addr.arpa" in {
type slave;
file "/var/named/192.168.6.zone";
masters { 192.168.6.1; };
};
Все, теперь когда демон на slave-сервере будет запускаться он прочитает адрес, прописанный в masters,
и скачает таблицу зоны, а в последствии будет ее и обновлять. Несколько слов о том, как запускать и
останавливать bind-демон и где читать логи:
#/usr/sbin/in.named - так запускается демон
#pkill in.named - а так его можно "убить"
/var/log/messages - файл логов куда и демон in.named пишет свои логи.
Таблицы зон
Теперь приступаем к созданию таблиц зон. Понятно, что для slave-сервера большинство таблиц будут скачены
с master-сервера. Первым делом пропишим таблицы для localhost и зоны hint. Мы объявили, что /var/named - каталог
где помещаются таблицы - вот и идем туда и создаем необходимые таблицы.
//Файл /var/named/localhost.zone
$ttl 38400
localhost. IN SOA localhost. root.localhost. (
2004071001 ;serial
108000 ;refresh
1800 ;retry
1209600 ;expiry
604800)
localhost. IN NS solaris.sun.urix.ru.
localhost. IN NS solaris.san.urix.ru.
localhost. IN A 127.0.0.1
//Файл /var/named/127.0.0.zone
$ttl 38400
0.0.127.in-addr.arpa. IN SOA localhost. root.localhost. (
2004071001 ;serial
108000 ;refresh
1800 ;retry
1209600 ;expiry
604800)
0.0.127.in-addr.arpa. IN NS solaris.sun.urix.ru.
1.0.0.127.in-addr.arpa. PTR localhost.
//Файл /var/named/root.hint
. 3600000 IN NS A.ROOT-SERVERS.NET.
A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4
Разберемся теперь в формате этих таблиц. localhost.zone и 127.0.0.zone - это прямая и реверсивная таблицы
loopback интерфейса, а файл root.hint - используется для кэширующего сервера. Эти три файла, как мы помним,
присутствуют неизменно на любом DNS-сервере. Что касается файла root.hint, то его, как правило, берут у своего
провайдера. Данные в нем периодически устаревают и меняются, поэтому выкачивать его у своего провайдера - это
самый оптимальный вариант. Но я хочу посоветовать вам упростить этот файл всего до одной-двух записей рутовых
серверов и указать их на DNS-серверы вашего провайдера. Что это даст? Дело в том, что ваш сервер при каждом
запуске и по истечении параметра TTL(time-to-live) будет обращаться ко всем серверам из этого файла и, таким
образом, создаст вам огромный трафик, хотя накопленной информации, хранящейся на сервере вашего провайдера,
вполне для вас будет достаточно. В качестве примера я написал только один адрес А-root сервера, если вы хотите
добавить еще сервера, то создайте B,C,D... и т.д. Расшифровка полей файлов зон:
2004071001 ;serial - серийный номер версии таблицы. Самый лучший формат - ГГГГММДДNN, где NN - номер изменения
таблицы за текущий день
108000 ;refresh - время в секундах, указывающее как часто необходимо проверять таблицу мастер-сервера на
необходимость update-а
1800 ;retry - время в секундах, которое сервер ожидает при ошибочном сеансе refresh-а чтобы начать его заново
1209600 ;expiry - максимальный предел в секундах времени хранения таблицы, по его истечении таблица считается
устаревшей и скачивается заново.
604800 ;ttl - параметр time-to-live. Время в секундах, которое указывает серверу сколько хранить в кэше данные
таблицы. По его истечении срвер перечитывает таблицу заново.
//Файл /var/named/sun.urix.zone
$ttl 38400
sun.urix.ru. IN SOA solaris.sun.urix.ru. root.solaris.sun.urix.ru. (
2004071001 ;serial
108000 ;refresh
1800 ;retry
1209600 ;expiry
604800)
sun.urix.ru. IN NS solaris.sun.urix.ru.
sun.urix.ru. IN MX10 solaris.sun.urix.ru.
solaris IN A 192.168.6.1
class IN A 192.168.6.10
slave IN A 192.168.6.2
www IN CNAME solaris
//Файл /var/named/192.168.6.zone
$ttl 38400
6.168.192.in-addr.arpa. IN SOA solaris.sun.urix.ru. root.solaris.sun.urix.ru. (
2004012001 ;serial
108000 ;refresh
1800 ;retry
1209600 ;expiry
604800)
6.168.192.in-addr.arpa. IN NS solaris.sun.urix.ru.
1 IN PTR solaris.sun.urix.ru.
2 IN PTR slave.sun.urix.ru.
10 IN PTR class.sun.urix.ru.
NS - указывает name-серверы для данной зоны
MX - указывает на почтовые серверы домена, очередность - 0,10,20,
A -"прямая" запись ресурса (имя-адрес)
PTR - "реверсивная" запись (адрес-имя)
CNAME - псевдоним
//Файл /var/named/san.urix.zone
$ttl 38400
san.urix.ru. IN SOA solaris.san.urix.ru. root.solaris.san.urix.ru. (
2008061601 ;serial
108000 ;refresh
1800 ;retry
1209600 ;expiry
604800)
san.urix.ru. IN NS solaris.san.urix.ru.
sun.urix.ru. IN MX10 solaris.san.urix.ru.
solaris IN A 192.168.7.1
class IN A 192.168.6.10
slave IN A 192.168.6.2
www IN CNAME solaris
//Файл /var/named/192.168.7.zone
$ttl 38400
7.168.192.in-addr.arpa. IN SOA solaris.san.urix.ru. root.solaris.san.urix.ru. (
2008051501 ;serial
108000 ;refresh
1800 ;retry
1209600 ;expiry
604800)
7.168.192.in-addr.arpa. IN NS solaris.sun.urix.ru.
1 IN PTR solaris.san.urix.ru.
2 IN PTR slave.sun.urix.ru.
10 IN PTR class.sun.urix.ru.
Точка в конце некоторых названий означает, что не нужно дописывать название доменной зоны.
Если ее не ставить, то сервер автоматически допишет название домена для которого данная таблица
и составляется. Не забывайте про это. Вот и все, если таблицы готовы, то теперь можно и запускать
ваш сервер. Как это делать мы уже рассмотрели выше.
Постигаем файл httpd.conf
Чтобы запустить Apache - server нужно сбрасывать настройки по умолчанию, потом переходим в директорию /etc/apache копируем файл httpd.conf-example в файл httpd.conf (нужно создать этот файл в этой директории). Запускаем теперь после этой процедуры сервер
# /etc/init.d/apache start выйдет такое сообщение (смотрите скриншот ниже)
(http://www.arhipkin.com/Screenshot-1.png)
У меня есть архив Бинд теперь как его установить чтобы начал работать DNS - server?