Был куплен хостинг с нулевым серваком (доступ по SSH), с реальным ip, к примеру обзовем его - 88.88.88.88. Также был куплен домен, какой - не скажу , обзову его к примеру mydomain.com .
Хостером были выданы два адреса сервера имен (nameservers), обзову их к примеру: 1) nm1.hoster.com и 2) nm2.hoster.com . (nm1.hoster.com - как основной).
Так как настраивал все это дело в первый раз, то могут быть какие-нить недочеты, так что не обессудьте :)
Установка и настройка Bind
BIND (Berkeley Internet Name Domain) реализует сервер DNS,
позволяющий устанавливать соответствия
между доменными именами и IP-адресами. Собственно этот пакет и устанавливает службу DNS.
1. Устанавливаем bind
# apt-get install bind9
2. Проверяем создался ли файлик '/etc/bind/rndc.key'. Он должен создаться автоматом, если нет, то в инете много инфы, как его создать.
2.1. Выключаем демон bind
# /etc/init.d/bind9 stop
так как он, после установки, включился автоматически
3. Создаем файлик с настройкой нашей зоны, к примеру mydomain.com
# # cd /etc/bind
nano mydomain.com
и вносим туда следующие параметры своего сервера, у меня, к примеру, это выглядело так:
$ORIGIN mydomain.com.
$TTL 86400 ; 1 day
@ IN SOA ns1.hoster.com. root.mydomain.com. (
2009010901 ; serial
10800 ; refresh (3 hours)
900 ; retry (15 minutes)
604800 ; expire (1 week)
10800 ; minimum (3 hours)
)
@ IN A 88.88.88.88
@ IN NS ns1.hoster.com.
@ IN NS ns2.hoster.com.
ns1 IN A 88.88.88.88
ns2 IN A 88.88.88.88
www IN A 88.88.88.88 Попробую в кратце описать некоторые важные пункты.
2009010901 ; serial - нас интересуют цифры, они означают следующее (2009)-год, (01)-месяц, (09)-день, (01) - индекс редактирования. Как только вы меняете этот конфигурационный файл, не забывайте изменить эти цифры. В частности, если вы меняли его несколько раз в день, то просто увеличиваете последний индекс на единицу, если в другой день, не забывайте изменить и дату. Если забудете, то ваши новые изменения могут посчитаться ошибочными.
Что такое @, SOA, A, NS и т.п. можете почитать здесь .
В строках ns1 и ns2 мы объявляем наши nameservers.
MX запись для почты я не настраивал, так как не было необходимости.
www IN A 88.88.88.88 - объявляем поддомен www, в следствии чего, наш будущий сайт будет отзываться и на mydomain.com и на
www.mydomain.com. В принципе можно было бы объявить его как alias через CNAME вместо A, но пишут, что через A - правильнее.
4. Создаем файл конфигурации наших зон, к примеру myzones.conf
# nano myzones.conf
и добавляем туда следующее
zone "mydomain.com" {
type master;
file "/etc/bind/mydomain.com";
}; 5. Теперь редактируем файл конфигурации bind
# nano named.conf
и добавляем в конец строку:
include "/etc/bind/myzones.conf"; 6. Все, теперь запускаем демон bind
# /etc/init.d/bind9 start
и на всякий случай перегружаем конфигурационные файлы и зоны
# rndc reload
7. Ну и на последок проверяем, все ли у нас получилось. Выполняем команду
# nslookup mydomain.com 88.88.88.88
должен прийти, примерно, такой ответ:
Server: 88.88.88.88
Address: 88.88.88.88#53
Name: mydomain.com
Address: 88.88.88.88 Если пришла ошибка, смотрите, может вы что-нибудь упустили или ошиблись при настройке.
Настройка поддоменов
На этом моя эпопея с DNS не закончилась, мне понадобилось настроить на сервере поддомен вида images.mydomain.com .
1. Ну чтож, это не сложно, надо просто отредактировать файл mydomain.com
# nano mydomain.com
добавив в конец файла строку:
images IN A 88.88.88.88 и изменив дату и индекс обновления.
2. После чего перегрузить демон bind
# /etc/init.d/bind9 restart
и перегрузить конфигурационные файлы и зоны
# rndc reload
P.S. Учтите поддомены могут не сразу быть видны с других адресов в интернете, надо просто подождать, пока эта информация разнесется по глобальной паутине (не знаю даже как это правильнее назвать). Иногда приходится ждать более 12 часов.
P.S. - для проверки настройки dns, мне очень помог
www.intodns.com