Назад | Перейти на главную страницу

Нужны ли отдельные DNS-записи для Интернета и почты на одном сервере?

При настройке веб-сервера / почтового сервера на одном сервере или VPS с одним IP-адресом почти каждое руководство в Интернете следует той же структуре для DNS:

example.com.               IN A    192.0.2.0  
hostname.example.com.      IN A    192.0.2.0  
mail.example.com.          IN A    192.0.2.0  
example.com.               IN MX   10 mail.example.com.  
0.2.0.192.in-addr.arpa.  IN PTR  hostname.example.com  

Я использовал это несколько раз, и это всегда помогало мне. Но мне было интересно, есть ли причина, по которой почтовый сервер указывает на другое имя? Можно ли указать в записи MX на имя хоста и просто использовать hostname.example.com для SMTP и POP3?

Да, это возможно, но вы потеряете некоторые важные преимущества, если решите это сделать:

Если вы укажете для всех служб одно и то же DNS-имя, вы больше не сможете размещать их на разных серверах без перенастройки любого клиента, который обращается к ним.

В качестве примера: с другими именами, когда нагрузка на сервер становится слишком большой, вы можете просто разгрузить почтовые службы на другой сервер, не затрагивая клиентов. Все, что вам нужно сделать, это изменить свои записи DNS.

Вашему почтовому серверу потребуется PTR запись, указывающая на это. Это позволит работать обратному DNS. Я не доверяю почтовым серверам, которые используют домен второго уровня, например example.com поскольку слишком много спамеров пытаются заявить, что их имя является одним из самых известных доменов. Вам лучше использовать такое имя, как mail.example.com. Если вы используете mail.example.com добавить MX на ваш основной домен example.com указание mail.example.com получит почту. Кстати ни mail.example.com ни example.com возможно CNAME записи.

Вы можете запустить все на одном доменном имени. Однако, если я убедил вас использовать mail.example.com для вашего почтового сервера вы можете использовать www.example.com для вашего веб-сервера, а не mail.example.com. Если вы используете www.example.com будет легко добавить параллельный домен для статического контента, который не получает куки с вашего веб-сервера.

Обычно есть IP-адрес родительского домена, example.com разрешить адрес веб-сервера. Если у вас не так много веб-трафика, вы можете использовать запись CNAME для своего веб-домена. Остальные службы, не перечисленные выше, такие как POP и IMAP, могут обрабатываться записями CNAME. Если вы добавите другие серверы позже, вы можете заменить запись CNAME записью A или просто изменить запись CNAME. Использование записей CNAME упрощает добавление IPV6, поскольку вам не нужно добавлять записи AAAA ко всем вашим доменам.

Мне нравится иметь запись DNS для имени хоста. Если вы сделаете это, вы можете использовать этот домен вместо почты в качестве своего MX. В вашем примере я бы отбросил mail.example.com записывать и использовать hostname.example.com в твоем MX запись. Добавьте запись CNAME для www.example.com и вы очень молодцы.

Ваш почтовый сервер должен использовать любое имя PTR запись для вашего сервера использует. Возможно, вам потребуется попросить вашего IP-провайдера изменить PTR соответственно. Добавить A запись для этого имени.

Рассмотрите возможность добавления записи SPF для обоих hostname.example.com и example.com.

Вы можете использовать любое имя хоста для своего почтового сервера, но вы действительно нужно должен иметь запись MX.

С учетом сказанного, мне нравится идея иметь разные имена для разных ролей. Во-первых, если / когда придет время менять хосты, вы лучше контролируете DNS и будете меньше сталкиваться с проблемами из-за внешнего кэширования DNS.

Согласно rfc5321 доставка почты осуществляется на адрес A, если MX отсутствует. Таким образом, для работы SMTP не требуются следующие строки:

mail.example.com.          IN A    192.168.0.1  
example.com.               IN MX   10 mail.example.com.  

Смотрите также: http://en.wikipedia.org/wiki/MX_record#History_of_fallback_to_A