世界を動かす技術を、日本語で。

500マイル(約800キロメートル)以上の距離にメールを送信できません(2002年)

概要

  • 統計学部で発生した「500マイル以上離れた場所にメールが送れない」奇妙な障害
  • 原因究明の過程で、距離制限が本当に存在することを確認
  • sendmailの設定ファイルとバージョン不一致によるタイムアウト値の異常が判明
  • タイムアウトが極端に短く、物理的距離がメール送信成功に影響
  • システム管理者の知識と調査によるユニークなトラブル解決事例

500マイルメール問題の顛末

  • 数年前、 大学のメールシステム を管理していた際の実話
  • 統計学部長から「 500マイル以上離れた場所にメールが送れない」との相談
  • 問題は「 半径520マイル程度までは送信成功、それ以上は失敗」という内容
  • 統計学部らしく、 地理統計学者が半径マップを作成 し、現象を可視化
  • 発生時期は「 数日前にサーバをパッチ適用・再起動」以降
  • sendmailの設定ファイル(sendmail.cf)は 変更されていない ことを確認
  • テストメールで距離ごとに送信可否を検証
    • 400マイル:成功
    • 600マイル:失敗
    • 420マイル:成功
    • 580マイル:失敗
  • 送信先の メールサーバの場所で判定されている ことを確認

sendmailバージョン不一致の罠

  • sendmail.cfを調査し、 Sendmail 8用の設定ファイル が使われていることを確認
  • サーバのバナーで SunOS標準のSendmail 5 が稼働していることを発見
  • サーバの OSアップグレード時にsendmailがダウングレード され、設定ファイルだけがそのまま残った状況
  • Sendmail 5は、 Sendmail 8の新しいオプション名を無視 し、該当設定が全てデフォルト値(ゼロ)に
  • SMTPサーバへの接続タイムアウト値が0 に設定されていた

タイムアウトと物理距離の関係

  • タイムアウト0は「 3ミリ秒程度で接続失敗」となる挙動
  • 当時のキャンパスネットワークは 100%スイッチ構成 で、物理距離が遅延の主因
  • 近距離のホストはタイムアウト内で接続可能、遠距離だと 光速遅延でタイムアウト超過
  • $ units コマンドで「 3ミリ秒=約559マイル」を計算し、現象と一致

まとめ・教訓

  • 設定ファイルとソフトウェアバージョンの不一致 による予期せぬ障害
  • ネットワーク物理特性とアプリケーション設定の 思わぬ連携
  • 地理的距離で障害が発生する というユニークな事例
  • システム管理者の 観察力と論理的推論 の重要性

関連リンク


著者Trey HarrisはSAGE Level IVのシステム管理者 Perlやツール開発、トレーニング、アーキテクチャ経験10年以上 お仕事の依頼はtrey@sage.orgまで

Hackerたちの意見

人気の投稿: 2023年 (1164ポイント, 198コメント) https://news.ycombinator.com/item?id=37576633 2020年 (1034ポイント, 136コメント) https://news.ycombinator.com/item?id=23775404 2015年 (915ポイント, 140コメント) https://news.ycombinator.com/item?id=9338708

