DNSのお仕事 その2

30.04.10 / DNSって何? / Author: / Comments: (5)

DNSのお仕事、つづきです。

DNSサーバーには3つの働きがあります。

コンテンツサーバー、スタブリゾルバ(一般にリゾルバとはこれのこと)、フルサービスリゾルバの3つです。

それぞれどのように働いているのでしょうか?

リゾルバ(スタブリゾルバ)がドメイン名に対応するIPアドレスがあるかを、
自分のDNSサーバー内のフルサービスリゾルバがキャッシュしてないか、コンテンツサーバーが情報を持っているかを尋ねます。
これを再帰問い合わせといいます。
対応付けができなければ、こんどはフルサービスリゾルバが他のDNSサーバーのコンテンツサーバーに尋ねていきます。
これは、対応付けができるまでつづけられるので、反復問い合わせといいます。
IPアドレスとの対応付けができるコンテンツサーバーに遭遇したら、
その情報をフルサービスリゾルバがキャッシュします。
そのはたらきにより、フルサービスリゾルバはキャッシュサーバーとも呼ばれます。
このようにして、DNSサーバーはIPアドレスとDNSの対応付けをしているのです。

まとめです!

ドメイン名とホスト名ってなんだろう?

30.04.10 / DNSって何? / Author: / Comments: (1)

IPアドレスを簡単にまとめたところで、つぎはドメイン名について!です。

ドメイン名とはインターネット上の住所であるIPアドレスを人間がわかりやすいように表示したものということでしたが、その仕組みはどうなっているのでしょうか?

ドメインはもともと領土や範囲という意味の単語です。

このブログのドメイン名はdirectorz.jpです。

jpやdirectorzなど、組織や団体などの単位一つ一つドメインといい、そのドメインの名前をドメイン名といいます。

ドメイン名はIPアドレスを人間がわかりはやすいようにした形式で . で区切られた文字列ですが、それぞれの文字列には意味があります。

co-akuma.directorz.jpは、co-akumaというホスト.directorzというドメイン.日本(jp)のドメインという意味です。

つまり、うさおくんでいうとうさうさ村、うさぎ県というようにうさおくんの住む場所を表すように、
co-akuma.directorz.jpではjpで日本、directorzでディレクターズという会社といったようにco-akuma.directorz.jpが所属しているものをあらわしています。

つまり、ドメイン名とは、ホストがどこに所属しているのか、どこの領土・範囲にいる人なのかをあらわしているのです。

なので、おなじうさこちゃん(このブログでいえばco-akuma)というホスト名でも、所属(ドメイン)が違えばまったく別人ということになります。

ドメインには右側から順番にレベルがあります。

ドメイン名の一番右の文字列をトップレベルドメイン(TLD)といいます。
FQDNのco-akuma.directorz.jpでいうとjpの部分です。
トップレベルドメインには、jpが日本内のドメインというように国名を表すccTLD(country code TLD)と
、com(商用)やnet(ネットワークサービス提供組織)といった組織の種別を表すgTLD(generic TLD)があります。

FQDNのco-akuma.directorz.jpのdirectorzの部分をセカンドレベルドメイン(SLD)といいます。
セカンドレベルドメインには、ne(ネットワーク)やco(商用)といった組織別にわけるものが広く使われていましたが、
tokyo.jpのように地域型のドメインや、directorz.jpのように組織別のドメインをつかわないものも使えるようになりました。

そのあともサードレベルドメイン…のようにつづきます。

FQDNの一番左、co-akuma.directorz.jpではco-akumaの部分をホスト名といいます。

そして、ホスト名、トップレベルドメイン名、セカンドレベルドメイン名…すべてを記したものをFQDN(完全修飾ドメイン名)と呼びます。

ホスト名というのはネットワーク上のコンピューターの名前で、ドメイン名はホストが所属する所の名前です。
ドメイン名(ホスト名)なんてかいてあってどう違うの!?という質問をよく見ますが、ホスト名はホストに割り当てられるドメイン名なのです。


うさぎ国のうさうさ村のうさおくん(usao.usausa.usagi)におきかえて考えてみましょう。

