我想从区域文件中分离出opendkim default.txt,并将其包含在named.conf中。 我有点困惑,我应该使用哪种方法,哪种方法是正确的。
zone "mydomain.com" IN { type master; file "/var/named/data/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
zone "mydomain.com" IN { type master; file "/var/named/data/mydomain.com.zone"; file "/etc/opendkim/keys/mydomain.com/default.txt"; };
; 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
zone "mydomain.com" IN { type master; file "/var/named/data/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._domainkey IN TXT ( "v=DKIM1; k=rsa; " "p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC2VtDlIkIZXHbt5f6fFlwB2bVfYkFI44WvIx+Xx0/oqlxCAaKCkHmlYrLkqamuI/Flm51U/Yht5z1CEbQs/YdVXXkryROGuN4+5G5TR89x4zd7RX+SqODYqeYlrG5V1fQM1WFS42ei9zlDmslK7JJrlOQrs8jYbvQoV39cQuIUNwIDAQAB" ) ; ----- DKIM key default for mydomain.com
或者是有没有更好的方法来做到这一点,而不是只包括在区域文件中的defaul.txt内容?
谢谢!
第二种方法是使用包含文件的正确方法。 我很确定zone声明中的多个file行(即你的第一个例子)最终会产生一个错误。
被告知:
named进程在chroot设置下运行, $INCLUDE的绝对path将需要相对于chroot。 (如现有的区域文件) $指令只影响如何将文件加载到当前服务器的内存中; 当区域传输被请求时,区域被加载到内存中被传输。