みんな、先にやっちゃったね - リスト作ってたのに!ちなみに、再投稿について気になる人へ: HNでは1年くらい経てば再投稿しても全然OKだよ(https://news.ycombinator.com/newsfaq.html)。たまにクラシックな投稿を再投稿するのもいいことだし、新しいユーザーがクラシックを学ぶのは大事だよね!「2025年にメールは500マイル送れるのか?」 - https://news.ycombinator.com/item?id=44466030 - 2025年7月 (122コメント) 「500マイル以上メールを送れない」(2002年) - https://news.ycombinator.com/item?id=37576633 - 2023年9月 (198コメント) 「500マイルメールのケース」(2002年) - https://news.ycombinator.com/item?id=29213064 - 2021年11月 (93コメント) 「500マイル以上メールを送れない」(2002年) - https://news.ycombinator.com/item?id=23775404 - 2020年7月 (135コメント) 「500マイル」(2002年) - https://news.ycombinator.com/item?id=18675375 - 2018年12月 (32コメント) 「500マイル以上メールを送れない」 - https://news.ycombinator.com/item?id=17602158 - 2018年7月 (1コメント) 「500マイルメールのケース」(2002年) - https://news.ycombinator.com/item?id=14676835 - 2017年7月 (56コメント) 「パレットを出荷室から持ち上げるたびに、サーバーがタイムアウトする」(2006年) - https://news.ycombinator.com/item?id=13347058 - 2017年1月 (82コメント) 「500マイルメールのケース」 - https://news.ycombinator.com/item?id=10305377 - 2015年9月 (1コメント) 「500マイルメール」(2002年) - https://news.ycombinator.com/item?id=9338708 - 2015年4月 (139コメント) 「500マイルメールのケース」 - https://news.ycombinator.com/item?id=2701063 - 2011年6月 (18コメント) 「500マイルメールのケース」 - https://news.ycombinator.com/item?id=1293652 - 2010年4月 (24コメント) 「500マイルメールのケース」 - https://news.ycombinator.com/item?id=385068 - 2008年12月 (28コメント) 「500マイルメールのケース」 - https://news.ycombinator.com/item?id=123489 - 2008年2月 (7コメント)

こういう投稿があるから、15年以上も毎日HNをチェックしてるんだよね。これを見逃してたなんて信じられない。今回は見つけられてよかった!この投稿は、謙虚さを保って、分析なしに結論を急がないように思い出させてくれる。

いつか、こういう時代を超えたクラシックがHNにAIについて登場するのを見たいな。そしたら、AIがやらかしたことや、何が間違ってたのか、そして我々のめちゃくちゃな「デバッグ」についてちょっと笑えるよね。

それは変更されていなかった -- 私が書いたsendmail.cfだった。そして、「FAIL_MAIL_OVER_500_MILES」オプションを有効にしていなかったことはかなり確信していた。これは金だね。

たまにこういうのが再浮上するのを見るのは全然飽きない。こういう投稿のために/greatestみたいなものが必要だよね(でも、時々再投稿できるようにしつつ)。

これや「Stalking the Wiley Hacker」[1]、他の話が、私をコンピュータの世界に引き込んだんだ。こんなにこの業界で働く経験が、かつての喜びを完全に消し去ってしまったのが本当に残念だ。 [1] https://archive.org/details/5626281-Clifford-Stoll-Communica...

500マイルメール問題が起きた頃(1990年代中頃)、オフィスのPCで理解しづらい問題があった。毎朝、出社してハードドライブをスライドさせて、コンピュータを起動してた。オフィスには128 KbpsのISDNインターネットがあって、家でも同じ速度だったけど、それじゃああまり仕事ができなかった。だから、夜に仕事するためにドライブを家に持って帰ってた、特に冬はオフィスが寒すぎたから。ある冬の朝、突然PCが起動しなくなった。会議に急いで行かなきゃいけなかった。戻ってきたら、PCを一度オフにして再起動したら、問題なく動いた。次の朝も同じことが起きた。3日目は会議がなかったから、オフにして再起動したけど、やっぱり起動しなかった。遅れて出社したから、そのままオフにして早めのランチに行った。戻ってきたら、まだ起動しなかった。でも会議があったから、そのままPCをつけっぱなしにして会議に行った。戻ったら、問題なく起動した。次の朝も同じことが起きた。原因が全くわからなかったから、中を見てみることにした。カバーを外したら、小さなネズミが出てきて、机から飛び降りて、私の膝の上を走り抜けて、床に飛び降りて見えなくなった。コンピュータの中からはネズミの尿の匂いが漂ってきた。どうやら、彼は毎晩暖を取るために開いているドライブベイから入ってきて、そこにいる間におしっこをしていたらしい。コンピュータがしばらく動いていると、熱と空気の流れで乾燥して、起動を妨げていた電気的なショートが解消されていた。私は店に行って、ドライブを取り出すときにドライブベイに入れる空のドライブスレッドを買ってきて、それ以来その問題は起きなくなった。液体が永久的なダメージを与えなかったのはラッキーだった。

どうやら「彼」も無傷で出てきたみたいだね :)

俺のマウスはそんなことしないよ。

ついに本物のコンピューターマウスだ!面白い話だね :)

すぐに「apt install units」をやったよ。めっちゃクール!

彼は会長の功績をちゃんと評価してないと思う。会長は問題解決のために情報を集めたし、その情報が実際に必要なものだったんだ。これがなかったら、著者は「ランダムに到達できないサーバー」をずっと探してたかもしれない。ほぼ生データで、まさに欲しいものだよね。「メールはそんな風に動かない」って人に教えると、次回は全くデータが得られないか、メールがそういう風に動かないと思って隠されちゃうか、素人が原因を推測しようとして誤った結論に至るかのどれかになるよ。

500マイルもメールを送ってみるのはどう? ただ、500マイル先のあなたの玄関までメールを送る男/女/ノンバイナリーになりたいだけ? EHL0で心をつかまれたよ。

これが出るたびに、すぐにこのクラシックを思い出すんだよね: https://www.cartalk.com/radio/puzzler/flavors

ここ数年ごとに浮上するこのクラシックを思い出す:バニラアイスクリームを買うと車が始動しない https://www.netscrap.com/netscrap_detail.cfm?scrap_id=501