うさぎ国うさうさ村というのはこのブログでいうとdirectorz.jpの部分ですが、これは、うさおくんが住んでいる(所属している)場所なのでドメイン名です。
usausa.usagiだけではうさうさ村の誰なのかわかりませんよね。だからこれはホスト名ではないことがわかります。

うさおくんというのは、うさおくんといううさぎ(ホスト)とわかるのでホスト名です。
また、うさおくんというホストにわりあてられたドメイン名でもあります。
これは、たとえば、うさぎ国うさうさ村のうさぎたちなら、このむらにはうさおくんはひとりしか存在しないので、うさおくんがどこにいるかわかりますよね。
だから、うさおくんのいる場所、ドメイン名といえるのです。

うさぎ国うさうさ村うさおくんというのはこのブログでいうco-akuma.directorz.jpの部分です。
これは、うさおくんのいる場所をあらわしているのでドメイン名であり、住所(ドメイン名)と名前(ホスト名)すべてを書いているのでFQDN(完全修飾ドメイン名)です。
また、誰あてであるか、つまり、ホストが誰であるのかもわかるので、ホスト名といえます。
また、よく、IPアドレスに対応するのはドメイン名とかかれていますが、この場合のドメイン名はFQDNのことをさしています。

IPアドレスってなんだろう?

30.04.10 / DNSって何? / Author: / Comments: (3)

今日はDNSを理解するために必要な用語をまとめました!

とにかく盛りだくさんです。

IPアドレスからスタートです!

IPアドレスは「.」で4つに区切られた数字の並びで表現されたインターネット上の住所です。

インターネットでホームページを見るとき、コンピューターはこのIPアドレスをつかってわたしたちが見たいホームページを見れるようにしてくれます。

でもインターネットを使っていてIPアドレスなんて見たことないですよね。

たとえばこのブログのIPアドレス(現在の)は 125.6.176.32です。
でも、わたしたちが目にするのは小悪魔女子大生のサーバーエンジニア日記という名前や、
http://co-akuma.directorz.jp/blog/というURLで、125.6.176.32なんてどこにもないですよね。

じゃぁなんでIPアドレスは必要なのでしょうか?

文字やイラストや写真を表示してくれるコンピューター、実はonとoffしかわからないのです。
コンピューターの情報はonを1、offを0として、その0と1を組み合わせて表現しています。

0と1だけで数を表す方法を2進数と呼び、わたしたちがふだん使っている0〜9をつかう方法を10進数と呼びます。

IPアドレスはコンピューターの理解できる0と1の2進数を0〜9の10進数で表記したものです。

IPアドレスが示しているのはhttp://co-akuma.directorz.jp/blog/というURLでの、co-akuma.directorz.jpにあたる部分と対応しています。
この部分をFQDN(完全修飾ドメイン名)と呼びます。
数字の並びであるIPアドレスは人間にとって覚えづらいので、人間にとっておぼえやすいドメイン名というものができました。

なのでhttp://co-akuma.directorz.jp/blog/をhttp://125.6.176.32/blog/としてもこのブログが見れます!

このIPアドレスとFQDNを対応づけしてくれるのが前回登場したDNSなのです!

DNSもくじ

14.04.10 / DNSって何? / Author: / Comments: (0)

DNSって…むずかしい!

←現在の状況
DNSの基本情報を理解する流れとしてもくじを作ってみました!

1.DNSはなぜつくられたのだろう?

2.ドメインとは?ホスト名とは?サブドメインとは?FQDNとは?

3.DNSって何?

4.レコードとは?

5,digコマンドとは?

6,逆引きのしくみ

7,BINDとは?

8,whoisとは?


DNS今昔ものがたり

05.04.10 / DNSって何? / Author: / Comments: (5)


DNSとは、ドメインネームシステムの略です。
DNSの仕事は「ホスト名をもとに、ホストのIPアドレスを教える」ことです。

なぜDNSというしくみができたのかをものがたりにしてみました!

むかしむかしあるところにウサギ村という村がありました。

