2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

名前解決フローおよびメール送受信フロー

Last updated at Posted at 2022-01-24

#はじめに
名前解決をする際のフローについては様々な参考書が紹介してくれておりますが、DNSサーバが社内にあったときはLAN-WAN間ではどのようなトラフィックが生成されるのか?社外にあったときは?などと、具体的なフローについては漠然としたままでしたので、一度腰を据えて考えてみました。
それは違うよ、といった内容がありましたらご教示ください。

#DNS
名前解決のフローについていかにイメージ図をまとめる。
##教科書に載っているフロー
PCが名前解決をする際には、端末上のDNSクライアントがフルサービスリゾルバにクエリを送信し、フルサービスリゾルバは権威DNSサーバに反復問い合わせを行って、解決結果をDNSクライアントに回答する。
image.png

##もうちょっと具体的に
###社内DNSサーバがフルサービスリゾルバとして、PC端末から参照されている場合
社内リソースはそのままAレコードを見て解決する。社内DNSサーバが保持していないゾーンについて解決しないといけない場合、ルートヒントを参照してルートサーバから反復問い合わせを行う。
image.png

社内DNSサーバがフォワーダを指定している場合、社内DNSサーバからフォワーダへは再帰問い合わせを行い、フォワード先のDNSサーバが反復問い合わせを行う。
image.png

###社外DNSサーバがフルサービスリゾルバとして、PC端末から参照されている場合
社内DNSサーバの際と比較して、フルサービスリゾルバが社内にあるか社外にあるかだけ。ただしこの場合は社内リソースの名前解決はできない。ISPのDNSサーバを参照している場合などは、自社ドメインのゾーン情報をDNSサーバに登録することはできない。
image.png

###Proxy接続時の名前解決フロー(社外DNS)
Proxyサーバを経由する通信の場合、端末からはproxy通信のほうが先に行われる。DNSの名前解決はproxyサーバが行う。
image.png
こちらのSEの道標さんが非常にわかりやすかった。私の資料なんかよりこちらを一読することを強く推奨。

####DNS用語
ゾーン…コンテンツサーバが管理するドメインの情報の範囲。各ゾーンを一つのデータベースが管理している。ドメインごとにデータベースを分けて管理しても、複数ドメインをまとめて一つのデータベースで管理してもよい。
image.png
出典:ITmediaさんのゾーンとは

フォワーダ…クライアントから名前解決のクエリがあった場合に、そのクエリを再帰問い合わせとして別のDNSサーバに転送すること。
 排他モード…フォワーダがDNSクエリを解決できない場合、フルリゾルバは自分で名前解決を行わず、失敗を返す。
 非排他モード…フォワーダがDNSクエリを解決できない場合、フルリゾルバが自分で名前解決を行う。

ルートヒント…フルリゾルバに保存されているルートサーバのIPアドレス一覧情報。企業内ネットワークにおいて各DNSサーバがインターネット上のリソースの名前解決を行わない場合、ルートヒントには企業内ネットワークにおけるルートサーバのIPアドレスに変更する必要がある。

##レコードの種類

レコード名 内容
Aレコード ホスト名とIPv4アドレスの結びつきを示す。
AAAAレコード ホスト名とIPv6アドレスの結びつきを示す。
SOAレコード 自ゾーンや下位ドメインのDNSサーバのホスト名を記述する。
MXレコード メールアドレスの@以下を解決する。実際にメールアドレスから宛先メールサーバのホスト名を調べるのはメールサーバであり、PC端末上のクライアントはメールをサーバに送信するだけ。
CNAMEレコード ホスト名に別名をつける。1台のWebサーバにメールサーバやFTPサーバの機能を持たせたいときなど。コンテンツサーバはAレコード検索にて情報が見つからなければ、CNAMEレコードを検索し、その結果を回答する。別ホスト名にて同一ゾーンにAレコードがあればその検索結果も回答するが、ない場合はリゾルバ側で改めて問い合わせを行う。
SPFレコード(TXTレコード) 送信元アドレスのドメインを参照し、メールの認証を行う。

###ゾーンファイル例
DNSサーバの保持するゾーンファイルの一例を以下に示す。リソースレコードの集合体を、ゾーンファイルという。
image.png
出典:infraexpertさんのTCP/IP - DNS 2

###BIND
上記のゾーンファイルは、DNSサービスを提供するソフトウェアであるBINDにおける例である。
BINDは、DNSサーバとして機能するゾーン、プライマリ/セカンダリの指定およびコンテンツ/キャッシュなどの指定をするnamed.confファイルと各ゾーンの情報を保持するゾーンファイルから構成される。
image.png
出典:Plat’HomeDNSサーバの設定

##その他
###URLとFQDNとホスト名の違い
ホスト名+ドメイン名=FQDN
image.png
FQDNの頭に利用する通信方式(httpsやftp)およびディレクトリ・ファイル名を指定したものがURL。FQDNの部分はIPアドレスでもOK。
image.png

#メール送信フロー
メール送受信のフローについて以下にまとめる。
image.png

##メール送受信に必要なAgent
メールサービスは複数のプログラムを用いることで成立している。
MUA:Mail User Agent ユーザの作成したメールをMTAに送る。MRAと連携し、メールをユーザが読める形式にする。
メールクライアント
MTA:Mail Transfer Agent メールを転送する。DNSのMXレコードを参照してドメイン名から転送先のメールサーバを探す
sendmailやqmail、Postfix
MDA:Mail Delivert Agent 自身の所管のドメイン宛てのメールを受信した際に、各ユーザのメールボックスに格納する機能
MRA:Mail Retrieval Agent サーバのメールボックスからメールを取り出し、クライアントに提示する機能。POPやIMAP
※各機能は一つのエージェントに同居する
image.png

##社外メールサーバ
例として、Exchange Online。
メールクライアントからメールが送信されるのは社外のExchangeサーバ。メールサーバ間でメールが受け渡されると、受信側のPCは社外のメールサーバに向けてメールの問い合わせを行う。(POP3,IMAP)
image.png

##Webメール
gmailなどはブラウザ上から操作する場合にはメールサーバにはwebサーバが命令をするが、アプリから操作する場合には
メールクライアントが命令するらしい。
image.png

####メール用語
POP サーバからクライアントにメールを転送し、クライアントが読み出す。クライアントはネットワークに接続されていない
場合でもメールを読むことができる。

IMAP ヘッダ情報のみをクライアントに転送し、クライアントの指示に従いサーバはメールを転送する。ネットワークに接続
されていない場合でもメールを読めるよう、転送しておくことができる。

APOP メール受信時にMD5を利用したチャレンジーレスポンス認証方式を用いる。POPサーバとクライアントの双方がAPOP
に対応している必要。メール本文は暗号化しない。

SMTP Auth メール送信時にユーザの認証を行う。クライアント-サーバ間。

POPS / IMAPS メール受信時にSSL/TLSで通信経路を暗号化する。サーバ-クライアント間。

SMTPS メール送信時にSSL/TLSでメールクライアント-サーバ間の通信経路を暗号化する。

S/MIME / PGP クライアント間でのすべての経路にてメールの暗号化を確実にする仕組み。S/MIMEはPKIの仕組み、
PGPは信頼の輪。暗号化がクライアント-サーバ間のみで、サーバ間は暗号化が行われていない可能性があるため。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?