Итак, я прямо сейчас настраиваю этот сервер, на котором будет размещаться несколько веб-сайтов / доменов. Каковы текущие передовые практики в отношении записей DNS? Я признаю, что «просто что-то сделал» до сих пор, что довольно плохо. Моя вина. И хотя в прошлом у меня это срабатывало, я хотел бы знать, как лучше всего поступать, поэтому вот пара вопросов по этому поводу:
Я думаю, что, вероятно, имеет смысл настроить основное имя хоста следующим образом
192.168.0.1 A example.com
192.168.0.1 A host.example.com
www CNAME example.com
а затем одну запись PTR для 192.168.0.1 обратно на example.com. Должен ли www CNAME указывать на example.com или на A-записи host.example.com? Что имеет больше смысла и почему?
Будет ли тогда иметь наибольший смысл создать CNAME для каждого виртуального хоста на этом сервере для записи example.com A (или записи host.example.com A) или создать отдельные записи A для каждого виртуального хоста для основного IP-адреса ?
SMTP-сервер на этом хосте идентифицирует себя как host.example.com. Достаточно ли широко охват SPF, чтобы я мог создать запись SPF для каждого размещенного домена и позаботиться о том, чтобы другие домены могли отклонять почту с этого хоста?
Адресация 1 и 2: в большинстве случаев я бы рекомендовал сделать одну запись «A» для фактического IP, связанного с ящиком, и CNAME всего, что вам для этого нужно. Если у вас будет много somethings.example.com, я бы использовал запись с подстановочными знаками
example.com A 192.168.0.1
*.example.com CNAME example.com
Преимущество заключается в том, что вам не нужно много обслуживать DNS, поскольку любой .example.com, который вы используете, уже будет соответствовать. Вы просто позволяете apache определять, что с ним делать, основываясь на заданном имени. Это привело бы к двум поискам, и я бы сделал много CNAME только для одного A, и не пытался бы делать CNAME-> CNAME. Кроме того, записи MX должны указывать только на имя записи A.
Если вам когда-нибудь понадобится разделить виртуальный хост на его собственный IP-адрес, вы можете просто добавить запись «A» для этого хоста, и наиболее конкретный ответ будет лучше.
example.com A 192.168.0.1
*.example.com CNAME example.com
new.example.com A 192.168.0.2
Вот вам очень хороший и бесплатный инструмент для проверки вашей конфигурации:
http://clez.net/net.dns?ip=example.com#graph
Любой заданный IP-адрес может иметь сколько угодно записей RR, указывающих на него. Тогда вы можете:
server.example.com. IN A 192.168.0.1
www.example1.com. IN A 192.168.0.1
:
www.exampleN.com. IN A 192.168.0.1
Вам нужен только один PTR для 192.168.0.1. В данном конкретном случае наиболее подходящими представляются:
1.0.168.192.in-addr.arpa. IN PTR server.example.com.
Тем не менее, любой из других вариантов будет столь же правильным, если это один.
Это происходит потому, что, когда машина (A) подключается к серверу (B), она не знает имени A, а знает только его IP-адрес. Отправляя запрос PTR в DNS, он получает в ответ имя. Итак, теперь B знает, что того, кто подключился к нему, (вероятно) зовут A. Чтобы проверить это, он снова спрашивает DNS: "Какой IP-адрес у A?" и ожидает, что ответ будет содержать IP-адрес, который он уже знает о A из данных соединения. Что происходит, когда ответ не соответствует ожидаемому, зависит от политики администрирования сервера.
При желании вы можете создать CNAME вместо нескольких записей. Это означает, что когда кто-то хочет узнать IP-адрес B (чтобы подключиться к нему), он дважды спрашивает DNS: во-первых, «каково настоящее имя B?» а затем «какой IP-адрес у этого имени?».
Однако обратите внимание, что у вас не может быть CNAME в сочетании с записями MX, и поэтому, если по какой-либо конкретной причине вам необходимо принять электронную почту, направленную на user@www.example3.com, тогда www.example3.com должен быть записью A.
Для каждого домена нужно создать отдельный файл зоны, например для example.com вы создадите файл с именем db.com.example
.
Затем настройте запись SOA:
$TTL 86400
@ IN SOA ns.example.com. hostmaster.example.com. (
2010102601 ; Serial
7200 ; Refresh (how often slave nameservers check with master for changes)
1200 ; Retry (how often slaves contact the master if XFER fails)
2419200 ; Expire
86400 ; Negative Cache TTL
)
NS ns ; inet of our nameserver
NS ns.secondary.com. ; secondary dns
MX 50 mail ; smtp server
; nameserver
ns A 192.168.0.1
; mail
mail A 192.168.0.1
; canonical names
www CNAME ns
Во многом зависит от того, используете ли вы www CNAME
или www A
запись. Следует помнить о том, что у крупных организаций иногда возникают проблемы из-за слишком большого количества цепочек CNAME. Однако это вряд ли станет проблемой для вас.
Запись PTR (обратный просмотр) не будет существовать в этом файле зоны. Скорее всего, он будет находиться в файле зоны, управляемом вашим интернет-провайдером.
Настройка записей как A теоретически должна быть быстрее, так как в сценарии CNAME требуются два DNS-запроса.