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

named.conf для включения файла зоны и opendkim conf

Я хотел бы отделить opendkim default.txt от файла зоны и вместо этого включить его в named.conf. Я немного не понимаю, какой подход мне следует использовать и какой из них правильный.


Нормальный подход:

named.conf

zone "mydomain.com" IN {
  type master;
  file "/var/named/data/mydomain.com.zone";
};

mydomain.com.zone

; zone file for mydomain.com
$ORIGIN mydomain.com.
$TTL 86400
mydomain.com. 86400 IN SOA mydomain.com. soa.mydomain.com. (
  2012010101 ; Serial
  86400      ; Refresh
  7200       ; Retry
  86400      ; Expire
  86400 )    ; TTL
;
mydomain.com. 86400 IN NS ns1.mydnsdomain.com.
mydomain.com. 86400 IN NS ns2.mydnsdomain.com.
mydomain.com. 86400 IN A 1.2.3.4
mydomain.com. 86400 IN MX 0 mydomain.com.
mydomain.com. 86400 IN TXT "v=spf1 a mx ?all"
www 86400 IN CNAME mydomain.com.
ns1 86400 IN A 1.2.3.4
ns2 86400 IN A 1.2.3.4
default._domainkey     IN      TXT     ( "v=DKIM1; k=rsa; "
    "p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC2VtDlIkIZXHbt5f6fFlwB2bVfYkFI44WvIx+Xx0/oqlxCAaKCkHmlYrLkqamuI/Flm51U/Yht5z1CEbQs/YdVXXkryROGuN4+5G5TR89x4zd7RX+SqODYqeYlrG5V1fQM1WFS42ei9zlDmslK7JJrlOQrs8jYbvQoV39cQuIUNwIDAQAB" )  ; ----- DKIM key default for mydomain.com


1-й подход:

named.conf

zone "mydomain.com" IN {
  type master;
  file "/var/named/data/mydomain.com.zone";
  file "/etc/opendkim/keys/mydomain.com/default.txt";
};

mydomain.com.zone

; zone file for mydomain.com
$ORIGIN mydomain.com.
$TTL 86400
mydomain.com. 86400 IN SOA mydomain.com. soa.mydomain.com. (
  2012010101 ; Serial
  86400      ; Refresh
  7200       ; Retry
  86400      ; Expire
  86400 )    ; TTL
;
mydomain.com. 86400 IN NS ns1.mydnsdomain.com.
mydomain.com. 86400 IN NS ns2.mydnsdomain.com.
mydomain.com. 86400 IN A 1.2.3.4
mydomain.com. 86400 IN MX 0 mydomain.com.
mydomain.com. 86400 IN TXT "v=spf1 a mx ?all"
www 86400 IN CNAME mydomain.com.
ns1 86400 IN A 1.2.3.4
ns2 86400 IN A 1.2.3.4

default.txt

  default._domainkey     IN      TXT     ( "v=DKIM1; k=rsa; "
      "p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC2VtDlIkIZXHbt5f6fFlwB2bVfYkFI44WvIx+Xx0/oqlxCAaKCkHmlYrLkqamuI/Flm51U/Yht5z1CEbQs/YdVXXkryROGuN4+5G5TR89x4zd7RX+SqODYqeYlrG5V1fQM1WFS42ei9zlDmslK7JJrlOQrs8jYbvQoV39cQuIUNwIDAQAB" )  ; ----- DKIM key default for mydomain.com


2-й подход:

named.conf

zone "mydomain.com" IN {
  type master;
  file "/var/named/data/mydomain.com.zone";
};

mydomain.com.zone

; zone file for mydomain.com
$ORIGIN mydomain.com.
$INCLUDE "/etc/opendkim/keys/mydomain.com/default.txt" <-- guessing
$TTL 86400
mydomain.com. 86400 IN SOA mydomain.com. soa.mydomain.com. (
  2012010101 ; Serial
  86400      ; Refresh
  7200       ; Retry
  86400      ; Expire
  86400 )    ; TTL
;
mydomain.com. 86400 IN NS ns1.mydnsdomain.com.
mydomain.com. 86400 IN NS ns2.mydnsdomain.com.
mydomain.com. 86400 IN A 1.2.3.4
mydomain.com. 86400 IN MX 0 mydomain.com.
mydomain.com. 86400 IN TXT "v=spf1 a mx ?all"
www 86400 IN CNAME mydomain.com.
ns1 86400 IN A 1.2.3.4
ns2 86400 IN A 1.2.3.4

default.txt

  default._domainkey     IN      TXT     ( "v=DKIM1; k=rsa; "
      "p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC2VtDlIkIZXHbt5f6fFlwB2bVfYkFI44WvIx+Xx0/oqlxCAaKCkHmlYrLkqamuI/Flm51U/Yht5z1CEbQs/YdVXXkryROGuN4+5G5TR89x4zd7RX+SqODYqeYlrG5V1fQM1WFS42ei9zlDmslK7JJrlOQrs8jYbvQoV39cQuIUNwIDAQAB" )  ; ----- DKIM key default for mydomain.com

Или есть лучший способ сделать это вместо того, чтобы просто включить содержимое defaul.txt в файл доменной зоны?

Спасибо!

Второй подход - это правильный способ использования включаемых файлов. Я почти уверен, что несколько file строки в zone объявление (то есть ваш первый пример) приведет к ошибке.

Обратите внимание:

  • Если ваш named процесс работает в chrooted настройке, абсолютный путь в $INCLUDE нужно будет относиться к chroot. (как существующие файлы зоны)
  • Когда вторичные серверы выполняют передачу зоны, они будут видеть объединенное содержимое файла зоны. В $ директивы влияют только на то, как файл загружается в память для текущего сервера; когда запрашивается перенос зоны, зона как он загружен в память то, что передается.