● 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.jpは192.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宛ての電子メールを送出する場合、一体相手のメールサーバは具体的にどのマシンなのであろうか?メールアドレスにはユーザ名の他にはドメイン名しか書かれていない。@以降はホスト名ではなく、ドメイン名であることに注意すべきである。
² 電子メールの宛先のドメイン名から、メールサーバを知る機構がDNSのMXレコードである。上記の例だと、t-kougei.ac.jpドメインのメールサーバが何であるのかをDNSのMXレコードを通じて知ることができる。例えば、t-kougei.ac.jp→tipgw.t-kougei.ac.jpというデータがMXとして登録されていると、sendmailプログラムはDNSを通してこの情報をまず取得する。そこで、t-kougei.ac.jpドメインのメール先(MX先)がtipgwというマシンであることを知り、このマシンに対してメールを送出する。
² MXレコードは優先度を変えて一つのドメインに対して複数のメールサーバを指定できる。まず優先度の高いメールサーバに対してメールを送信しようとするが、もしこのマシンが何らかの理由で死んでいたりする場合、次の優先度のメールサーバに対してメールを送る。
² メールサーバによっては、メールアドレスとして「ユーザ名@マシン名」でも送出可能に設定してあるが、基本はあくまでも「ユーザ名@ドメイン名」である。ローカルに「ユーザ名@マシン名」を使うことは問題ないが、インターネットを通じて「ユーザ名@マシン名」を使うことは好ましくないし、多くの場合送信できないことがある。
● sendmail
Ø sendmail とはメールサーバ上で電子メールをやりとりするためのあるプログラム郡の名前である。電子メールをやりとりするプログラム郡には他にもあるが、Unix上でインストールするプログラムとしてはsendmailがポピュラーである。
Ø sendmailのようなメール(デーモン)プログラムは、メールを受け取ったり、送信したりすることを行い、当然DNSを通じてMXレコードの取得なども行う。
● nslookup, sendmail
※小テスト実施項目
(1) DNSクライアントとして端末を設定する際に、DNSサーバを指定する必要がある。このDNSサーバの指定(設定)は、ホスト名ではなく、IPアドレスを指定(設定)しなければならない。それはなぜか?
(2)
ある一つのネットワーク上に、DNSサーバDというマシンと、あるドメインのsmtpメールサーバA、及びbbbドメインのメールサーバBというマシンがある。メールサーバAから、「xxx@bbb」宛てにメールを送る場合、ネットワーク上でどのようなやりとりが行われるのかを記述せよ。
今日のDNS(MX)の話を中心に、可能ならば先日のより詳細なやりとりについても記述せよ。
※確認項目
(2) あるネットワークには端末AとDNSサーバDとメールサーバMが接続されている。また隣のネットワークにはユーザXのメールサーバNが接続されている。端末AからユーザXにメールを送った場合、どのようなやりとりが行われるのか?但し、ARPに関しては無視してよいものとする。
(3) 上記(2)の例で、ARPまで考えると、どのようなやりとりが行われるであろうか?
(4) メールアドレスは、なぜ「ユーザ名@ドメイン名」なのか?「ユーザ名@マシン名」で不便なことを中心に考えてみよう。
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-