新・闘わないプログラマ No.118

バカの一つ憶え


「ping」というコマンドがあります。UNIXにもありますし、WindowsでもTCP/IPをインストールしているならば(インターネットに接続しているなら当然TCP/IPはインストールしているはず)、このコマンドが使えます。
このコマンドを使うと、IPネットワーク(いわゆる「インターネット」もそうですね)において、相手先のコンピュータ(というか「ホスト」と言うべきか)をIPアドレスやホスト名で指定して、そのホストに対してICMP ECHOリクエストというのを送ることが出来ます。「ICMP ECHO」というのを受け取った側は、それに対して無条件に応答を返します。
まあ、といった難しい話(でもないか)はどうでもいいのですけど、このpingコマンドを使うと、自分から相手までのネットワークが正常に動作しているのか、相手にちゃんと情報が届いて、またちゃんと返ってくるのか、そういうことを調べることができるわけです。
そんなわけでこのpingコマンドは、ネットワーク管理を行う上で一番基本的なコマンドでもあるわけで、非常に適用範囲が広いというか、有用なコマンドでもあるわけです。「おーい、あのサーバ死んでいるみたいだけど、ちょっと調べてくれない」というような場合とか、「あそこのネットワーク、構成を変えたんだけどうまく繋がるかどうか検証したいんだけど」というような場合とか、とりあえずpingで調べてみる、というのをよくやります。

ところがですね、このping、だれでも簡単に使えるせいもあって、このコマンドでいったい何を調べることが出来るのか、といったことを理解しないで「馬鹿の一つ憶え」で使っている人も多い のですね。それも素人ならともかく、我々と同じような仕事をやっている人間にもいたりして…。
「pingが通らないんだけど、ネットワークがなんか変なんじゃない?」
「『変』って、どういうふうに変なの?」
「サーバに繋がらないんだよ。だからpingを打ってみたんだけどダメだった」
「だから『ダメ』って、どうダメなの?」
「だからあ、pingが通らないの!」
「だからさあ、pingでどういうメッセージが出ているんだよ」
「忘れたよ、んなもん。とにかくダメなもんはダメなの。要するにネットワークが変なんだから、早く保守業者を入れて、直してくれよ」
「もうちょっと状況を把握しなくちゃ、『保守業者』ったって、障害を特定しないと、どの業者を呼べばいいかわからないんだけど」
「じゃあ全部呼んでくれよ、全部」
「カネかかるよ。今は時間外だから高いと思うし」
なんてやりとりがあって、結局は、経路情報のちょっとした設定ミスだったり、DNSのサーバが不安定でホスト名からIPアドレスが引けないことがあったりするだけだったり、ケーブルが抜けかかっていただけだったり、結構つまらないことが原因だったりするわけです。
pingというコマンドは便利で、ネットワークの障害を調べたり、ネットワークの機器や構成を変更した場合に到達確認に使ったり、いろいろと使えるわけですし、そのメッセージを見るとある程度の原因も判ったりするのですけど(←でも、「うまく行かない」とか「応答が無い」としか言わずに、メッセージを見てくれる人は何故か少ないのですが)、万能ツールじゃないわけで、もっと他の調べ方もしてほしいな、と思ったりするわけです。
途中で経路情報が変になっている場合だったら、pingのメッセージである程度のことがわかりますし、あとtraceroute(Windowsだとtracert)で、ネットワークのどこが悪いのかある程度調べられます。それからよくあるのが、単にホスト名からIPアドレスに変換できない場合で、これなんかは、nslookupかなんか使えばいいわけです。

とまあ、ネットワークの障害に関連する馬鹿の一つ覚えということで、うだうだと書いてきたわけですけど、TCP/IPのネットワークだと、pingがその馬鹿の一つ憶えでよく使われているのではないか、などと思うわけです。
何度も書きますが、一応プロなんだからさあ、もうちょっと頭を使って欲しいよなあ、などと思ったりもするわけで…でもよくよく考えてみると実際はどんな分野でもよくありがちな話だったりするわけですけど。
「以前に、○○のトラブルが起きたときには、××が原因だった」とか言って、トラブルの現象が全然違うのに、そっちばかり調べるように指示するヤツとか、よくいたりしますけど、そういう私も…
某「あのー、あのデータベース、立ち上げの途中でハングしちゃって上がらないんです」
私「あー、あれね。前にもよくあったけど、ロックファイルが残っちゃってそうなるんだよねー。○○ってディレクトリの下のファイル全部消してから、もう一度上げてくれる」
でもって、10分後。
某「あのー、やっぱり上がらないんですけど」
私「どれー、ちょっと調べてみるよ……あ゛、ごめーん間違った、全部消したら駄目だ。そのディレクトリの××ってファイルは消しちゃ駄目だった。あのさ、消したファイルのバックアップ、消す前にどっかに取っていない?」
某「えー、消していいって言うから、きれいさっぱり消しちゃいましたよー」
私「やべー、極めてやべー。そのファイル消えたら、いろいろとリカバリしないといけないし、復旧に一日はかかるぞ……さて、ユーザにはどういう風に言ってごまかすべー」

[前へ] [次へ]

[Home] [戻る]


mailto:lepton@amy.hi-ho.ne.jp