Что ж, я считаю, что сейчас пришла пора копнуть несколько глубже в
настройке сервера - например, настроить DNS-сервер. Для этого в системе
должны быть установлены пакеты:
bind, bind-utils, caching-nameserver
Последний пакет не очень-то и нужен - все равно все файлики
содержащиеся в нем будут переписаны. Но возьмем их за основу.
Хорошая дока располагается на http://info.nic.ru (Система доменных имен
(книга П.Б. Храмцова))
Для чего нужен DNS(Domain Name System)? Этот сервис ставит в
соответствие IP-адресу символьный и наоборот. Используется для поиска
IP-адреса машин в сетях по их имени.
Наша сеть имеет доступ к Инет посредством Dial-up и не имеет
постоянного ip-адреса, да мне и не нужно чтоб машины моей сети были
видны из Интернет, у меня не будет никакого сервиса вообще доступного
извне, поэтому DNS будет достаточно проста в настройке.
У меня будут:
доменное имя karavay-shops.ru
DNS-сервер ns.karavay-shops.ru 192.168.2.192 он же netgate
возможен также кэширующий name-сервер, используемый
при
доступе к Инету.
Все следующие настройки работают для 9-ой версии bind.
Для начала отредактируем файл-конфигурации /etc/named.conf
begin /etc/named.conf // koal's named.conf
// Access control list: отдельно выделяем пользователей dns
acl "trusted" { 192.168.2.0/24; 127.0.0.1; };
// Настраиваем журналирование работы dns
logging {
// Определяем канал по умолчанию для ведения логов запросов к DNS
channel default_ch {
// Файл журнала. Ротация журнала: максимально будет 4 файла,
// следующий будет создаваться, когда текущий достигнет 100 Kb
file "/var/log/named/named.log" versions 4 size 100k;
// Уровень информативности
severity info;
// Показыать время
print-time yes;
// Показывать категорию сообщения
print-category yes;
};
// Канал для ведения логов по безопасности
channel security_ch {
file "/var/log/named/security.log" versions 4 size 100k;
severity info;
print-time yes;
print-category yes;
};
// Сообщения данных категорий будут записываться в след. каналы
category default { default_ch; };
category security { security_ch; };
};
// Опции работы
options {
// Директория для файлов зон
directory "/var/named";
// Разрешать использовать рекурсивные запросы только клиентам
// из нашей сети
allow-recursion { "trusted"; };
// Разрешать запросы к dns только клиентам нашей сети
allow-query { "trusted"; };
// Не выдавать версию bind
version "unknown";
// Разрешить имтитацию инверсных запросов
fake-iquery yes;
};
// Разрешить управлять dns-сервером только с локальной машины
// посредством rndc
controls {
inet 127.0.0.1 allow { localhost; } keys { rndckey; };
};
// Местоположение зон и их опции
// Корневая зона
zone "." IN {
// Тип hint - сервер обращается к серверам перечисленным в файле
// зоны с запросами, где искать "ответственного" за зону, из которой
// клиент хочет получить информацию
type hint;
// Файл зоны относительно каталога заданного в directory
file "named.root";
};
// Прямая зона, отвечающая за сеть обратной петли
// Прямые зоны отвечают за поиск ip-адреса по имени
zone "localhost" IN {
// Тип основной сервер dns для данной зоны
type master;
file "localhost";
// Запретить кому-либо динамически обновлять данные о зоне
allow-update { none; };
};
// Обратная (реверсная) зона, отвечающая за сеть обратной петли
// Обратные зоны отвечают за поиск имени по ip-адресу
zone "0.0.127.in-addr.arpa" IN {
type master;
file "0.0.127.in-addr.arpa";
allow-update { none; };
};
// Прямая зона для домена karavay-shops.ru
zone "karavay-shops.ru" IN {
type master;
file "karavay-shops.ru";
};
// Обратная зона для домена karavay-shops.ru
zone "2.168.192.in-addr.arpa" IN {
type master;
file "2.168.192.in-addr.arpa";
};
// Подключить файл с ключем аутентификации rndc
include "/etc/rndc.key";
end /etc/named.conf теперь необходимо создать каждый из фалов зон:
файл named.root стандартный один для всго множества серверов и поэтому
самую последнюю версию его можно взять
FTP.INTERNIC.NET/domain/named.cache. Я же использовал стандартный
переименовав его из /var/named/named.ca в /var/named/named.root.
begin /var/named/localhost ; время хранения описания ресурса в кэше
$TTL 86400
; текущее имя домена (для использования "@")
$ORIGIN localhost.
; "@" - используется текущее имя зоны, поределенное в named.conf для
; этой зоны или переопределенное "$ORIGIN"
; имя машины отвечаюющей за домен|почтовый адрес ответственного за домен
; primary master зоны |Т.к. "@" занята, то первая "." за нее
; vvvvvvvvvvvvvvvvv vvvvvvvvvvvvvvvvvvvvvvv
@ IN SOA netgate.karavay-shops.ru. root.netgate.karavay-shops.ru.
(
2003101401 ; Уникальный номер версии файла зоны - должен
; изменяться при изменении файла
28800 ; период обновления локальных фалов slave (вторичными)
; серверами
14400 ; через сколько повторить попытку обновления,
если
; предыдущая окончилась неудаче
3600000 ; через сколько заблокировать зону, если все
попытки
; обновления провалились
86400 ; время хранения описания ресурса в кэше
)
; сервер DNS, управляющий зоной
IN NS netgate.karavay-shops.ru.
; ip-адрес сервера, поддерживающего описание зоны
IN A 127.0.0.1
end /var/named/localhost Похожий синтаксис у файла обратной зоны
begin /var/named/0.0.127.in-addr.arpa $TTL 86400
@ IN SOA netgate.karavay-shops.ru. root.netgate.karavay-shops.ru.
(
2003101401 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ; Minimum
)
IN NS netgate.karavay-shops.ru.
; Имя соответствующее адресу 127.0.0.1
1 IN PTR localhost.
end /var/named/0.0.127.in-addr.arpa begin /var/named/karavay-shops.ru $TTL 86400
@ IN SOA netgate.karavay-shops.ru. root.netgate.karavay-shops.ru.
(
2003101401 ;serial number
28800 ;refresh
14400 ;retry
3600000 ;expire
86400 ;minimum
)
IN NS netgate.karavay-shops.ru.
IN A 192.168.2.192
; Имя сервера отвечающего за доставку почты для зоны
; Сервер, который знает как ее доставлять. Их может быть несколько
; Цифра - приоритет
IN MX 0 netgate.karavay-shops.ru.
; Адрес для данного имени
netgate IN A 192.168.2.192
; Имя сервера отвечающего за доставку почты для данной машины
IN MX 0 netgate
; Синонимы для канонические имен, т.е. ns.karavay-shops.ru это
; то же что и netgate.karavay-shops.ru
ns IN CNAME netgate
www IN CNAME netgate
ftp IN CNAME netgate
ntp IN CNAME netgate
nserv IN A 192.168.2.1
vika IN A 192.168.2.11
mily IN A 192.168.2.12
nina IN A 192.168.2.13
tany IN A 192.168.2.14
nata IN A 192.168.2.15
lena IN A 192.168.2.21
admin IN A 192.168.2.100
nikolay IN A 192.168.2.130
tanya IN A 192.168.2.140
end /var/named/karavay-shops.ru begin /var/named/2.168.192.in-addr.arpa $TTL 86400
@ IN SOA netgate.karavay-shops.ru. root.netgate.karavay-shops.ru.
(
2003101401 ;serial number
28800 ;refresh
14400 ;retry
3600000 ;expire
86400 ;minimum
)
IN NS netgate.karavay-shops.ru.
1 IN PTR nserv.karavay-shops.ru.
11 IN PTR vika.karavay-shops.ru.
12 IN PTR mily.karavay-shops.ru.
13 IN PTR nina.karavay-shops.ru.
14 IN PTR tany.karavay-shops.ru.
15 IN PTR nata.karavay-shops.ru.
21 IN PTR lena.karavay-shops.ru.
100 IN PTR admin.karavay-shops.ru.
130 IN PTR nikolay.karavay-shops.ru.
140 IN PTR tanya.karavay-shops.ru.
192 IN PTR netgate.karavay-shops.ru.
end /var/named/2.168.192.in-addr.arpa Все, в принципе, на это м настройка заканчивается, осталось сделать
самую малость.
Исправим /etc/reslov.conf. Зададим домен, в котором функционирует
данный компьютер, и адрес DNS-сервера, который будет выполнять
рекурсивные запросы от данного компьютера.
begin /etc/resolv.conf domain karavay-shops.ru
nameserver 192.168.2.192
end /etc/resolv.conf Установим автоматический запуск сервера:
$ /sbin/chkconfig --level 3 named on
И запустим сервер
$ /sbin/service named start
Теперь можно проверять работу:
$ nslookup
> admin
Server: 192.168.2.192
Address: 192.168.2.192#53
Name: admin.karavay-shops.ru
Address: 192.168.2.100
Чтобы DNS-сервер был доступен другим пользователям нашей сети нужно
открыть доступ к 53 порту на брэндмауэре. Для этого в
/etc/netfilter/filter.dialup.start нужно добавить строчку в секцию, где
происходит фильтрация входящих UDP-пакетов. Общий вид у этой секции
получиться такой:
$IPTABLES -N udp_packets
$IPTABLES -A udp_packets -p UDP --destination-port 53 -j ACCEPT
$IPTABLES -A udp_packets -p UDP -j DROP
и применяем новое правило:
$ /etc/netfilter/filter.flush
$ /etc/netfilter/filter.dialup.start
Теперь на клиентских компьютерах в свойствах "Протокола TCP/IP" нужно
указать IP-адрес DNS-сервера и суффикс соединения - "karavay-shops.ru"
Для проверки воспользуемся командой ping на компьютере admin (Windows
2000):
F:\Documents and Settings\koal>ping www.karavay-shops.ru
Pinging netgate.karavay-shops.ru [192.168.2.192] with 32 bytes of data:
Reply from 192.168.2.192: bytes=32 time<10ms TTL=64
Reply from 192.168.2.192: bytes=32 time<10ms TTL=64
Reply from 192.168.2.192: bytes=32 time<10ms TTL=64
Reply from 192.168.2.192: bytes=32 time<10ms TTL=64
Ping statistics for 192.168.2.192:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
Как видно - все работает ;)
C уважением, Kolotov Alexandr (aka mr. Эбола)
отвечать: myscri***@e*****.ru
ICQ: 100349254
-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.linux.kirovlug-list@subscribe.ru
Отписаться: http://subscribe.ru/member/unsub?grp=comp.soft.linux.kirovlug&email=
http://subscribe.ru/ mailto:ask@subscribe.ru