web-dev-qa-db-ja.com

DNS-内部使用のためにパブリックドメイン名を使用する

イントラネットDNS解決サービス(Ubuntu 16.04.02 LTSで実行)としてBindを設定しました。

私が達成したいこと:サーバーを指すパブリックドメイン名を持つ(例:domain.com-> 1.2.3.4)内部マシンを指す同じサブドメイン名を使用する(例:machine1)。 domain.com-> 192.168.1.100)

私がしたこと:(構成)

ファイル:/ etc/bind/named.conf.options

options {
    directory "/var/cache/bind";

    recursion yes;
    allow-recursion { 192.168.2.0/24; };
    listen-on {192.168.2.4; };
    allow-transfer { none; };

    forwarders {
            192.168.2.1; #router
            8.8.8.8; #public dns
    };

    dnssec-validation auto;
    auth-nxdomain no;    # conform to RFC1035
    listen-on-v6 { any; };
};

    acl "truested" {
            192.168.2.0/24;
            192.168.2.4; # ns1
            192.168.2.5; # ns2
};

ファイル:/ etc/bind/named.conf.local

zone "domain.com" {
    type master;
    file "/etc/bind/zones/db.domain.com";
    allow-transfer { 192.168.2.5;};
};

zone 2.168.192.in-addr.arpa {
    type master;
    file "/etc/bind/zones/db.2.168.192";
    allow-transfer { 192.168.2.5; };
};

ファイル:/ etc/bind/zones/db.domain.com

$TTL    604800
@       IN      SOA     ns1.domain.com. root.domain.com. (
                          5         ; Serial
                     604800         ; Refresh
                      86400         ; Retry
                    2419200         ; Expire
                     604800 )       ; Negative Cache TTL
; name servers - NS Records
    IN      NS      ns1.domain.com.
    IN      NS      ns2.domain.com.

; name servers - A Records
ns1.domain.com. IN      A       192.168.2.4
ns2.domain.com. IN      A       192.168.2.5

; 192.168.2.0/24 - A Records
server.domain.com.      IN      A       192.168.2.120
server2.domain.com.     IN      A       192.168.2.121
ns1.domain.com.         IN      A       192.168.2.4
ns2.domain.com.         IN      A       192.168.2.5

ファイル:/ etc/bind/zones/db.2.168.192

$TTL    604800
@       IN      SOA     ns1.domain.com. root.domain.com. (
                          4         ; Serial
                     604800         ; Refresh
                      86400         ; Retry
                    2419200         ; Expire
                     604800 )       ; Negative Cache TTL
; name servers - NS Records
    IN      NS      ns1.domain.com.
    IN      NS      ns2.domain.com.

;       PTR Records
4       IN      PTR     ns1.domain.com.
5       IN      PTR     ns2.domain.com.
120     IN      PTR     server.domain.com.
121     IN      PTR     server2.domain.com.

