Намного проще и удобнее создать wildcard-запись в DNS для десятков доменов, чем создавать по отдельной зоне для каждого из них. Но потом это чревато последствиями. К примеру, у нас есть домен domain.com и есть куча поддоменов a.domain.com, b.domain.com,… и мы хотим для них описать MX. Казалось бы, добавляем такую запись:
*.domain.com. IN MX mail.domain.com
и дело сделано. Оно-то и так, но не совсем. Такая запись (касается не только MX, но и любых других типов записей) будет работать ТОЛЬКО для тех доменов, у которых нет никаких А-записей. Если допустим, вы для домена x.domain.com создадите А-запись:
test IN A 1.1.1.1
то для домена x.domain.com автоматически перестанет работать wildcard-запись (в нашем случае для домена x.domain.com не будет MX-записей, а только А). Для других доменов *.domain.com всё будет работать как и прежде.
Как же быть, если нужно для всех доменов иметь одинаковые А/MX-записи? Создайте файл-шаблон для зоны, но вместо имени домена используйте его каноническую запись – ‘@‘. Я составил такой шаблон для зоны и назвал его subdomain.domain.com:
$TTL 120
@ IN SOA ns1.domain.com. root.domain.com. (
2014101701 ;serial
120 ;refresh
3600 ;retry (1 hour)
604800 ;expire (1 week)
3600) ;minimum (1 hour)
$TTL 604800
@ IN NS ns1.domain.com.
@ IN NS ns2.domain.com.
$TTL 86400
@ IN MX 10 mx1.domain.com.
@ IN MX 20 mx2.domain.com.
test IN A 1.1.1.1
test2 IN A 2.2.2.2