ウサギ村はたった10人しかいない小さな村だったので村ウサギたちはお互いの名前を知っていました。


hostsファイルはDNSができる前に使われていたテキストファイルです。

しかしちいさなウサギ村も10ウサ、100ウサ、1000ウサとウサギ数が増え、巨大な国となっていきました。

そのため村ウサギたちはお互いを把握できなくなってしまいました。
どんなうさぎかを思い出そうにも時間がかかったり、引っ越してきた新ウサギさんを知らなかったなど…
また、ウサギ村では同じ名前を名乗ることを禁止していたはずが、人数が増えすぎて名前がかぶる事態となってしまい、郵便局やぎさんがちがうウサギさんに間違ってメールを送りそうになる事件など問題が発生し始めてしまったのです。

hostsファイルではすべてのホスト情報が管理されているのでネットワークを使う人が増えたことでhostsファイルの容量が大きくなってしまい、ネットワークが正常に機能しなくなってしまったのです。
また好き勝手にホスト名を名乗れてしまったため、ホスト名がかぶり、送りたい人ではない人にメールが届いてしまう危険性などの問題が発生してしまいました。

ここまで村が大きくなると思っていなかったうさ王は国うさぎを把握するためのシステムを考えました。
それこそがDNSです!

うさ王は国ウサギの名前を把握するためにDNSサーバーという国ウサギ情報管理所をつくり、国ウサギたちが知りたいウサギさんのことを問い合わせられるようにしました。

うさぎ国は巨大な国家だったのでひとつの管理所にすべての情報をあつめるのは大変なので、うさ王はDNSサーバーをたくさんつくって情報を分散管理させることにしました。
また、うさぎ国を村ごとにわけることによってうさぎさんたちの名前がかぶることを防ぎました。

国ウサギ情報管理所の中央管理所をルートネームサーバーといい、世界に13個存在しています。
国うさぎの情報はこのルートネームサーバーを先頭にツリー上に情報局を枝分かれさせています。

(例)ウサギ国のうさぎ県うさぎ村のうさおさんが、ウサギ国のウサウサ県ウサウサ村のうさこちゃんに会いたいんだ!と言った場合

うさおさんはうさぎ村のDNSサーバーにうさこちゃんの住所(IPアドレス)を聞きにいきます。
ところがうさぎ村のDNSサーバーではうさこちゃんのことはわからなかったので、
うさぎ県のDNSサーバーに問い合わせをしてもらいました。
しかしここでもうさこちゃんのことはわかりませんでした。
なのでうさぎ国の中央情報局、ルートネームサーバーに問い合わせをしてみると!
ウサウサ村のDNSサーバーのことを教えてくれました。
ウサウサ村に問い合わせをするとうさこちゃんの住所であるIPアドレスを教えてくれたので、
うさおくんはうさこちゃんに会いにいくことができたのでした♪

SMTP-AUTHの設定をしてメールを送れるようにしよう*

05.04.10 / メールのこと / Author: / Comments: (2)

SMTP-AUTHを設定しないとpostfixでメール送信をすることはできません。

今日は、
・SMTP-AUTHを設定する
・587番ポートを有効にする
…が、課題です!

まず25番ポートでSMTP-AUTHを設定していきます。
terminalを開いて、
いつもどおりsshでサーバーに入ったら、
$ sudo bashでroot権限を得ます。
[root@~]になっていたらやらなくても大丈夫です。

$ vi /etc/postfix/main.cfでpostfixの設定ファイルを編集します。

iコマンドで編集モードにしたら、最終行に↓を追加します。
smtpd_sasl_auth_enable = yes
smtpd_saul_local_domain = $myhostname
smtpd_recipient_restrictions =
permit_mynetworks
permit_sasl_authenticated
reject_unauth_destination

_________

smtpd_sasl_auth_enable = yes で SMTP-AUTHを有効
smtpd_saul_local_domain = $myhostname でローカルドメインを指定
permit_mynetworksでmynetworksで指定されたネットワークからのメール送信を許可
permit_sasl_authenticatedでSMTP認証を通過した場合のみ許可
reject_unauth_destinationでそれ以外を拒否

