イントラネット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サーバーを希望どおりに機能させるには、何を変更する必要がありますか?
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.comの8.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
すでに述べたように、たとえば、内部アドレス空間と外部アドレス空間を分離する必要があります。
インターネット上のwww.xyz.com1.1.1.1(その例:P)
www.xyz.comは内部的に192.168.1.20です(例)
同じホストポイントを2つの異なるアドレスに持つことはできず、「ビュー」を作成しない限り、内部で1つ、外部で1つを取得することを期待できます。
iPがパブリックIPの場合でも、www.xyz.comに接続できますが、ルーターは「ヘアピン」接続を実行できる必要があります。基本的には、ルーターはパブリックインターフェイスでトラフィックを自身にルーティングします。ほとんどのルーターは、これを行うように設定されていません。 2つのDNSを外部と内部で維持できます。これはビューと同じ効果があります。
すべての企業ドメインに同じ問題があるので、それは行われました;-)