DNS(MX)とメール (6/6)

 

     DNSの役割について(復習)

Ø         DNSは、ホスト名とIPアドレスを変換する機構である。

Ø         通常人間のユーザは覚えやすさの観点などからホスト名を利用する。一方端末は計算などの観点からIPアドレスを利用する。このホスト名とIPアドレスを変換してくれる機構がDNS(ドメインネームサービス)である。

Ø         DNSを端末で利用できる(DNSクライアント)ようにするためには、DNSサーバのIPアドレスを指定しておく必要がある。DNSサーバは自分(端末)が属しているドメインのDNSサーバを指しておくのが一般的である。

Ø         DNSサーバの指定は、当然IPアドレスで指定する(ホスト名ではない)。この理由は明白であろう。

     DNSの詳細

Ø         DNSは基本的な部分はデータの変換機構である。DNSが有するデータは様々あるが、代表的なものはホスト名とIPアドレスで、これらの対を情報として保有している。変換は、ホスト名→IPアドレス(正/順引き)と、IPアドレス→ホスト名(逆引き)の二種類があり、別々のデータを保有する。

Ø         DNSに登録さえすればホスト名とIPアドレスの対は、いつでも変更できる。例えばある端末Aが他の端末からアクセスされることのあるマシンで、何らかの都合で調子が悪くなった場合、ほぼ同様の機能を持つ別の端末Bがあった場合、DNS上でAのホスト名に対応するIPアドレスをBのアドレスに切り替えれば、Aにアクセスするユーザは何も気付かずにアクセスできる。

Ø         Aレコード

²        ホスト名→IPアドレス(順引き)のデータは、DNS上でAレコードと呼ばれる情報として記憶・設定する。

Ø         CNAMEレコード

²        Aレコードと似たものに「CNAME」レコードがある。これは、ホスト名→ホスト名の情報で、いわゆる別名を付ける。例えば、tip30.t-kougei.ac.jp192.168.16.76というIPアドレスを持つが、この端末は別名として、www.t-kougei.ac.jpというホスト名などを持っている。

Ø         PTRレコード

²        IPアドレス→ホスト名(逆引き)のデータは、DNS上でPTRレコードと呼ばれる情報として記憶・設定する。

Ø         DNS情報を調べるツールnslookup

²        nslookupと呼ばれるツール(Unix上)により、DNSを引くことができる。

²        nslookupでは端末が既に設定しているDNSサーバの指定を無視して自由に他のDNSサーバを指定することもできるし、Aレコード以外の全てのレコードを取得(調査)することもできる。

Ø         あるドメインを運用する場合には、そのドメインの端末情報を記述したDNSサーバを運用しなければならない。DNSサーバの運用に関してはここでは省略するが、ネットワーク管理者のまずしなければいけないことの一つである。

Ø         MXレコード

²        DNSが保有する情報の中で重要なものの一つとして、MXレコードがある。

²        MXレコードは「Mail Exchange」であり、メール転送に利用される情報である。

²        MXレコードは、ドメイン名→ホスト名(優先度付き)というような情報をセットする。一つのドメイン名に対し、優先度を変えて複数のMX先ホスト名をセットすることも可能である。

     MXとメールとの関係

²        MXレコードは、電子メールを送出する際に利用される情報である。電子メールを送出するのは多くはsendmailというプログラムにより、SMTPというプロトコルで実施される。また通常設定したSMTPサーバに一度送られてから相手のメールサーバにメールが送られることになっている。

²        例えば、xxx@t-kougei.ac.jp宛ての電子メールを送出する場合、一体相手のメールサーバは具体的にどのマシンなのであろうか?メールアドレスにはユーザ名の他にはドメイン名しか書かれていない。@以降はホスト名ではなく、ドメイン名であることに注意すべきである。

²        電子メールの宛先のドメイン名から、メールサーバを知る機構がDNSMXレコードである。上記の例だと、t-kougei.ac.jpドメインのメールサーバが何であるのかをDNSMXレコードを通じて知ることができる。例えば、t-kougei.ac.jptipgw.t-kougei.ac.jpというデータがMXとして登録されていると、sendmailプログラムはDNSを通してこの情報をまず取得する。そこで、t-kougei.ac.jpドメインのメール先(MX先)がtipgwというマシンであることを知り、このマシンに対してメールを送出する。

²        MXレコードは優先度を変えて一つのドメインに対して複数のメールサーバを指定できる。まず優先度の高いメールサーバに対してメールを送信しようとするが、もしこのマシンが何らかの理由で死んでいたりする場合、次の優先度のメールサーバに対してメールを送る。

²        メールサーバによっては、メールアドレスとして「ユーザ名@マシン名」でも送出可能に設定してあるが、基本はあくまでも「ユーザ名@ドメイン名」である。ローカルに「ユーザ名@マシン名」を使うことは問題ないが、インターネットを通じて「ユーザ名@マシン名」を使うことは好ましくないし、多くの場合送信できないことがある。

     sendmail

Ø         sendmail とはメールサーバ上で電子メールをやりとりするためのあるプログラム郡の名前である。電子メールをやりとりするプログラム郡には他にもあるが、Unix上でインストールするプログラムとしてはsendmailがポピュラーである。

Ø         sendmailのようなメール(デーモン)プログラムは、メールを受け取ったり、送信したりすることを行い、当然DNSを通じてMXレコードの取得なども行う。

 

     nslookup, sendmail

 

DNS(MX)とメール (6/6)

※小テスト実施項目

(1)         DNSクライアントとして端末を設定する際に、DNSサーバを指定する必要がある。このDNSサーバの指定(設定)は、ホスト名ではなく、IPアドレスを指定(設定)しなければならない。それはなぜか?

(2)         ある一つのネットワーク上に、DNSサーバDというマシンと、あるドメインのsmtpメールサーバA、及びbbbドメインのメールサーバBというマシンがある。メールサーバAから、「xxx@bbb」宛てにメールを送る場合、ネットワーク上でどのようなやりとりが行われるのかを記述せよ。
今日のDNS(MX)の話を中心に、可能ならば先日のより詳細なやりとりについても記述せよ。

 

※確認項目

(1)     DNSクライアントとなる際のDNSサーバの指定は、なぜホスト名ではなく、IPアドレスでなければだめなのか?

(2)     あるネットワークには端末ADNSサーバDとメールサーバMが接続されている。また隣のネットワークにはユーザXのメールサーバNが接続されている。端末AからユーザXにメールを送った場合、どのようなやりとりが行われるのか?但し、ARPに関しては無視してよいものとする。

(3)     上記(2)の例で、ARPまで考えると、どのようなやりとりが行われるであろうか?

(4)     メールアドレスは、なぜ「ユーザ名@ドメイン名」なのか?「ユーザ名@マシン名」で不便なことを中心に考えてみよう。

 

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

TOP | [前回] | [次回]