UdriverGo’s diary

まるで成長していない・・・・・

DNSについて(feat.ラウンドロビン)

とあるメールシステム案件勉強中に耳にしたDNSラウンドロビン

いい機会なのでDNSについて少し勉強しておこう。

 

とりあえずDNSラウンドロビンについて調べる。

 

DNSの名前解決をラウンドロビン式(要は順繰り)で行うやつ

LBと比べて死活監視やセッション管理ができないのがデメリット。

まず、基本知識はこの程度。

 

で、調べたが基本知識くらいで十分な感じだった。

細かくなるとDNSラウンドロビンの場合、順繰り対象IPを返信するのではなく

IPが3つなら3つ全部返すらしいが、PC早いもの勝ちなので早く来たIPに行く仕組みで分散される感じだった。

 

そもそもDNSサーバの仕組みが曖昧なので調べながら整理する。

 

DNSの仕組み

FQDNはピリオドを境に ドメインを管理するサーバーが変わる ことを表現している。

最上位ドメインであるルート(.)ドメインを管理するサーバは ルートサーバー と呼ばれ、世界に13台だけ存在する。

 

http://www.google.com.

com.っていうのは普段使わないが本来はこれが完全らしい。

 

順番的には(.root)ルートDNSサーバ→.comのDNSサーバ→.googleDNSサーバ

 

この時、自力で回答せずに上位DNSサーバーに問い合わせる名前解決を 再帰的問い合わせ と言い、自力で回答する名前解決を 非再帰的問い合わせ と言う。

サイトによっては、反復問い合わせとも言う。こっちが覚えやすいな。

 

そして再帰問い合わせを実行するDNSサーバーを キャッシュサーバー  リゾルバ と呼び、非再帰問い合わせが可能なDNSサーバーを 権威サーバー と呼びます。

要はこのキャッシュサーバーっていうのが、サーバTが作るサーバーってことかな。

キャッシュって名前だから一回問い合わせしたのは結果をキャッシュしているから

次は問い合わせはしない、ってことかな。

 

一度取得した情報はキャッシュに保持している(キャッシュしたエントリの寿命は、DNSサーバのレコードで定義されている値などに基づいて決められる)。その中に検索対象のドメインや一度アクセスしたレコードがあれば、高速に内容を取り出せる。

 

▣レコード

問い合わせを受けた権威サーバーは自分に設定されている レコード を確認して回答します。

問い合わせの種類によって次のように レコードの種類も変更 する必要があります。(代表的なものを載せています)

 

  • Aレコード
    • IPv4でホスト名とIPアドレスの関連づけを定義するレコード
  • AAAAレコード
    • IPv6でホスト名とIPアドレスの関連づけを定義するレコード
  • Cレコード
    • 正規ホスト名に対する別名を定義するレコード
  • MXレコード
    • 対象ドメイン宛のメールの配送先(メールサーバ)のホスト名を定義するレコードです

MXレコードはメールの送り先となるサーバーの情報ってことかな、、

わからん、調べよう

 

MXレコードは「IN MX 10 mx1.example.com」というような記述方法で設定されています。

例えば、「example.com」というドメインのMXレコードが「IN MX 10 mx1.example.com」と設定されているとすると、xxx@example.com へのメールは mx1.example.com  というサーバに送られることになります。

ふーん、Webではなくメールで使われるレコードっていうことくらい覚えておくか。

 

小規模なLANでは、ホスト名とIPアドレスの変換には hosts ファイルに、LAN上の全ホストを登録しておけば事足りる。

実際閉塞網を使う環境とかDNSサーバーを利用できない環境でよくこの方法で名前解決してた気がする。

 

しかし、インターネットに接続するにはDNSサーバーが必須となる。

インターネットでは、プライマリーとセカンダリーの最低2つのDNSサーバーが必要になるが、普通は、セカンダリーサーバーはプロバイダーが用意するので、自己ドメイン内には最低限プライマリーサーバーを用意すれば良い。

今までの経験だとプライマリを用意するのであれば、セカンダリーも用意していたような気がする。

 

DNSサーバーの構築

  • DNSサーバー構築環境
    • CentOS Linux release 8.2.2004 (Core)
    • bind-libs-lite-9.11.13-6.el8_2.1.x86_64

タイトルにもしている BIND とは世界で最も多く利用されているオープンソースDNSサーバーです。

現在はバージョン9が主流のようです。

DNSサーバ―構築手順とかで検索するとわりと細かく出ているので

自分でも構築できそうな感じはした。

(でもlinux勉強してからにしよう、、)

 

次はDNSと合わせてよく耳にするADについて勉強する。

 

参考サイト

Active Directoryとは?【連載:ADについて学ぼう~基礎編(1)~】 - ManageEngine ブログ ManageEngine ブログ