DNS

Материал из Gentoo Linux Wiki

Перейти к: навигация, поиск
Вернуться к разделу Частых Вопросов и Ответов

DNS сокращение от Domain Name Service, или как вариант Domain Name Server. Как известно, каждый компьютер, подключенный к TCPIP сети имеет свой уникальный IP-адрес. Как же запомнить IP-адреса всех интересующих компьютеров? Так как человеку удобнее работать с мнемониками, чем с цифрами, каждому IP-адресу можно присвоить одно или несколько имен. Чтобы это сделать, надо прописать соответствующие строки в файл /etc/hosts. Например:

192.168.0.6     kmeaw
192.168.0.100   ws001   ws001.meaw.net
192.168.0.101   ws002   ws002.meaw.net termkmeaw

А что делать, если сеть очень большая? Например Интернет? Не записывать же в /etc/hosts миллиарды хостов? Поэтому и появились DNS-серверы. Они преобразуют доменные имена в IP-адреса и наоборот.

$ hostx microsoft.com
microsoft.com           A       207.46.130.108
microsoft.com           A       207.46.250.119
$ hostx 195.34.32.10
Name: ns.mtu.ru
Address: 195.34.32.10

Но DNS-сервер - это такой же компьютер, имеющий IP-адрес. Откуда вашей системе знать, как обратится к нему? Для этого есть файл /etc/resolv.conf:

search meaw
nameserver 192.168.0.1

Директива search указывает домен, а nameserver - IP-адрес DNS-сервера. Таких строк может быть несколько.

Теперь представим себе такую ситуацию: есть небольшая контора с одним Интернет-соединением и парой десятков машин. Как научить все внутренние машины определять IP по имени хоста? Надо установить собственный DNS-сервер. Для начала соберем его с помощью portage:

# emerge bind

Теперь настроим основной конфигурационный файл /etc/bind/named.conf:

options {
       directory "/var/bind";
       forwarders {
               10.59.8.253;
       };
       listen-on { 192.168.0.1; 127.0.0.1; };
       query-source address * port 53;
       pid-file "/var/run/named/named.pid";
};
zone "." IN {
       type hint;
       file "named.ca";
};
zone "localhost" IN {
       type master;
       file "pri/localhost.zone";
       allow-update { none; };
       notify no;
};
zone "127.in-addr.arpa" IN {
       type master;
       file "pri/127.zone";
       allow-update { none; };
       notify no;
};

Не забудьте сменить 192.168.0.1 на ваш IP. Осталось лишь запустить сервис и прописать его в rc-update:

# /etc/init.d/named start
* Starting named...     [ OK ]
# rc-update add named default
* named added to runlevel default
* Caching service dependencies...
* rc-update complete.

Все работает только в том случае если настроен файл /etc/hosts

Источник — «http://ru.gentoo-wiki.com/DNS»
Личные инструменты