_________

:wqで終了します。
$ /etc/init.d/postfix reloadでリロードします。

$ /etc/rc.d/init.d/saslauthd startでsaslauthdを起動します。
SMTP-AUTHを利用するときにはSASLというしくみが必要になります。
SASLを用いると、認証の機能や通信路の暗号化の機能を追加できます。
SASLのサービス名がsaslauthdです。OKとでたら起動できてます!

SMTP-AUTHとシステムのユーザー名、パスワードは同じものを使用するので、
$ chkconfig saslauthd onで自動起動設定にして、
$ chkconhig –list saslauthdで自動起動設定を確認します。
saslauthd       0:off   1:off   2:on    3:on    4:on    5:on    6:offとでればオッケーです:)

($ sudo bash)
$ vi /etc/postfix/main.cf
smtpd_sasl_auth_enable = yes
smtpd_saul_local_domain = $myhostname
smtpd_recipient_restrictions =
permit_mynetworks
permit_sasl_authenticated
reject_unauth_destination
:wq
$ /etc/init.d/postfix/ reload
$ /etc/rc.d/init.d/saslauthd start
$ chkconfig saslauthd on
$ chkconhig –list saslauthd

_________

587番ポートを有効にします。

普段は/etc/postfix/main.cfで設定変更しますが、ここにはポート番号がないので、

postfix側のsubmissionを開いて編集します。
$ vi /etc/postfix/master.cfで編集します。
#submission inet n -n – -smtpdを
submission inet n -n – -smtpdにします。#をはずすだけです。

そのあと、
$ /etc/init.d/postfix reload でリロードします。
$ netstat -antl | grep 587で、ポートが開いているか確認します。
tcp 000.0.0.0:587 0.0.0.0:*LISTENとでれば大丈夫です。

つぎに587番ポートにSMTP-AUTHされているか確認します。
$ telnet localhost 587とすると
Trying 127.0.0.1…
Connected to localhost.
Escape character is ‘^]’.
220 ~とでるので
EHLO localhostと打ちます。
すると、
250-AUTH LOGIN GSSAPI CRAM-MD5 PLAIN DIGEST-MD5とでたら
SMTP-AUTHがされていることがかくにんできたので、quitで終了します。

$ vi /etc/postfix/master.cf
#submission inet n -n – -smtpdから#をはずす。
$ /etc/init.d/postfix reload
$ netstat -antl | greo 587
$ telnet localhost 587で587番ポートにSMTP-AUTHされているか確認
EHLO localhostと打つ。
quit

______________

あとはメールのアプリケーションの環境設定で
送信用メールサーバー(SMTP)にサーバーリストを編集
メールサーバーを追加します。

+を押したらサーバー名をかけるようになるので、サーバー名をいれて完成です^ω^

SMTP-AUTHものがたり

29.03.10 / メールのこと / Author: / Comments: (1)

前回、前々回でメール受信ができるようになったので、次はメール送信ができるようにがんばります!
その前にSMTP-AUTHについてです*

SMTP-AUTHとは、メール送信に使うプロトコル(通信手順)であるSMTPにユーザー認証機能を追加したものです。
SMTPはもともと認証をもたなかったので、無差別広告メールの送信という被害にあいました。
これに対抗するために作られたのがSMTP-AUTHです。
SMTP AUTHではユーザーアカウントとパスワードの認証を行い、認証された場合のみ送信を許可します。
←この部分で制限をかけます
でもまぜSMTP-AUTHはつくられたのでしょうか?
その理由をうさぎさんとくまさんと勉強しましょう!

きょうもうさぎさんはくまさんにメールを送るために郵便局に手紙を渡しにいきます。

やぎ郵便局のメール送信課は25番ポート。
うさぎ支局の白やぎ郵便局はうさぎさんに配送をお願いされたメールを今日もがんばってくまさんに送ります。

ところが!
うさぎ村に現れた悪ウサギさん。白やぎ郵便局に悪いメールを配送するようお願いするようになったのです!

