У меня есть веб-сервер (на котором запущен сервер Ubuntu 12.04 и Nginx), и я настраиваю на нем несколько веб-сайтов.
Я новичок в управлении своим собственным веб-сервером, и у меня все хорошо, за исключением того, что касается настройки DNS.
Я бы хотел, чтобы один сервер действовал и как веб-сервер, и как DNS-сервер (если только кто-то не убедит меня в обратном ...)
Я прочитал пару руководств по BIND9, но просто не понимаю, почему это должно быть так сложно!
Мне нужен один скрипт, который я могу запустить, например: configure-dns.sh mydomain.com
который создаст зоны и записи для mydomain и установит текущий сервер в качестве хоста и авторизованного сервера.
В идеале я бы хотел, чтобы мой рабочий процесс для нового домена был просто:
Так, Можете ли вы добавить запись DNS с помощью простого сценария bash?
Спасибо, Дин.
добавить в /etc/bind/ named.conf:
include "/etc/bind/domain-enabled.conf";
сделать каталог:
# mkdir /etc/bind/domain-enabled/
скрипты:
cat <<EOF >>/etc/bind/domain-enabled.conf
zone "$1" {
type master;
file "/etc/bind/domain-enabled/$1.db";
};
EOF
cat <<EOF >/etc/bind/domain-enabled/$1.db
\$TTL 604800
@ IN SOA ns1.$1. root.localhost. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns1.$1.
@ IN A $2
ns1 IN A $2
EOF
rndc reload
бегать:
add-domain examle.com 127.0.0.1
Да, я несколько раз автоматизировал управление DNS с помощью сценариев оболочки для разных инфраструктур в разных местах работы.
Что касается вашего другого псевдо-вопроса, «почему он должен быть таким сложным», то это потому, что DNS - не тривиальная вещь в общем случае, а BIND пытается справиться со всеми сложными угловыми случаями. Это означает, что простые вещи (совсем) не так просты, как могли бы быть в противном случае, однако приятно знать, что независимо от того, насколько неприятны вещи, вы сможете справиться с этим.
Проверьте h2n. Он упоминается в книгах BIND О'Рейли.
http://my.safaribooksonline.com/book/networking/dns/0789722739/the-dns-tool-chest/ch07lev1sec2