Недавно пришлось столкнуться с настройкой DNS (Domain Name System — система доменных имён) на купленном хостинге. Вот и решил написать статейку, чтобы не забыть, как все это делал.
Так, опишу то, с чем пришлось работать. Был куплен хостинг с нулевым серваком (доступ по 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
2. Проверяем создался ли файлик '/etc/bind/rndc.key'. Он должен создаться автоматом, если нет, то в инете много инфы, как его создать.
2.1. Выключаем демон bind
так как он, после установки, включился автоматически
3. Создаем файлик с настройкой нашей зоны, к примеру mydomain.com
и вносим туда следующие параметры своего сервера, у меня, к примеру, это выглядело так:
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
и добавляем туда следующее
и добавляем в конец строку:
и на всякий случай перегружаем конфигурационные файлы и зоны
7. Ну и на последок проверяем, все ли у нас получилось. Выполняем команду
должен прийти, примерно, такой ответ:
Настройка поддоменов
На этом моя эпопея с DNS не закончилась, мне понадобилось настроить на сервере поддомен вида images.mydomain.com.
1. Ну чтож, это не сложно, надо просто отредактировать файл mydomain.com
добавив в конец файла строку:
2. После чего перегрузить демон bind
и перегрузить конфигурационные файлы и зоны
P.S. Учтите поддомены могут не сразу быть видны с других адресов в интернете, надо просто подождать, пока эта информация разнесется по глобальной паутине (не знаю даже как это правильнее назвать). Иногда приходится ждать более 12 часов.
P.S.S. Кстати, для проверки настройки dns, мне очень помог сайтик www.intodns.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
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
Попробую в кратце описать некоторые важные пункты.$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. Теперь редактируем файл конфигурации bindtype master;
file "/etc/bind/mydomain.com";
};
#
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
Если пришла ошибка, смотрите, может вы что-нибудь упустили или ошиблись при настройке.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.S. Кстати, для проверки настройки dns, мне очень помог сайтик www.intodns.com