なにもしらない白やぎ郵便局は悪いメールも送ってしまいます。

悪ウサギさんは1人、2人、3人と増え被害が拡大!

事態をしった白やぎさんは悩みます…

そこでやぎさんがひらめいたのがSMTP-AUTH!!!!

白やぎ郵便局は対策のため悪ウサギではないことを確認するためにSMTP-AUTHという身分証明制度(IDとpassをかける!)で悪ウサギさん対策をします。
こうして白やぎ郵便局は平和を取り戻しました

……ところがしぶとい悪ウサギさん!
お隣の黒やぎ郵便局に配送を頼みます!

のんきな黒やぎ郵便局はなかなか身分証明の制度をつけません。
黒やぎ郵便局のメール送信課25番ポートは誰のメールでも受け付けたまんま。

うわさがうわさを呼び黒やぎ郵便局は悪ウサギさんのあつまる郵便局になってしまいます!

どうぶつ国の村の危機を感じた村長さんたちは村長会議を開き、

いっせいにすべての郵便局の25番ポートでの受け取りをやめさせ、SMTP-AUTHをつけた587番ポートをひらかせることにしました。

こうしてSMTP-AUTHと587番ポートをひらくことを強制したため黒やぎさんも白やぎさんもすべての郵便局はセキュリティ強化をめざします!

悪ウサギさんを撃退し、今日も元気に手紙を配送するのでした*

おしまい*

メールサーバーの道のりは長くきびしい><
がんばりましょーーー!

POPを設定してメールを読めるようにする。

29.03.10 / メールのこと / Author: / Comments: (1)

前回、Postfixで外からのメールを受信できるように設定しました。
でもこのままではメールサーバーが保管したままでメールを読むことができません。
←前回はここまで

なので今回はPOPで届いたメールを受け取りましょう!
←今回はこの部分

今回はDovecotを設定し起動していきます!

sudo bashでroot権限を得たら、

yum -y install dovecot でDovecotをインストールします
yum install [パッケージ名]はパッケージをインストールするコマンドです。-yをオプションにすることでインストール途中に出てくる問い合わせに対してすべてyesで答えてくれます。

vi /etc/dovecot.conf でDovecotの設定ファイル/etc/dovecot.confを開き、設定を行います。

まずプロトコルを指定します。
プロトコルとはネットワークにおける通信手順のことで、コンピュータ同士の決めた約束ごとのようなものです。人間同士の会話と同じように、どの言語を使うか、電話か手紙か…というように違いがあります。

メール受信のためのプロトコルはimap、imaps、pop3、pop3s…などたくさんあります。
今回はpop3だけにということだったので、
protocols = pop3 とします。

つぎに、メールボックスの指定をします。
mbox形式、maildir形式もここで選択します。
mbox形式はユーザーごとに、maildir形式はメールごとにひとつのファイルをつくっています。
問題が起きたとき、maildir形式だとすべてのメールに被害がおきることはないので安全です。
今回はmbox形式ですけどね^^;

default_mail_env = mbox:/var/spool/mail/%u
%uはユーザー名という意味です。

設定が終わったら:wqでviを終了し、

/etc/rc.d/init.d/dovecot startでDovecotを起動します。

okとでたら起動完了なので、/etc/rc.d/init.d/dovecot statusで動いているか確認してみましょう!
dovecot (pid 18196) is running…のようなかんじででたら動いてますよ:)

そのあと、ポートがひらいているか確認します!
$ telnet [メールサーバー名] 110
Trying …とでたのでポートは開いていてPOPが通れるようになっています。

そのあと、メールのアプリケーションを開いて、アカウントを追加すると送られてきたメールが見れるようになりましたー*

ちなみに…
前回terminalでメールがみれたのはメールサーバーにメールを見に行ったからです。
前回は郵便局までメールを見に行ったけど今回は配達してもらってメールをみたよってことです。

まとめ

(sudo bashでroot権限を得る)

yum -y install dovecotでインストール

$ vi /etc/dovecot.conf

protocols = pop3

default_mail_env = mbox:/var/spool/mail/%u

