Ubuntu Server 20.04 で内部ネットワークと外部ネットワークの両方の Bind DNS 構成を修正する

Ubuntu Server 20.04 で内部ネットワークと外部ネットワークの両方の Bind DNS 構成を修正する

私は初等教育のオフィスで働いており、内部および外部使用の両方のために Ubuntu Server 20.04 でローカル サーバーを設定しています。すべての学校とオフィスは、全国ネットワーク '.sch.gr' に属しています。ネットワークは私たちのオフィスにドメイン dipe****.sch.gr を割り当てており、外部 IP は 81.186.21.** です。外部からはすべて正常に動作します。サーバーの内部 IP は 10.145.252.10 です。LAN のコンピューターが dipe****.sch.gr と入力すると、内部 IP 10.145.252.10 に解決されるようにしたいです。これは可能ですか? このために Bind をインストールしましたが、正しい構成が見つかりません。誰か助けてくれませんか?

答え1

はい、可能です。ISC BIND には「ビュー」と呼ばれる特別な機能があります。たとえば、ここそしてここ

基本的には次のことを行います。

2 つのゾーン ファイルが必要です。1 つは「外部」クライアント用、もう 1 つは「内部」クライアント用です。すでに「外部」クライアント用に構成されているものとします。構成は次のようになります。

zone "dipe****.sch.gr" IN {
        type master;
        file "pri/dipe****.sch.gr.zone";
};

これを次のように変更します。

view "internal" {
    match-clients { 10.0.0.0/8; };
    zone "dipe****.sch.gr" IN {
            type master;
            file "pri/dipe****.sch.gr.zone_int";
    };

}; 

view "external" {
    match-clients { any; };
    recursion no;
    zone "dipe****.sch.gr" IN {
            type master;
            file "pri/dipe****.sch.gr.zone";
    };
};

現在のゾーン構成が外部ビューに移行されたことに注意してください。また、ビューの順序は重要であり、外部ビュー定義には match-clients でワイルドカード キャッチオールがあるため、内部ビューは外部ビューの前に表示する必要があることに注意してください。

次に、10.xxx からの DNS クエリは、ファイル ''dipe****.sch.gr.zone_int'' から応答されます。これは、プライベート アドレスを構成する場所です。10.xxx に一致しないクライアントからのすべてのクエリは、パブリック アドレス用の ''dipe****.sch.gr.zone'' から応答されます。

内部クライアントが他のネットワーク (192.168.xx、172.16.xx) にも存在する場合は、それらをmatch-clients内部ビューに追加します。ビューで直接指定する代わりに、ACL を構成して match-clients に追加することもできます。

関連情報