PR

 私からメーカーへの問い合わせを行うシーンから始めよう。

 再び行ったメーカーへの問い合わせでは,前回のメーカーからの情報に誤りがあったことを伝え,メーカーのサポート担当者ではなく,正確な情報を得るため,開発担当者にも確認してもらうよう依頼した。

 その一方で,独自にスクリプトを調べ,社内の検証環境を使い,スクリプト中の条件式や比較式の表記方法を試行錯誤で変更し,やっとの思いで正しい表記方法を見つけ出した。その結果,正常にマルチキャスト・アドレスからのDHCP Discoverメッセージのみを拒否するスクリプトを完成させることができた。その後,メーカーの開発担当者に作成したスクリプトを送り,作成したスクリプトに問題がないことも確認できた。

 メーカーからの連絡を受けとった後,私はそのスクリプトを急いでK氏に送った。

 「修正したスクリプトを送ります。スクリプトは検証環境で正常な動作を確認してあります。また,メーカーの開発担当者にも問題がないことを確認済みです」  「ありがとうございます。検証環境ならびにメーカーでの確認済みとのこと,了解しました。再度,お客様に事情を説明し,適用作業の調整をしてみます」

 そして,2日後,K氏から朗報が届いた。

 「昨夜,スクリプトを適用し,正常にマルチキャスト・アドレスからのDHCP Discoverメッセージのみを拒否することが確認できました。また,正常なMACアドレスからのDHCP DiscoverメッセージにはDHCP Offerメッセージを送信し,IPアドレスや各種情報が問題なく配布できています」

 私は安堵のため息を漏らした。私が対応してきた中で,解決に至るまでの期間が最も長い障害になってしまった。それは多くの反省点を浮き彫りにする一方,達成感のあるものだった。

 2008年07月下旬,K氏から新たな朗報が届いた。

 「お客様から連絡があり,ホスト名から加入者が特定でき,訪問して確認したところ,『PCを再起動する度にNICのMACアドレスが変わる。デバイスマネージャでMACアドレスを明示的に指定すると,NICが正常に認識されなくなる。ドライバを再インストールしようとしてもエラーになってしまい,再インストールが不可能。また,Windows Updateは実行されておらず,ウイルス対策ソフトも期限切れの為,ウイルス感染の可能性もありそうです。加入者の方にはNICを交換して頂くよう依頼しました』という状況だったそうです」

 そのメールには続きがあった。

 「お客様の環境において,パケット・ジェネレータによるテストも完了し,正常にマルチキャスト・アドレスからのDHCP Discoverメッセージのみを拒否し,現象の再発を防げることが確認できました」

 こうして,私とK氏によるNICとの1年間にわたる戦いに終止符が打たれた。

 余談ではあるが,対策のために作成したスクリプトの何が問題で正常なDHCP Discoverメッセージまで拒否してしまったのか?それは,MACアドレスのI/Gビットが0であるか1であるかを判別する第1オクテットの値を調べる際に,比較する値に「0x」を付加するか否かの違いだけであった。プログラミングをされたことがある方なら,その表記の違いで何が問題となるのか,すぐにお分かりいただけるであろう。そう,“0x”を付加した場合は16進数(つまり,数値)としての比較となり,“0x”を付加しない場合は文字列としての比較となるのである。このスクリプトの記述方法に関する内容が製品マニュアルに簡単なサンプルしか掲載されていなかったため,このような苦労をすることになってしまったのである。その後,スクリプト中の条件式や比較式に於いて,同じことを繰り返すことがなくなったのは言うまでもない。

 以上,5回の連載にわたり,現場エンジニアとバックヤード・エンジニアが行った1年にわたる対処を紹介させて頂いた。このような現象に遭遇することはめったにないのかもしれない。しかし,思いも寄らぬ出来事が起きてしまったのも,また事実である。

 今回の特集では,海外製品を扱うインテグレータと海外メーカーの日本におけるサポート窓口との関係が垣間見えるシーンもあり,日本のサポート担当者では確認しきれず,正確性に欠ける情報が伝わってしまう可能性があることもお分かりいただけたのではないだろうか。それは,まさにインテグレータの真価が問われるときなのかもしれない。

関口博幸
ネットワンシステムズ 商品開発グループ 応用技術本部 第4応用技術部 セキュリティ第2チーム
2005年,ネットワンシステムズ入社。主として,アンチウイルス,検疫ネットワークなどのクライアント・セキュリティ製品やサーバ・アプリケーション製品に関し,評価・検証・導入支援・障害対応支援を担当。第二種情報処理技術者,ソフトウェア開発技術者。