私は学校の課題のためにDebianサーバーでBIND9 DNSサーバーを操作しようとしています。問題は、dig -t soa my.domain.com @ns.my.domain.com
.teacherを使用してDNSサーバーをテストしようとすると、dig: couldn't get address for 'ns.my.domain.com': failure
教師が自動チェックを実行していること、および「SOAレコードの不一致」というメッセージのみが表示されることです。私は完全に暗闇の中にいました。
以下は、IPアドレスと名前の概要です(個人情報保護用に構成されています)。
My server: my.domain.com 123.123.123.100
Name server 1: ns1.school.com 123.123.123.101
Name server 2: ns2.school.com 123.123.123.102
Test server: 123.123.123.103
このIPアドレスは先生が私に提供したものです。テストサーバーは2時間ごとに自動チェックを実行して、モジュールが正しく機能していることを確認します。
を実行すると、systemctl status bind9
次のメッセージが複数回表示されます。
client 123.123.123.103#51478 (my.domain.com): zone transfer 'my.domain.com/AXFR/IN' denied
何が間違っているのかわかりません。誰でも私を正しい方向に案内できますか?
構成
名前付き.conf.オプション
options {
directory "/var/cache/bind";
recursion no;
allow-transfer { none; };
dnssec-validation auto;
auth-nxdomain no; # conform to RFC1035
listen-on-v6 { any; };
};
名前.conf.local
zone my.domain.com {
type master;
file "/etc/bind/zones/db.my.domain.com";
allow-transfer { 123.123.123.101; 123.123.123.102; };
};
ゾーン/db.my.domain.com
@ IN SOA ns.my.domain.com. [email protected]. (
2018082501 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
; Name servers
my.domain.com. IN NS ns.my.domain.com.
my.domain.com. IN NS ns1.school.com.
my.domain.com. IN NS ns2.school.com.
; A records for name servers
ns IN A 123.123.123.100
ns1 IN A 123.123.123.101
ns2 IN A 123.123.123.102
www IN A 123.123.123.100
test IN A 123.123.123.103
答え1
示した設定で修正する必要があるいくつかの点があります。
- ドメイン名ファイル
zones/db.mydomain,com
はzones/db.mydomaon.com
。 提供されたエラーについては、テストシステム123.123.123.103へのドメイン転送が拒否されたことがわかります。したがって、次のようにDNS転送を許可するサーバーに追加することでこれを許可できます。
転送を許可{123.123.123.101; 123.123.123.102;123.123.123.103;};
これを変更したら、BINDを再起動する必要があります。
テストサーバーが送信する必要がある実際のファイルに対してスクリプト/テストを実行していると信じる理由があるため、エラーが発生します。
ns1とns2がすでにschool.comドメインに登録されている場合は、そのドメインに再登録する必要はないようです
mydomain.com
(実際、多くの専門家が同じ間違いを犯しているのを見ました)。マシンテストの場合、school.comに属するかmydomain.comに属するかは完全には明確ではありません。
digコマンドが失敗した場合は、次のようにIPアドレスを入力します。
サーバー内にある場合:
dig -t soa my.domain.com @127.0.0.1
または実際には良いです:
dig -t soa my.domain.com @123.123.123.100
最後に、1週間の否定的なキャッシュTTLは高すぎます。 30分でも1時間でも使います。