:wqでviを終了

$ /etc/rc.d/init.d/dovecot startでDovecotを起動

$ /etc/rc.d/init.d/dovecot statusで動いているか確認

$ telnet [メールサーバー名] 110でポートが開いているか確認


postfixで外部からメールを受信できるようにする

23.03.10 / メールのこと / Author: / Comments: (5)

postfixはすでにインストールされていたようなので、今回はpostfixで外部からメールを受信できるように追加設定をしました!

自分のメールアドレス宛てに外部からやってきたメールに、自分のサーバーが自分の担当のメールであるといわせるようにします。

そうすることによってメールを受信するまでサーバーがメールを保管してくれたりします。

前回のマンガのSMTPの部分で、くまさんサーバーが「ぼく(の担当)だよ!」というようにするということです

←前々回のこの部分

postfixは、初期設定では、外部からのメールを受信することができないんですねー。

このままだと…

…となってしまうわけです。

ちなみに、

同じサーバー内ならメールが送受信できます。

それでは…

〈外部からのメールを受信できるように設定しよう〉

postfixの設定ファイルは/etc/postfix/というディレクトリの中にあるmain.cfというファイルです。

なので、main.cfを編集していきます。

$ vi /etc/postfix/main.cf

すると、編集画面になるので、

inet_interfacesをlocalhostからallに変更します。

inet_interfacesは /inet_interfacesとすると検索してもらえます。編集したいところでiを押すと書いたり消したりできます:)

つぎに、

mydistinationにメールアドレスの@のあとにあるドメインを追加します。

mydistinationは受信するメールアドレスのドメイン名を表示しています。

inet_interfaces もmydistinationも、編集するのは#のついていない方です!

編集し終えたら、:wqで保存して終了します。

最後に、$ service postfix restartでpostfixを再起動させて完成です!

このあと、popをつかってメールサーバーから受信をする必要があるそうですが、とりあえずメールが届いていることを確認する方法があります。

メールを送りたいメールアドレスに送ると、

You have new mail in /var/spool/mail/[ユーザー名]とでてきました!メール送れてるみたいですねー

$ cat /var/spool/mail/[ユーザー名]

メールが見れましたーーー*

まとめ*

$ vi /etc/postfix/main.cf
inet_interfacesをlocalhostからallに変更
mydistination={ドメイン名}
:wqで保存
$ service postfix restartでpostfixを再起動

それぞれのメールサーバー

23.03.10 / メールのこと / Author: / Comments: (2)

SMTPサーバーで有名なものに、sendmail、qmail、postfixがあります。

それぞれどのような違いがあるのか調べてみました!

・sendmail

sendmailの最大の特徴はできることの多さ!
ソフトとして歴史が長く、広く使われてきたため、考え得るほぼすべての機能が盛り込まれています。
ただし、そうした機能の豊富さにより設定ファイルの記述が難しく、一つのプログラムがすべての機能を実行する構成のためセキュリティの問題がよくでます。
また、mbox形式はユーザーごとにひとつのファイルをつくっているので、問題が生じるとすべてのメール・メッセージに影響する可能性がある…など、問題点が増えてきているため、sendmailを参考にした新しいメールサーバーが増えてきています。

・qmail

sendmailを参考に、sendmailの悪いところの改善をめざして設計されました。
特徴はセキュリティの強固さと設計の独自性です。
機能ごとに小さなプログラムにわけ、それぞれが独立、協調して動作することでセキュリティが強固となっています。
また、Maildir形式という、メール・メッセージごとに一つのファイルにして保存する独自のメッセージ保存形式のため、mboxのような問題は起こりません。
しかし、独自色が強いことと、ライセンスに厳しい制限があるためsendmailから移行しづらいという難点があります。

・postfix

3つのうちでいちばん新しいSMTPサーバーのため、sendmailとqmailのよいところをとりいれつつ、運営管理が楽で、処理速度を上げ、セキュリティが強化され、Maildir形式がとられています。
また、比較的ゆるやかなライセンスを採用しており、今注目されているSMTPサーバーです。

ようするに…