DNS (Domain Name System — система доменных имён) — это система, позволяющая преобразовывать символьные имена доменов (например, mypclinuxos.tk) в IP-адреса (и наоборот) с сетях TCP/IP..
DNS важна для работы интернета, ибо для соединения с узлом необходима информация о его IP-адресе, а для людей проще запоминать буквенные (обычно осмысленные) адреса, чем последовательность цифр IP-адреса.
Настройка DNS сервера
Если понадобится поднять DNS-сервер на PCLinuxOS, делаем так:
1. Через пакетный менеджер Synaptic установите пакет bind (с зависимостями).
2. У вас есть доменное имя mypclinuxos.local и вам хочется сделать свой сервер первичным для этого домена и использовать у себя в сети доменные имена ivan.mypclinuxos.local, nikolai.mypclinuxos.local и т.д. Для этого нужно поправить файл /etc/named.conf и создать еще 3 файла.
3. Начнем с файла /etc/named.conf:
#ссылка на файл, который генерируется при установке bind, с секретным кодом, используя который DHCP сможет обновить данные в системе DNS при появлении новых компьютеров, которые потребуют IP-адреса
include "/etc/rndc.key";
# только наши компьютеры могут получать информацию из нашего DNS сервера
acl "mypclinuxosnets" { 192.168.0.0/24; 127.0.0.1; };
options {
# рабочий каталог
pid-file "/var/run/named/named.pid";
directory "/var/named";
# принимать запросы, приходящие только на эти адреса
listen-on { 192.168.0.1; 127.0.0.1; };
# здесь же можно добавить IP DNS-сервера вашего провайдера (например, 214.194.54.32)
forwarders { 127.0.0.1; 214.194.54.32; };
# указатели корневых серверов, в файле named.ca содержится список вышестоящих DNS серверов
zone "." IN {
type hint;
file "named.ca";
};
# обслуживание зоны localdomain
zone "localdomain" IN {
type master;
file "master/localdomain.zone";
allow-update { none; };
# обслуживание зоны localhost
zone "localhost" IN {
type master;
file "master/localhost.zone";
allow-update { none; };
# добавление возможности нахождения зоны localhost при задании IP-адреса 127.0.0.1 (обратное отражение)
zone "0.0.127.in-addr.arpa" IN {
type master;
file "reverse/named.local";
allow-update { none; };
};
#настройка прямой и обратной зоны для домена mypclinuxos.local, директива allow-update дает разрешение на обновление DHCP сервером
zone "mypclinuxos.tk" {
type master;
file "master/mypclinuxos.local";
allow-update { key mykey; };
};
zone "0.168.192.in-addr.arpa" {
type master;
file "reverse/mypclinuxos.local";
allow-update { key mykey; };
};
4. Таким образом, в конце файла добавлены две записи "zone". Теперь нам необходимо создать еще 2 файла, содержащих прямую и обратную зону.
Создаем файл прямой зоны /var/named/master/mypclinuxos.local
$TTL 86400 ; 1 day
mypclinuxos.local IN SOA ns.mypclinuxos.local. admin.mypclinuxos.local. (
2001042705 ; дата занесения, номер интерации за день
86400 ; обновить (секeнды, 1 день)
21600 ; пытаться найти домен (6 часов)
3600000 ; истекает через (5 недель 6 дней 16 часов)
3600 ; минимум (1 час)
)
NS ns.mypclinuxos.local. ; сервер, обслуживающий домен
MX 10 server.mypclinuxos.local. ; почта
mypclinuxos.local. A 192.168.0.1
ns A 192.168.0.1
www CNAME server.mypclinuxos.local. ; обращение www.mypclinuxos.local
server A 192.168.0.1 ; обращение server.mypclinuxos.local
Теперь создаем файл обратной зоны /var/named/reverse/mypclinuxos.local (обратный файлу mypclinuxos.local)
$TTL 86400 ; 1 day
@ IN SOA ns.mypclinuxos.local. admin.mypclinuxos.local. (
2001042706 ; serial
86400 ; refresh
21600 ; retry
3600000 ; expire
3600 ; minimum
)
NS ns.mypclinuxos.local.
1 PTR server.mypclinuxos.local.
Также создадим файл /var/named/reverse/named.local (для конвертации адреса 127.0.0.1 в имя localhost)
$TTL 86400
@ IN SOA mypclinuxos.local. admin.mypclinuxos.local. (
2001042707
86400
21600
3600000
3600
)
IN NS ns.mypclinuxos.local.
1 IN PTR localhost.mypclinuxos.local.
Примечание. Обратите внимание на то, что изменения вступают в силу только после изменения поля "serial". Обычно после внесения любых изменений в эти файлы serial увеличивают на 1.
4. После внесения изменений в файлы перезапустите DNS сервер:
- service dhcpd restart (или /etc/init.d/named restart).
5. Для проверки работы DNS сервера используется команда:
- nslookup имя сервера