DNS(ドメインネームシステム):C / Sモード[ドメイン名解決](https://cloud.tencent.com/product/cns?from=10680)サービスに基づいて、ポート53 / udp、53 / tcpでリッスンします。ここで、tcpはゾーン転送に使用され、udpは解決に使用されます。実際にはTCP / IPプログラムの分散データベースであるデータベースも重要なネットワークプロトコルです。DNSは、ネットワーク内のIPアドレスと対応するホストに関する情報、メールルーティング情報、およびその他のネットワークアプリケーション情報を格納します。提供されるサービスは、トランスレータのように、ホスト名とドメイン名をIPに変換するために使用されます
DNS解決は2つのタイプに分けられます
再帰
反復
再帰クエリ:
クライアントはローカルに設定されたDNSサーバーへの要求を開始し、DNSサーバーはその要求に応答します。クエリレコードがローカルキャッシュレコードにある場合は直接返されます。そうでない場合、DNSサーバーは仲介者やプロキシなどのルートネームサーバーに順番に移動します。トップレベルのネームサーバーである権威あるネームサーバーがリクエストを送信します。たとえば、DNSサーバーはルートネームサーバーにリクエストを送信し、ドメイン名に対応するIPアドレスを要求します。ルートネームサーバーは、ローカルにレコードがあるかどうかを照会し、レコードがある場合は、DNSサーバーに直接戻り、次にDNSに戻ります。サーバーは、探しているIPアドレスをクライアントに通知します。ルートが不明な場合は、ドメイン名に対応するIPアドレスが見つかるまで、DNSサーバーに要求を続け、順番に要求し、最後にクライアントに戻ります。
反復クエリ:
再帰クエリとの最大の違いは、すべてのクエリプロセスがクライアント自体によって行われ、違いを生む仲介者がなく、ルートサーバーであるトップサーバーに直接アクセスすることです。 。 。 。結果が出るまで待って順番に聞いてください。
フォワード分析
名前-> IP
逆分析
IP->名前
ルートドメイン。
トップレベルドメイン
組織ドメイン:.com .net .org .gov
国のドメイン:.iq .tw .hk .jp .cn
セカンダリドメイン
baidu.com。devilf.ccなど、トップレベルドメインの個人または組織によって適用される名前。
サブドメイン
記録
ドメイン名をIPアドレスにポイントする
AAAAレコード
ホスト名を指定されたIPv6IPに解決します
CNAMEレコード
エイリアス解決とは、異なるドメイン名を1つのドメイン名レコードに転送することを指し、このドメイン名レコードの統合された解決管理、つまり、現在解決されているドメイン名は、別のドメイン名のリダイレクトです。
NSレコード
ドメイン名サービスレコード。ドメイン名を解決するDNSサーバーを指定するために使用され、通常は複数に設定されます。1つはメイン、残りは補助であり、ドメイン名フォームのみを書き込むことができます。
MXレコード
メール交換記録
TXTレコード
ホスト名またはドメイン名の説明を参照します。通常、SPFレコード(アンチスパム)に使用されます。
PTRレコード
逆解析、主にIP —> FQDNに使用され、通常はメールサーバーに使用されます
1 | sudo apt install bind9 bind9utils bind9-doc |
---|
.confという名前のメイン構成ファイルを変更します
1234 | include "/etc/bind/named.conf.options"; include "/etc/bind/named.conf.local"; include "/etc/bind/named.conf.default-zones"; include "/ etc / bind /named.conf.log”;#ログレコードを追加 |
---|
named.conf.localファイルを変更します
1 2 3 4 5 6 7 8 9101112131415161718192021 | # ゾーンを追加するには、構成の記述についてzones.rfc1918を参照してください。ここでは、順方向の解像度を定義することを意味します。 //組織では使用されていません// include "/etc/bind/zones.rfc1918"; zone "tianchiapi.com" {#ドメイン名タイプマスターを指定;ファイル "/etc/bind/zone-internal-tianchiapi/db.dns ”;#zone-internal-tianchiapiディレクトリを作成し、ゾーンレコードファイルフォワーダの場所を指定します{};}; //解決する必要のあるドメイン名が複数ある場合は、zone "tianchitest1.com" {type master; file " /etc/bind/zone-internal-tianchiapi/test.dns ";フォワーダー{};}; |
---|
named.conf.optionsファイルを変更します
1 2 3 4 5 6 7 8 910111213141516171819 | # このファイルは、DNSサーバーのグローバル構成です$ cat named.conf.optionsoptions {directory "/ var / cache / bind"; #data file location forwarders {#リクエストを転送するための再帰名サーバーのIPアドレスを設定します114.114.114.114; 8.8.8.8 ;}; allow-query {any;}; recursion yes;#再帰アドレス指定を有効にするallow-transfer {any;}; dnssec-enable no; dnssec-validation no; auth-nxdomain no;#RFC1035}; |
---|
named.conf.logファイルを変更します
1 2 3 4 5 6 7 8 9101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 | $ cat named.conf.loglogging {channel query_log {file "query.log"バージョン3サイズ1g; #versionsは、同時に存在できるファイルのバージョン数を示します重大度情報;#ログレベルの印刷時間はい;#ログに書き込むエントリ時間print-severityyes;#ログにメッセージレベルを書き込むかどうかを設定しますprint-category yes;#ログにログカテゴリを書き込むかどうかを設定します};カテゴリクエリ{query_log;}; channel update_log {file "update .log "バージョン3サイズ1g;重大度デバッグ;印刷時間はい;印刷カテゴリはい;};カテゴリ更新{update_log;};チャネルclient_log {ファイル" client.log "バージョン3サイズ1g;重大度デバッグ;印刷時間yes; print-category yes;}; category client {client_log;}; channel network_log {file "network.log"バージョン3サイズ1g;重大度debug; print-time yes; print-category yes;}; category network {network_log; };チャネルresolver_log {ファイル "resolver.log"バージョン3サイズ1g; severit y debug; print-time yes; print-category yes;}; category resolver {resolver_log;}; channel lame-servers_log {file "lame-servers.log"バージョン3サイズ1g;重大度debug; print-time yes; print-カテゴリはい;};カテゴリlame-servers {lame-servers_log;};}; |
---|
ディレクトリを作成し、解像度を設定します
sudo mkdir zone-internal-tianchiapi vim zone-internal-tianchiapi/db.dns $TTL 600 @ IN SOA ns1 root ( 3 ; Serial 3600 ; Refresh 86400 ; Retry 86400 ; Expire 86400 ) ; Negative Cache TTL
; @ IN NS ns1 @ IN NS ns2 ns1 IN A 10.1.1.11 test1-live IN A 10.1.1.61 test1-storage IN A 10.1.1.61 test1-admin IN A 10.1.1.61 test1-gateway IN A 10.1.1.61 test1-turbine IN A 10.1.1.61 test1-zipkin IN A 10.1.1.61 test1-eureka IN A 10.1.1.61 test1-video IN A 10.1.1.61 test1-file IN A 10.1.1.61 test1-image IN A 10.1.1.61 test1-kibana IN A 10.1.1.61 test1-live IN A 10.1.1.61
|123456|## サービスを再開します|
|--------|--------|
sudo systemctl restart bind9
|1 2 3 4 5 6 7 8 91011121314|## 別のサーバー上の指定されたDNSサーバーが、先ほど作成したIPアドレスであることを確認します。例: `` `cat /etc/resolv.confnameserver 10.1.1.13search tianchiapi.com |
|--------|--------|
|1 2 3 4 5 6 7 8 9101112131415161718192021222324| $ dig test1-gateway.tianchiapi.com; <<>> DiG 9.10.3-P4-Ubuntu <<>> test1-gateway.tianchiapi.com;; global options: +cmd;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 62031;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1;; OPT PSEUDOSECTION:; EDNS: version: 0, flags:; udp: 4096;; QUESTION SECTION:;test1-gateway.tianchiapi.com. IN A;; ANSWER SECTION:test1-gateway.tianchiapi.com. 600 IN A 10.1.1.61;; AUTHORITY SECTION:tianchiapi.com. 600 IN NS 10.1.1.11.;; Query time: 1 msec;; SERVER: 10.1.1.13#53(10.1.1.13);; WHEN: Sun Nov 25 14:57:28 CST 2018;; MSG SIZE rcvd: 96|
|--------|--------|
digを通じて、A、NS、およびその他のレコードを確認できます。また、dig + traceを使用してクエリプロセスを確認することもできます。
|1 2 3 4 5 6 7 8 91011121314151617181920212223242526272829303132333435363738| $ dig +trace www.devilf.cc; <<>> DiG 9.10.3-P4-Ubuntu <<>> +trace www.devilf.cc;; global options: +cmd. 18143 IN NS e.root-servers.net.. 18143 IN NS g.root-servers.net.. 18143 IN NS k.root-servers.net.. 18143 IN NS m.root-servers.net.. 18143 IN NS d.root-servers.net.. 18143 IN NS i.root-servers.net.. 18143 IN NS c.root-servers.net.. 18143 IN NS h.root-servers.net.. 18143 IN NS l.root-servers.net.. 18143 IN NS f.root-servers.net.. 18143 IN NS b.root-servers.net.. 18143 IN NS a.root-servers.net.. 18143 IN NS j.root-servers.net.;; Received 850 bytes from 10.1.1.13#53(10.1.1.13) in 1 mscc. 172800 IN NS ac1.nstld.com.cc. 172800 IN NS ac2.nstld.com.cc. 172800 IN NS ac3.nstld.com.cc. 172800 IN NS ac4.nstld.com.cc. 86400 IN DS 519 8 1 7285EF05E1B4E679D4F072EEA9B00953E01F3AE2cc. 86400 IN DS 519 8 2 E1EC6495ABD34562E6F433DEE201E6C6A52CB10AF69C04D675DA692D 2D566897cc. 86400 IN RRSIG DS 8 1 86400 20181208050000 20181125040000 2134 . K30W90xWPofSP+kgBIBCMDncJ7ewr9k504cL+nrFrq/A0VjLAGTxGHRe M+K0hG1xBV+0ZhLpaAVy++rZECpn9XEOpoqf7EXJtbT2R27X36IrzvvB z4Hsp/AEMYaMmU665PkEftdk3RgA5u156UH8LeG0gGuhTn9AmaYEuYiY gg54FSa1nw/7e2fho0KWxGzZIE8gEPnXVuk30s+0tbJ2qi/Gu4x75pmV 49Rro/xNRNZUtrXfvWNOneKwiK1S0TndbGlGydibBjRKETyg1Iob6uu6 tlTDu20NhsWHEFyAW0e4xC+7A+NdxZLn6PbCmB1MCM6Wxj2oug8Tq8QL WxjC3A==;; Received 670 bytes from 198.97.190.53#53(h.root-servers.net) in 271 msdevilf.cc. 172800 IN NS dns29.hichina.com.devilf.cc. 172800 IN NS dns30.hichina.com.RQGAP5UF6Q1NGVCKFNO8RANVDN5ILRIN.cc. 86400 IN NSEC3 1 1 0 - RR9VRBALT8EOD9SAK335LVITNSQII5FL NS SOA RRSIG DNSKEY NSEC3PARAMRQGAP5UF6Q1NGVCKFNO8RANVDN5ILRIN.cc. 86400 IN RRSIG NSEC3 8 2 86400 20181201140301 20181124140301 349 cc. slpKbVNxyTgp7EM1F0hkdSW53W3pul2lgxj55a4mixDncbST6kWyDrIo NWPzFl1zrFbq7HKXFfWZcCiZyJ9ZGw74oAeUSWUAfph44UUYY5CSXdlU 2ItzDNvv5mJV9Klu9IF5UqO8ebTQzeY9V835OoCTnx7rt5fs2iAc7xFE pcE=BL6MKB1NQG0IVOHTRSFV88164C1K8BPB.cc. 86400 IN NSEC3 1 1 0 - BLDPDNVR5GT167DKC1R82138PE3U59QI NS DS RRSIGBL6MKB1NQG0IVOHTRSFV88164C1K8BPB.cc. 86400 IN RRSIG NSEC3 8 2 86400 20181201083817 20181124083817 349 cc. N8wcEys1fVypSVlZnQGh7fpcvYLKwC0x7RFiHm9XXZ/aFkJkWhl6hiT3 GnLeKIGNf3C7odEUz2fLsY6+0nJwkoW16zSbKtvcyLv5xK7VJteSKRyo AzD1LP8BgA3bs1hjGuUeDo9aNAG6dJjpoTO1jPpiFEKbVSB/JgrN6OcL Zss=;; Received 576 bytes from 192.42.176.30#53(ac4.nstld.com) in 284 mswww.devilf.cc. 600 IN CNAME www.devilf.cc.w.kunlunar.com.;; Received 84 bytes from 140.205.81.19#53(dns29.hichina.com) in 29 ms|
|--------|--------|
ご覧のとおり、最初に13個のルートサーバーを検索し、次にルートサーバーが10.1.1.13に、.comトップレベルドメインネームサーバーに依頼し、次に権限のあるドメインネームサーバーtianchiapi.comに依頼し、最後に対応するIPを返すように指示します。
バインドのサービスログメソッドを表示する
|1 2 3 4 5 6 7 8 9101112| $ cd /var/cache/bind$ ll -h-rw-r--r-- 1 bind bind 528 Nov 25 10:23 client.log-rw-r--r-- 1 bind bind 1.7K Nov 25 15:01 lame-servers.log-rw-r--r-- 1 bind bind 221 Jul 17 15:31 managed-keys.bind-rw-r--r-- 1 bind bind 609 Nov 25 14:04 network.log-rw-r--r-- 1 bind bind 830M Nov 25 15:10 query.log-rw-r--r-- 1 bind bind 1.1G Nov 25 15:02 query.log.0-rw-r--r-- 1 bind bind 1.1G Nov 25 14:53 query.log.1-rw-r--r-- 1 bind bind 1.1G Nov 25 14:45 query.log.2-rw-r--r-- 1 bind bind 3.6M Nov 25 15:10 resolver.log-rw-r--r-- 1 bind bind 0 Nov 25 10:04 update.log|
|--------|--------|
|1| sudo systemctl -u bind9 -b debug -f|
|--------|--------|
注意:
BIND 9で利用可能なカテゴリ名(カテゴリ_name)has:カテゴリは、クライアントがクライアント要求を処理することを示します。構成構成ファイルの分析と処理。 databaseエリアデータの保存とレコードのキャッシュに使用される、BIND内部データベースに関連するメッセージ。デフォルトは、チャネルが明示的に指定されていないすべてのカテゴリに一致します。 dnssecは、DNSSEC署名済み応答を処理します。一般には、明確に分類されていないすべてのBINDメッセージが含まれます。ラメ-サーバー不正な認証が見つかりました。つまり、サーバーが壊れています。ネットワークネットワーク操作。通知領域は通知メッセージを更新します。リゾルバーからの再帰的なクエリ情報を含む、クエリログリゾルバー名の解決を照会します。セキュリティが承認されました/未承認のリクエスト。 update動的更新イベント。 xfer-inリモートネームサーバーからローカルネームサーバーへのゾーン転送。 xfer-outローカルネームサーバーからリモートネームサーバーへのゾーン転送。
1 2 3 4 5 6 7 8 9101112131415161718192021222324252627282930313233 | < p> |
---|
Recommended Posts