- Auf dem Mailserver eines Universitätsinstituts konnten ab einem bestimmten Zeitpunkt keine E-Mails mehr an Ziele gesendet werden, die weiter als etwa 500–520 Meilen entfernt waren, und das Problem ließ sich anhand eines geografischen Radius reproduzieren
- Der Institutsleiter sammelte über mehrere Tage Daten und ließ sie von einem Geostatistiker analysieren, der den erreichbaren Radius sowie Ausnahmen innerhalb dieses Radius auf einer Karte eintrug
- Tests des Administrators zeigten, dass aus dem Research Triangle in North Carolina Richmond, Atlanta, Washington, Princeton und New York erreichbar waren, Memphis, Boston, Detroit und Providence jedoch nicht — damit wurde klar, dass nicht der Standort des Empfängers, sondern der Standort des Mailservers ausschlaggebend war
- Ursache war, dass bei einem Server-Patch SunOS aktualisiert wurde und es dabei faktisch zu einem Downgrade von Sendmail 8 auf Sendmail 5 kam; die langen Konfigurationsnamen aus der bestehenden
sendmail.cffür Sendmail 8 wurden von Sendmail 5 ignoriert - Dadurch wurde der Verbindungs-Timeout auf 0 gesetzt; auf der betreffenden Maschine wurde die Verbindung nach etwa 3 Millisekunden abgebrochen, was laut
unitszu einem beobachteten Wert von ungefähr 559 Meilen passte
Meldung: „E-Mails gehen nicht weiter als 500 Meilen“
- Beim Betrieb des Campus-E-Mail-Systems meldete sich der Leiter des Statistik-Instituts mit dem Hinweis, es gebe „ein Problem beim Versenden von E-Mails außerhalb des Instituts“
- Der Kern des Problems war, dass sich von dort aus keine E-Mails an Orte senden ließen, die weiter als 500 Meilen entfernt waren; der Institutsleiter ergänzte, die tatsächliche Grenze liege „etwas weiter, bei etwa 520 Meilen“
- Der Administrator antwortete, dass E-Mail normalerweise nicht auf diese Weise funktioniere, aber der Institutsleiter hatte sich erst gemeldet, nachdem er über mehrere Tage ausreichend Daten gesammelt hatte
- Das Statistik-Institut ließ die Sache von einem Geostatistiker prüfen, der eine Karte erstellte, auf der der Bereich markiert war, in den E-Mails gesendet werden konnten — ein Radius etwas größer als 500 Meilen
- Selbst innerhalb dieses Radius gab es Ziele, die nicht oder nur sporadisch erreichbar waren
- Außerhalb des Radius wurden E-Mails niemals zugestellt
- Zur gleichen Zeit hatte ein Consultant den Server gepatcht und neu gestartet, erklärte jedoch, das Mailsystem nicht angerührt zu haben
Reproduktionstest und geografische Grenze
- Der Administrator meldete sich auf dem Institutsserver an und verschickte Testmails; das Problem ließ sich tatsächlich reproduzieren
- Der Standort war damals das Research Triangle in North Carolina, und nahe Ziele funktionierten wie erwartet
- Eine Testmail an das eigene Konto wurde korrekt zugestellt
- Auch E-Mails nach Richmond, Atlanta und Washington waren erfolgreich
- Der Test nach Princeton in rund 400 Meilen Entfernung bestand ebenfalls
- Bei weiter entfernten Zielen traten durchgehend Fehlschläge auf
- Memphis, etwa 600 Meilen, fehlgeschlagen
- Boston fehlgeschlagen
- Detroit fehlgeschlagen
- New York, etwa 420 Meilen, erfolgreich
- Providence, etwa 580 Meilen, fehlgeschlagen
- Eine E-Mail an das Konto eines Freundes in North Carolina schlug fehl, weil dessen ISP in Seattle saß
- Damit war klar, dass das Problem nicht mit dem tatsächlichen Aufenthaltsort der Person zusammenhing, sondern mit der geografischen Position des Mailservers
Eine Sendmail-Konfiguration, die normal aussah
- Die Datei
sendmail.cfsah größtenteils unauffällig aus und entsprach der Datei, die der Administrator früher selbst erstellt hatte - Der Administrator war sicher, nie eine Option wie
FAIL_MAIL_OVER_500_MILESaktiviert zu haben - Bei einer Verbindung zum SMTP-Port per
telnetgab der Server einen SunOS-Sendmail-Banner zurück - Sun lieferte damals Sendmail 5 mit dem Betriebssystem aus, obwohl Sendmail 8 bereits ausgereift war
- Der Administrator hatte seine Systeme auf Sendmail 8 standardisiert und dafür eine
sendmail.cfgeschrieben, die die langen, selbsterklärenden Options- und Variablennamen von Sendmail 8 verwendete- Sendmail 5 nutzte stattdessen ältere, kryptische, stark satzzeichenbasierte Konfigurationscodes
Ein Upgrade, das ein Downgrade verursachte
- Beim „Patchen“ des Servers erhöhte der Consultant die SunOS-Version, wodurch Sendmail auf Sendmail 5 zurückfiel
- Das Betriebssystem-Upgrade ließ die bestehende
sendmail.cfunangetastet, aber sie passte nun nicht mehr zur tatsächlich laufenden Sendmail-Version - Die von Sun ausgelieferte Sendmail-5-Version konnte viele Regeln aus einer
sendmail.cffür Sendmail 8 weiterhin verarbeiten- Die meisten Regeln hatten sich damals noch nicht stark verändert
- Das Problem betraf die langen Konfigurationsoptionen von Sendmail 8, die Sendmail 5 als Müll behandelte und übersprang
- In das Sendmail-Binary waren für diese Optionen meist keine Standardwerte einkompiliert; da auch in der Konfigurationsdatei keine gültigen Werte gefunden wurden, landeten sie effektiv bei 0
3 Millisekunden Timeout und 558 Meilen
- Einer der auf 0 gesetzten Werte war der Verbindungs-Timeout beim Aufbau einer Verbindung zu einem entfernten SMTP-Server
- Experimente zeigten, dass auf der betreffenden Maschine und unter normaler Last ein Timeout von 0 einen
connect-Aufruf nach etwas mehr als 3 Millisekunden abbrach - Das Campus-Netz war damals vollständig geswitcht
- Ausgehende Pakete erfuhren keine Router-Verzögerung, bis sie den POP erreichten und dem Router auf der anderen Seite begegneten
- Bei Verbindungen zu wenig ausgelasteten entfernten Hosts in nahen Netzen wurde die Verbindungszeit stärker von der durch die Lichtgeschwindigkeit bedingten Entfernung beeinflusst als von zusätzlichen Router-Verzögerungen
- Als der Administrator in
units3 millilightsecondsinmilesumrechnete, erhielt er 558.84719 Meilen - Damit passte die Beobachtung des Institutsleiters — „500 Meilen, oder etwas mehr“ — erstaunlich gut zum berechneten Ergebnis
1 Kommentare
Hacker-News-Kommentare
Als ich 1998 bei einer kleinen australischen Firma im IT-Support arbeitete, rief ein Mitarbeiter aus einer Außenstelle an und sagte, „der Bildschirmschoner sei vom Monitor gefallen, habe eine Taste auf der Tastatur gedrückt und das Terminal gesperrt“
Zuerst dachte ich, das könne nicht stimmen, aber wie sich herausstellte, meinte er mit „Bildschirmschoner“ einen damals üblichen physischen Blendschutzfilter für CRTs; der war heruntergefallen und hatte Scroll Lock gedrückt gehalten
https://dylbs6e8mhm2w.cloudfront.net/productimages/500x500/E...
Ich mag solche Geschichten. Es gibt diesen Moment, in dem man erkennt, dass ein Phänomen, von dem man sicher war, es könne unmöglich auftreten, tatsächlich durch physikalische Gesetze wie die Lichtgeschwindigkeit verursacht wird
In einem meiner ersten Jobs hatte ich ein Problem mit einem CRT-Monitor, der leicht flimmerte; selbst nachdem Monitor, Kabel, Stromkabel und Computer ausgetauscht waren, blieb es bestehen
Am Ende stellten wir Computer und Monitor auf einen Rollwagen und schoben sie auf den Flur, und das Problem verschwand. Die Ursache war eine mangelhafte elektrische Abschirmung in diesem Büro
Später stellte sich heraus, dass ein größerer Fernseher angeschafft und zu nah aufgestellt worden war, wodurch sich statische Elektrizität aufbaute und diesen Effekt verursachte. Bis er in der Werkstatt ankam, war er offenbar ausreichend entladen und lief eine Weile normal
Wir hatten ihm einen Computer verkauft, aber er bekam bei der Nutzung Bluescreens; wenn wir ihn zum Testen mitnahmen, gab es keinerlei Probleme, und auch als wir ihn im Büro 30 Minuten lang gemeinsam benutzten, war alles in Ordnung
Doch in dem Moment, in dem diese Person die Maus berührte, zeigte der Computer einen Bluescreen an; ein Austausch der Maus ließ das Problem verschwinden
Wenn jemand einen Stabilisator einschaltete, verzerrten und flimmerten die CRT-Monitore in der Nähe kurz, und die Farben wurden schlechter. Die Plätze an der Wand waren weniger betroffen, aber die Kopfschmerzen waren schlimm; ich hielt es in dieser Firma nur sechs Monate aus
Das Beste an dieser Geschichte ist, dass der Berater, der den Server gepatcht hat, auf Hacker News ist
Er hat seinen Teil hier in einem Kommentar beschrieben: https://news.ycombinator.com/item?id=23775404
Für alle, die es interessieren könnte, habe ich es auch in
/highlightsaufgenommen: https://news.ycombinator.com/highlightsVermutlich ist das die Stelle, an der „die Geschichte leicht verändert wurde, um die Schuldigen zu schützen“
Alle paar Jahre taucht diese Geschichte wieder auf, und jedes Mal bringt sie mich zum Lächeln
Die 3 Millilichtsekunden am Ende können nicht stimmen, weil das die einfache Strecke ist
Als ich 2007 bei einem großen ISP als Second-Level-Support-Techniker für mehrere Dienste arbeitete, war ADSL noch weit verbreitet und hatte als kupferbasierte Technik eine maximale Entfernung, über die es zuverlässig funktionieren konnte
Einige Kunden nutzten einen speziellen Tarif, der diese Entfernung um etwa 2–3 km erweitern sollte, aber in der Praxis war das ziemlich instabil und reichte gerade so für ein bisschen Web-Browsing
In einem Sommer meldete ein Kunde, dass sein IPTV tagsüber seit fast einem Monat ausfiel und das Internet zeitweise gletscherlangsam war. Messungen zeigten, dass er sehr weit von der nächsten Vermittlungsstelle entfernt war, und wir kamen zu dem Schluss, dass sich die Leitung an heißen Tagen ausdehnte, dadurch die Entfernungsgrenze knapp überschritt und instabil wurde
Helfen konnten wir kaum, und das Kupfernetz vermisse ich nicht
Vor etwa 15 bis 20 Jahren, als ich in einer Reparaturwerkstatt arbeitete, brachte jemand einen Fernseher vorbei, der angeblich jeden Tag um 17 Uhr auf Spanisch umschaltete
Er sah terrestrisches Fernsehen, und in den TV-Einstellungen gab es nur die Menüsprache, aber tatsächlich wechselte der Ton des Fernsehers um 17 Uhr auf Spanisch. Als wir ein paar weitere Sender prüften, waren bis auf ein oder zwei alle auf Spanisch
Es stellte sich heraus, dass einige Sender Audio in mehreren Sprachen ausstrahlen und manche Fernseher eine bevorzugte Sprache einstellen können. Leider stammte der gebrauchte Fernseher, den er gekauft hatte, aus einem spanischsprachigen Land, und es gab keine Möglichkeit, diese Voreinstellung zu ändern
Vor ein paar Tagen habe ich einen in China hergestellten und gekauften Saugroboter ins Haus geholt; direkt beim ersten Einschalten fuhr er gegen den Server und zog den Stecker
Daher kann ich auch einen staatlich unterstützten Cyberangriff nicht ausschließen
Ein Paradebeispiel, quasi die Mutter aller leaky abstractions
In dem Moment, in dem man eine E-Mail senden wollte, trat das tatsächliche unterliegende Übertragungsprotokoll des relativistischen Universums zutage
Ausgerechnet heute Mittag habe ich über Sendmail gesprochen, und ich kann versichern, dass das ziemlich selten vorkommt
Ich erinnerte mich daran, wie ich 1991 oder 1992 zum ersten Mal Sendmail einrichtete und mir mit dem bat book eine Woche lang fast die Haare raufte, bis die erste Konfiguration endlich lief
Später verstand ich die m4-Konfiguration und lernte sie bis zu einem gewissen Grad zu schätzen, aber nachdem ich Mitte der 90er zu qmail und postfix gewechselt war, blickte ich nie wieder zurück
Solche Beiträge sollten wohl nicht als 2002, sondern als 1997 gekennzeichnet werden. Allerdings scheint Trey selbst sich auch nicht daran zu erinnern: https://www.ibiblio.org/harris/500milemail-faq.html
Verwandte Beiträge. Gibt es noch mehr?
The case of the 500-mile email (2002) - https://news.ycombinator.com/item?id=29213064 - Nov 2021 (93 Kommentare)
We can't send email more than 500 miles (2002) - https://news.ycombinator.com/item?id=23775404 - Juli 2020 (135 Kommentare)
500 miles (2002) - https://news.ycombinator.com/item?id=18675375 - Dez 2018 (32 Kommentare)
The case of the 500-mile email (2002) - https://news.ycombinator.com/item?id=14676835 - Juli 2017 (56 Kommentare)
The 500-mile email (2002) - https://news.ycombinator.com/item?id=9338708 - April 2015 (139 Kommentare)
The case of the 500-mile email - https://news.ycombinator.com/item?id=2701063 - Juni 2011 (18 Kommentare)
The case of the 500-mile email - https://news.ycombinator.com/item?id=1293652 - April 2010 (24 Kommentare)
The case of the 500-mile email - https://news.ycombinator.com/item?id=385068 - Dez 2008 (28 Kommentare)
The case of the 500-mile email - https://news.ycombinator.com/item?id=123489 - Feb 2008 (7 Kommentare)