問題:domain.comのIPについて、コンピューター(DNSサーバーとしてこのサーバー "192.168.2.4を設定している)からDNSルックアップを実行すると値を返しません。その結果、外部サーバー(domain.com)のWebページが開きません。

DNSサーバーを希望どおりに機能させるには、何を変更する必要がありますか?

2
Rapsoulis

domain.comのゾーンの転送を設定し、domain.comのサブドメインの新しいゾーンを作成してみませんか。ローカルネームサーバーは信頼できますか?

私の例では、domain.comの代わりにexample.comを使用しています...

192.168.33.0/24
+-------------------------- + | 
 | | | 
 |クライアント1 | 192.168.33.1 | + ---------------------- + 
 | client1.corp.example.com | ----------- 
 | | | 192.168.33.5 |企業ネームサーバー| 
 + -------------------------- + ------------- -| ns1.corp.example.com | 
 | | | 
 | + ---------------------- + 
 + -------------------- ----- + | 
 | | | 
 |サーバー1 | 192.168.33.2 | 
 | server1.corp.example.com | -------------- | 
 | | | + ------------ + 
 + ------------------------- + | 192.168.33.7 | | 
 ---------------ルーター| 
 | | | 
 | + ------ | ----- + 
 | | 
 | 
 | 1.2.3.4 
 | 
 | 
 
インターネット
 1.2.3.5/----- 
/-------------- | 
 + ------------------ | 
 | | | 1.2.3.6 
 | WWWサーバー| | 
 | www.example.com | + ------------ | ------------ + 
 | | | | 
 + ----------------- + | example.comネームサーバー| 
 | ns.example.com | 
 | | 
 + ------------------------- + 

構成は次のとおりです。

---(/ etc/bind/named.conf.options

 options {
ディレクトリ "/ var/cache/bind"; 
 
 dnssec-validation auto; 
 
 auth-nxdomain番号;
};

/ etc/bind/named.conf.local

 zone "example.com" {
 type forward; 
フォワーダー{
 1.2.3.6; 
}; 
}; 
 
 zone "corp.example.com" {
 type master; 
 file "/etc/bind/db.corp.example.com"; 
}; 
 
 zone 33.168.192.in-addr.arpa {
 type master; 
 file "/etc/bind/db.192.168。 33 "; 
}; 

/ etc/bind/db.db.corp.example.com

                                       
 $ TTL 604800 
 $ Origincorp.example.com。
 
 @ IN SOA ns1.corp.example.com .admin.example.com。(
 5; 
 604800; 
 86400; 
 2419200; 
 604800; 
)
 
;ネームサーバー
 IN NS ns1.corp.example.com。
 
;ネームサーバー
 ns1 IN A 192.168.33.5 
 
; hosts 
 client1 IN A 192.168.33.1 
 server1 IN A 192.168.33.2 
 ns1 IN A 192.168.33.5 

/ etc/bind/db.192.168.

 $ TTL 604800 
 $ Origin33.168.192.in-addr.arpa。
 
 @ IN SOA ns1.corp .example.com。admin.example.com。(
 4; 
 604800; 
 86400; 
 2419200; 
 604800; 
)
;ネームサーバー
 IN NS ns1.corp.example.com。
 
;ホスト
 1 IN PTRclient1.corp.example.com。
 2 IN PTRserver1.corp.example.com。
 5 IN PTRns1.corp.example.com。

注:db.2.168.192ゾーンファイルに$ Originディレクティブがありませんが、でショートカットを使用していますPTRRR。

BINDのローカルインストールを使用したNslookupテスト(ゾーンexample.com8.8.8.8に転送して、いくつかの結果を得ることができます)::

>サーバー127.0.0.1 
デフォルトサーバー:127.0.0.1 
アドレス:127.0.0.1#53 
> set type = ns 
> corp .example.com 
サーバー:127.0.0.1 
アドレス:127.0.0.1#53 
 
 corp.example.comネームサーバー= ns1.corp.example.com 。
> set type = a 
> server1.corp.example.com 
サーバー:127.0.0.1 
アドレス:127.0.0.1#53 
 
名前:server1.corp.example.com 
アドレス:192.168.33.2 

そしてwww.example.comの場合:

> set type = a 
> www.example.com 
サーバー:127.0.0.1 
アドレス:127.0.0.1#53 
 
権限のない回答:
名前:www.example.com 
住所:93.184.216.34 
3
kal3v

すでに述べたように、たとえば、内部アドレス空間と外部アドレス空間を分離する必要があります。

インターネット上のwww.xyz.com1.1.1.1(その例:P)

www.xyz.comは内部的に192.168.1.20です(例)

同じホストポイントを2つの異なるアドレスに持つことはできず、「ビュー」を作成しない限り、内部で1つ、外部で1つを取得することを期待できます。

iPがパブリックIPの場合でも、www.xyz.comに接続できますが、ルーターは「ヘアピン」接続を実行できる必要があります。基本的には、ルーターはパブリックインターフェイスでトラフィックを自身にルーティングします。ほとんどのルーターは、これを行うように設定されていません。 2つのDNSを外部と内部で維持できます。これはビューと同じ効果があります。

すべての企業ドメインに同じ問題があるので、それは行われました;-)

0
bob