Как правильно (и почему) добавить записи MX в зону пересылки с помощью bind9?
Вариант А
@ IN MX 10 mx1.example.com.
@ IN MX 20 mx2.example.com.
mx1.example.com. IN A a.b.c.d
mx2.example.com. IN A a.b.c.d
Вариант Б
example.com. IN MX 10 mx1.example.com.
example.com. IN MX 20 mx2.example.com.
mx1.example.com. IN A a.b.c.d
mx2.example.com. IN A a.b.c.d
Или есть другая альтернатива?
$ ORIGIN определяет базовое значение, из которого «неквалифицированное» имя (без завершающей точки) выполняется замена при обработке файла зоны. В @ символ - это сокращение от $ ORIGIN в файлах зоны.
Использование короткой руки @
или полное имя example.com.
поэтому эквивалентен.
$ ORIGIN может быть явно указан в файле зоны, но часто подразумевается из имени зоны, как указано в файле конфигурации Bind:
// named.conf file fragment
zone "example.com" in{
type master;
file "example.com.zone";
};
и
; example.com.zone file fragment
; no $ORIGIN present and is synthesized from the zone name in named.conf ==> example.com
....
@ IN NS ns1.example.com.
; ns1.example.com. is the name server for example.com.
@ IN MX 10 mx1.example.com.
; mx1.example.com. is the primary mailserver name for example.com.
....
$ORIGIN uk.example.com.
; explicitly define or "reset" $ORIGIN to uk.example.com.
; doing this mid-way in a zone-file is not common practice anymore (if it ever was)
; but it will keep a large single zone-file somewhat more readable.
@ IN NS ns2.example.com.
; functionally identical to
; uk.example.com. IN NS ns2.example.com
; ns2.example.com. is the name server for uk.example.com.
Третий вариант - строка в файле зоны, которая не начинается ни с имени хоста, ни с имени зоны, ни с @ сокращение для происхождения зоны, становится продолжением записи выше.
@ IN MX 10 mx1.example.com.
IN MX 20 mx2.example.com. ; another record for the @ record above
IN NS ns1.example.com. ; yet another record for the @ record above
IN NS ns2.example.com. ; and a 3rd continuation for the @ record above
также эквивалентен:
@ IN MX 10 mx1.example.com.
example.com. IN MX 20 mx2.example.com.
IN NS ns1.example.com. ; NS record for the example.com. record above
; the continuation can be to set different
; record types for the same resource record name
example.com. IN NS ns2.example.com.
www IN A 10.9.8.7
IN A 192.168.0.1 ; or set multiple (round-robin) records when
; continuing with the same record type.