DNS-сервер
Domain Name Services - распределенная база данных, содержащая информацию о доменных именах
example.com, www.ya.ru - доменные имена
/etc/hosts - до этого корневые DNS-сервера, которые хранят информацию о корневых доменах (.com, .ru, …)
19 корневых серверов, их ip-адреса забиты в систему
apt-get install bind9 - установить DNS-сервер BIND
/etc/bind/db.root - информация о корневых серверах, имеющих имена A,B,C…
Процесс поиска IP-адреса, соответствущему имени www.mail.ru
Идем на корневой сервер, узнаем, кто обслуживает зону .ru.
$ nslookup
> server 199.7.83.42 (это L.ROOT-SERVERS.NET.)
> set type=ns (получать инф-ию о доменных зонах)
> ru
ru nameserver = a.dns.ripn.net.
> server a.dns.ripn.net.
> mail.ru
MAIL.RU nameserver = ns1.mail.RU.
> server ns1.mail.RU.
> set type=a (запросить запись типа A)
> www.mail.ru
Name: www.mail.ru
Address: 217.69.139.70
## Типы записей
A - сопоставление ip-адреса имени
CNAME - Canonical Name - alias (псевдоним) (mail.vasya.ru - это на самом mail.yandex.ru)
NS - Name server - DNS-сервера, обслуживующие зону
MX - Mail eXchanger - информация о почтовом домене, обслуживающем домен vasya@pupkin.ru, MX -> mail.pupkin.ru или smtp.pupkin.ru
PTR - Pointer - записи, обслуживающие обратную зону
Прямая зона DNS - сопоставление имя -> ip-addr
Обратная зона DNS - ip-addr -> имя
Каждому ip-адресу сопоставлено доменное имя:
12.76.99.1 -> 1.99.76.12.in-addr.arpa
127.in-addr.arpa - обратна зона, обслуживающая 127.x.x.x (127.0.0.0/8)
0.0.127.in-addr.arpa (127.0.0.0/24)
Формат описания зоны:
-
Файл основной конфигурации - /etc/bind/named.conf
zone "my.zone.ru" { type master; file "/etc/bind/db.my.zone.ru"; } -
/etc/bind/db.my.zone.ru:
SOA - Start of Authority - основная информация о нашей зоне.
Дальше - собственно описание зоны:
Первый столбец - имя внутри нашей зоны:
@ - имя, совпадающее с именем всей зоны
“имя” - имя, равное “имя”.”имя зоны”
Второй (бывает, что третий) столбец - тип записи
Третий (четвертый) - адрес, куда ссылается запись. Если ссылаемся вне нашей зоны, то в конце адреса ставим точку (FQDN - Fully Qualified Domain Name).
mail CNAME mail.yandex.ru.
mail.yandex.ru.my.zone.ru - неправильный адрес, если без точки (не FQDN).
Практика.
- Настроить прямую и обратную зоны для доменного имени example.rtf и упишного ip-адреса
- Создать адрес www.example.rtf, сделать, чтобы по http://www.example.rtf открывался сайт в apache (тот, для которого писали адрес в /etc/hosts два занятия назад)
- Настроить search.example.rtf как ссылку на google.com
- Убедиться, что обратная зона работает (nslookup, ввести туда ip-адрес).
