Допустим, мы владеем зоной mywebservice.com.
Я бы хотел, чтобы каждый из моих клиентов получил свой собственный поддомен, такой как customer.mywebservice.com.
customer.mywebservice.com должен быть CNAME для данного сервера вне офиса. Поскольку этот сайт управляет собственным оборудованием и может менять адреса в любой момент времени, CNAME является требованием.
Люди также должны иметь возможность отправлять электронную почту на адрес inbox@customer.mywebservice.com, для чего потребуется простая запись MX.
Тем не менее, и вот где я хотел бы получить некоторые рекомендации:
Согласно RFC 1034 :
If a CNAME RR is present at a node, no other data should be
present; this ensures that the data for a canonical name and its aliases
cannot be different.
Я также проверил, что мой DNS-сервер откажется обслуживать что угодно, кроме CNAME для хостов, которые их используют.
Так что, похоже, у меня может быть проигрышная ситуация. Если я хочу использовать запись MX, мне нужно использовать A вместо CNAME.
Кто-нибудь может придумать какие-нибудь обходные пути? Благодарность!
источник
После большой работы и исследований здесь я нашел приемлемое решение. Во-первых, важно, чтобы мы все следовали RFC. Я пропатчил свой DNS-сервер, чтобы нарушить RFC, и обнаружил, что несколько других крупных DNS-серверов не будут соблюдать это изменение.
Соответствующим шагом является размещение MX на хосте, на который указывает CNAME. Итак, если customer.mywebservice.com является CNAME для записи A loadbalancer.mywebservice.com, то также целесообразно создать запись MX для loadbalancer.mywebservice.com. Я проверил, что это работает со всеми основными распознавателями.
Если выполняется запрос MX для customer.mywebservice.com, библиотека распознавателя будет следовать CNAME и получит соответствующий MX для окончательной записи A. Ура!
источник
У вас есть требование, что клиенты должны иметь возможность изменить адрес, рассматривали ли вы возможность позволить клиенту динамически обновлять свою собственную запись? С динамическим днс вы можете использовать запись А, и клиент может изменить запись по мере необходимости. Это заняло бы немного работы, но вы могли бы каждый отдельный поддомен как отдельную зону, чтобы вы могли убедиться, что клиент может коснуться только своей собственной зоны.
Я не пробовал, но gnudip, кажется, является инструментом с открытым исходным кодом для облегчения динамических обновлений без необходимости иметь дело с аутентификацией и настройкой большого количества зон на вашем DNS-сервере.
источник
Если ваши записи MX будут одинаковыми для всех этих записей, вы можете попытаться использовать DNAME для перенаправления XYZ.mywebservice.com на hosting.mywebservice.com. На сайте hosting.mywebservice.com добавьте свои соответствующие записи MX и A.
Я должен сказать, что я никогда не использовал записи DNAME в производстве, но вы можете прочитать больше о них в RFC2672 .
источник
Имеется ли в RHS CNAME customer.mywebservice.com запись MX?
Если это так, то почтовый сервер будет использовать этот MX для поиска используемого почтового сервера. Надеюсь, вы сможете это контролировать.
источник
Ответ Михаила Горсуха в значительной степени правильный, цепочка CNAME -> A + MX работает ... в основном . Тем не менее, это вызывает некоторое плохое поведение в некоторых MTA. То, что я нашел, управляя этим решением в приличном масштабе:
Пока не ясно, насколько распространены эти проблемы (кажется, что google / hotmail / yahoo / etc все решают правильно), но они, безусловно, заставляют нас искать лучшие решения.
источник
Возможное и правильное решение - создать базовое имя хоста для всех ваших клиентов и задать для него записи a и aaaa внешнего сервера и вашего mx, а затем CNAME всех доменов ваших клиентов для этого имени хоста. Таким образом, вам нужно будет изменить только одну запись при изменении IP-адреса удаленного сайта.
Это единственный верный и возможный способ, поскольку CNAME является псевдонимом для полного набора записей, а не только для.
источник
MX и CNAME - это совершенно разные записи - первая определяет почтовый сервер для данного домена, вторая - адрес для домена. Это должно работать:
источник