nslookup
内部ネットワーク内のコンピューターからクエリを実行するために使用します。DNS サーバーのプライベート IP を使用すると、外部ドメイン名を正常に解決できます。
> www.ust.hk
サーバー: 192.168.28.58
アドレス: 192.168.28.58#53非権威的な回答:
名前: www.ust.hk
住所: 143.89.14.1
ただし、内部ネットワーク内で DNS サーバーのパブリック IP を使用すると、外部ドメイン名を解決できません。
$ nslookup
server wxyz
デフォルトサーバー: wxyz
アドレス wxyz#53
> www.ust.hk
サーバー: wxyz
アドレス: wxyz#53
サーバーは www.ust.hk を見つけることができません: 拒否されました
dns.log を調べると、外部ドメイン名が拒否されていることが示されています。
(www.ust.hk): クエリ (キャッシュ) 'www.ust.hk/A/IN' が拒否されました
内部ネットワークでは再帰が許可されているため、これは不合理です。コンピュータが内部ネットワークの外部にある場合、外部ドメインを解決できないのは当然です。
次のような名前の設定ファイルがあります:
acl "trusted" {
192.168.0.0/16;
localhosts;
localnets;
};
options{
listen-on port {any;};
listen-on-v6 port 53 { none; };
allow-query { any; };
allow-recursion {trusted;};
allow-query-cache {trusted;};
....
};
この問題の原因は何でしょう。ファイアウォールの設定ミスが原因でしょうか? dns.log には拒否と記載されているので、ファイアウォールの問題ではないようです。
ループバック NAT ルールも追加しましたが、それでも効果がありません。DNS サーバーは DMZ ゾーンにあることに注意してください。
その他編集
編集1
ポイントは、「NAT 設定を変更して、この特定のトラフィックをカバーしないようにし、ソースがローカルのままになるようにする」ことです。これは最も実現可能に思えますが、どのように実行すればよいのか疑問に思います。
PDNS1 (パブリック) IP は WAN ゾーンにあり、PDNS1 (プライベート) IP は DMZ ゾーンにあります。
弊社のファイアウォール ブランドは sonicwall です。現在の NAT は次のとおりです:
source-original: 任意
source-translated: Pdns(パブリック)
Destination-original: Pdns(パブリック)
Destination-translated: Pdns(プライベート)
service-original: DNS(ネーム サービス)
service-translated: オリジナル
他の 2 つの NAT ルールは、通常の 1 対 1 の再帰 NAT です。
特定のトラフィックをカバーせずにソースをローカルのままにする方法がわかりません。 親切にアドバイスして、詳細を詳しく説明してください。 どうもありがとうございます。
編集2
「パブリック IP を追加する (ローカル ネットワークのリストに sNAT されるもの)」という点については、以下の設定を試しました。内部ネットワーク内のパブリック IP を使用した DNS クエリは、外部ドメイン名を正常に解決できるのは事実です。
残念ながら、内部ネットワーク外のパブリック IP を使用した DNS クエリは、外部ドメイン名も解決できます。これは、DNS 増幅攻撃に対して脆弱なオープン DNS サーバーになるため、望ましくありません。
acl "信頼済み" {
219.189.213.25;
192.168.0.0/16;
ローカルホスト;
ローカルネット;
};
ポイントは、「任意の IP からのドメインへの応答を有効にする (望ましくない場合もあります)」
これは、named.conf の以下の設定を意味していると思います: recursion yes;
または、
allow-recursion { any; };
allow-query-cache { any; };
同様に、DNS サーバーがオープン DNS になってしまうため、非常に望ましくありません。
編集3
以下は、内部ネットワーク内のプライベート IP を使用した DNS クエリです:
[root@pdns1 ~]# nslookup
server 192.168.28.58
デフォルト サーバー: 192.168.28.58
アドレス: 192.168.28.58#53
www.hku.edu.hk
サーバー: 192.168.28.58
アドレス: 192.168.28.58#53
非権限回答:
名前: www.hku.edu.hk
アドレス: 147.8.2.58以下は、内部ネットワーク内のパブリック IP を使用した DNS クエリです:
サーバー 219.189.213.25
デフォルト サーバー: 219.189.213.25
アドレス: 219.189.213.25#53
www.mingpao.com
サーバー: 219.189.213.25
アドレス: 219.189.213.25#53
** サーバーは www.mingpao.com を見つけることができません: 拒否
以下は dns.log です:
16-Jan-2020 20:40:12.460 セキュリティ: 情報: クライアント @0x7f963c508310 219.189.213.25#43529。 (www.mingpao.com): クエリ (キャッシュ) 'www.mingpao.com/A/IN' が拒否されました
以下はqueries.logです:
16-Jan-2020 20:39:42.109 クエリ: 情報: クライアント @0x7f963c0a3ce0 192.168.28.58#60338 (www.hku.edu.hk): クエリ: www.hku.edu.hk IN A + (192.168.28.58)
2020 年 1 月 16 日 20:39:42.401 クエリ: 情報: クライアント @0x7f963c58e9c0 192.168.28.58#58101 (www.hku.edu.hk): クエリ: www.hku.edu.hk IN AAAA + (192.168.28.58)
2020年1月16日 20:40:12.460 クエリ: 情報: クライアント @0x7f963c508310219.189.213.25#43529 (www.mingpao.com): クエリ: www.mingpao.com IN A + (192.168.28.58)
リクエストが WAN から来たというのは本当ですか?
答え1
質問/ヒントは、パブリック IP を使用して DNS サーバーにアクセスしようとした後、どのようにして DNS サーバーにアクセスするかということです...
DMZ 内のパブリック IP を使用してサーバーに到達すると、トラフィックは既に sNAT されている可能性が高くなります。サーバーの観点から見ると、通信はローカルではありません。ログ レコードをもう一度確認してください。リクエストの送信元の IP が表示されます...
これを動作させるには、次の操作を実行できます。
任意の IP からのドメインへの応答を有効にする (望ましくない場合もあります)
NAT設定を変更して、この特定のトラフィックをカバーしないようにし、ソースがローカルのままになるようにします。
パブリック IP を追加します (ローカル ネットワークのリストに sNAT されるもの)