フレッツ日記
(Flets Diary)

2000年11月22日(水)
外からメールが届いた

ルートサーバからのfc-lab.comの参照

お名前.comでは、DNS情報の更新がルートサーバに反映されるまで 3日見て欲しいとあったけど、ルートサーバの更新を確認してみた。 ルートサーバの一つa.root-servers.netから引いてみよう.
% nslookup
> server a.root-servers.net
> www.fc-lab.com
Server:  a.root-servers.net
Address:  198.41.0.4

Name:    www.fc-lab.com
Served by:
- NS.FC-LAB.COM
          210.191.124.94
          FC-LAB.COM
>
おお、ルートサーバは 「fc-lab.comの情報はns.fc-lab.com(210.191.124.94)に聞け」 と言ってくれている。それじゃあ、家のサーバの設定が問題なければ OKだなと思って、一応確認してみることにした。
> server ns.fc-lab.com.
Default Server:  ns.fc-lab.com
Address:  210.191.124.94

> www.fc-lab.com
Server:  ns.fc-lab.com
Address:  210.191.124.94

*** ns.fc-lab.com can't find www.fc-lab.com.: No response from server
>

ええぇ?引けないじゃん。なんで? 昨日 named のテストをしたときにはうまくいったのに... named は死んでないし、もう一度確認してみようやってみた。

% nslookup
Default Server:  localhost
Address:  127.0.0.1

> www.fc-lab.com.
Server:  localhost
Address:  127.0.0.1

Name:    ns.fc-lab.com
Address:  210.191.124.94
Aliases:  www.fc-lab.com
するとちゃんと動いてる。なにがおかしいのかしばらくわからなかった。 "server hibiki.kitakyu-techno-ctr.co.jp"とサーバを指定して, 会社のサーバに問い合わせてもやはり、"No response from server." となる。

うまくいくときとそうでないときの違いをしばらく見てると、 違うのは接続しているサーバのアドレスだけだ。 うまくいかなかった時はns.fc-lab.com(210.191.124.94)に問い合わせ、 うまくいった時には/etc/resolv.confで設定している localhost(127.0.0.1)に問い合わせているのに気づいた。

"server ns.fc-lab.com"とやったら失敗するけど"server localhost"だと OKだ。再現性がある。210.191.124.94と127.0.0.1は同じマシンなのに...

わけがわからないので、とりあえずログを確認してみることにした。 /var/log以下のファイルを"grep named"で調べると "/var/log/daemon.log"に情報がありそうだ。その中を見てみると

Nov 21 12:47:12 panda named[154]: listening on [127.0.0.1].53 (lo)
Nov 21 12:47:12 panda named[154]: listening on [192.168.0.4].53 (eth0)
とあるのを見つけた。確かにnslookupでserver を127.0.0.1とか192.168.0.4では queryできるのに、210.191.124.94では失敗するのとつじつまがあう。 その時、以前ソケットのプログラムを書いたときに同じ様なことが 起こったのを思い出した. イーサーネットのアドレスを指定するとうまくつながるのに、localhost とやるとつながらなかったことがある。それはlocalhostのアドレス 127.0.0.1への接続のためのsocketを作ってからbind,listen をしてなかったからだった。

このログからして、named がppp0のインターフェースの 210.191.124.94 で listenしていないんだ。 ログのこの行は起動時にかかれたものみたいだから、 もう一度namedをリスタートしてみようと

# kill -HUP xxx(namedのプロセスID)
すると...ちゃんと動いた! 外からの参照ができた。やったぁ。

問題はnamedの起動とppp接続の順番にあった。 namedが起動したときに存在すべてのインターフェースでlistenするが、 pppdの起動には時間がかかり、named起動の時に間に合っておらず その時にppp0のインターフェースが存在していないないことが原因だった。

近いうちに対処しないとブート時にうまくいくように設定しないといけないな。 それから、手動でpppしたときには、必ずnamedにHUPを送ることも忘れないように しよう。

外部からのメール

これで名前が参照できるようになったと思うので、 メールが届くか試してみることにした。

すでにfc-lab.com宛てのメールを受け取るようにsendmailの設定は 済んでいるので,会社からfujiki@fc-lab.comあてにメールを送ってみた. メールはすぐに届いた。なんとも言えず嬉しかった. これでインターネットに参加したんだって感じがした。

次の日記(2000/11/23)へ


[トップ] [インターネットへの参加] [掲示板]

Copyright(C) 2001 Takeshi FUJIKI All rights reserved.