Digamos que somos dueños de la zona mywebservice.com.
Me gustaría que cada uno de mis clientes obtenga su propio subdominio, como customer.mywebservice.com.
customer.mywebservice.com debe ser un CNAME para un servidor externo. Como ese sitio administra su propio equipo y puede cambiar las direcciones en cualquier momento, el CNAME es un requisito.
Las personas también deben poder enviar un correo electrónico a [email protected], lo que requeriría un simple registro MX.
Sin embargo, y aquí es donde me gustaría un poco de orientación:
De acuerdo con 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.
También he verificado que mi servidor DNS se negará a servir cualquier cosa que no sea un CNAME para los hosts que los usan.
Entonces, parece que puedo tener una situación perdedora. Si quiero usar el registro MX, necesito usar una A en lugar de un CNAME.
¿Alguien puede pensar en alguna solución? ¡Gracias!
fuente
Después de mucho trabajo e investigación aquí, he encontrado una solución aceptable. Primero, es importante que todos sigamos los RFC. Parcheé mi servidor DNS para violar el RFC, y descubrí que varios otros servidores DNS importantes no respetarían el cambio.
El movimiento apropiado es colocar el MX en el host al que apunta el CNAME. Por lo tanto, si customer.mywebservice.com es un CNAME para el registro A loadbalancer.mywebservice.com, es apropiado también crear un registro MX para loadbalancer.mywebservice.com. He verificado que esto funciona con todos los principales solucionadores.
Si se realiza una consulta MX para customer.mywebservice.com, la biblioteca de resolución seguirá el CNAME y obtendrá el MX adecuado para el registro A final. ¡Hurra!
fuente
Tiene el requisito de que los clientes deben poder cambiar la dirección, ¿ha considerado permitir que el cliente actualice dinámicamente su propio registro? Con dns dinámico, puede usar el registro A, y el cliente puede cambiar el registro según sea necesario. Tomaría un poco de trabajo, pero podría cada subdominio individual como una zona separada para asegurarse de que un cliente solo pueda tocar su propia zona.
No lo he probado, pero gnudip parece ser una herramienta de código abierto para facilitar actualizaciones dinámicas sin tener que lidiar con la autenticación y configurar muchas zonas en su servidor DNS.
fuente
Si sus registros MX serán los mismos para todos estos registros, puede intentar utilizar un DNAME para redirigir XYZ.mywebservice.com a hosting.mywebservice.com. En hosting.mywebservice.com agregue sus registros MX y A correspondientes.
Debo decir que nunca he utilizado registros DNAME en producción, pero puede leer más sobre ellos en RFC2672 .
fuente
¿El RHS del Customer.mywebservice.com CNAME tiene una entrada MX?
Si es así, el servidor de correo usará ese MX para encontrar el servidor de correo que usará. Espero que puedas controlar eso.
fuente
La respuesta de Michael Gorsuch es en gran medida correcta, la cadena CNAME -> A + MX funciona ... principalmente . Sin embargo, desencadena un mal comportamiento en ciertos MTA. Lo que encontré al ejecutar esta solución a una escala decente:
Todavía no está claro cuán generalizados son estos problemas (google / hotmail / yahoo / etc.todos parecen tratar esto correctamente), pero ciertamente nos tienen buscando mejores soluciones.
fuente
Una solución posible y válida sería crear un nombre de host básico para todos sus clientes y establecerlo en el registro ayaaa del servidor web externo y su mx, luego CNAME todos los dominios de sus clientes a ese único nombre de host. De esa manera, solo tendrá que cambiar un registro cuando cambie la dirección IP fuera del sitio.
Es la única forma posible y valiosa, ya que CNAME es un alias para un conjunto completo de registros, no solo un.
fuente
MX y CNAME son registros completamente separados: el primero determina el servidor de correo para un dominio dado, el segundo proporciona la dirección de un dominio. Esto debería funcionar:
fuente