+− THE DAILY DIFFdev & AI news
NEEDS REVIEW

Facebook從互聯網上刪除了自己。長達六小時。

Facebook將自己的地址從互聯網上移除,當其工程師趕來恢復時,門禁讀取器也失靈了,因為它們也依賴Facebook運作。

Facebook將自己的地址從互聯網上移除,當其工程師趕來恢復時,門禁讀取器也失靈了,因為它們也依賴Facebook運作。2021年10月4日,UTC時間15:40:一個例行的骨幹網絡維護指令導致Facebook所有數據中心之間的連接中斷;旨在阻止此類操作的審核工具存在錯誤;Facebook的名稱伺服器由於無法連接數據中心,依設計撤回了自己的BGP路由——於是facebook.com、Instagram、WhatsApp和Messenger從DNS上消失了近六小時。內部工具、頻外訪問和辦公室門禁卡都運行在同一個網絡上,因此修復工作需要人手親自到機架現場操作。

閱讀書面版本(英文) ↗

本影片涵蓋的內容

  • Facebook移除了自己的地址
  • 參考資料:Meta工程團隊、Cloudflare、Hacker News
  • 這是The Daily Diff,事後分析
  • 時間線:15:39 指令 → 15:40 撤回 → 21:20 恢復
  • 機制:讓你消失的健康檢查、30倍DNS風暴、門禁問題

翻譯的文字記錄

從英文原文旁白翻譯。可用的音頻和字幕由 YouTube 控制。

Facebook移除了自己的地址

0:00 Facebook 將自己的地址從互聯網上移除,當其工程師 趕來恢復時,門禁讀取器也失靈了, 因為它們也依賴Facebook運作。 Meta 自己的事後分析,翌日:一個例行維護指令導致所有 骨幹鏈路中斷,而旨在阻止此類指令的工具存在錯誤。

參考資料:Meta工程團隊、Cloudflare、Hacker News

0:16 Cloudflare,從外部觀察:UTC時間15:40,通往Facebook名稱伺服器的路由 消失了,而 dig facebook.com 在全球各地都返回 SERVFAIL。 事件如何發生,為何安全功能反而讓情況惡化,以及誰應承擔責任。 這是The Daily Diff,事後分析。 UTC時間,下午早些時候。

這是The Daily Diff,事後分析

0:34 一個旨在檢查骨幹網絡空閒容量的指令,反而中斷了Facebook所有數據中心之間 的連接,而旨在捕捉此類問題的審核工具

時間線:15:39 指令 → 15:40 撤回 → 21:20 恢復

0:41 卻讓它通過了。 15:40。Cloudflare 的 BGP 饋送充滿了撤回資訊;Facebook 的 DNS 前綴離開了路由表。 一分鐘內,Cloudflare 的工程師們齊聚一室,想知道他們是否 弄壞了 1.1.1.1。15:45,Hacker News,兩千六百個 點贊。16:07,Facebook 的發言人,竟在 Twitter 上發言:有些人 無法訪問我們的應用程式。 “有些人” 指的是三十五億人。

1:06 18:51,紐約時報:員工被鎖在辦公樓外, 門禁卡失效。19:52,技術長致歉。 21:00,五小時後,路由恢復;21:20,facebook.com 可解析。為何骨幹網絡故障會從互聯網上刪除Facebook?

機制:讓你消失的健康檢查、30倍DNS風暴、門禁問題

1:20 其名稱伺服器有一條規則:無法連接數據中心, 即宣布自己不健康,停止宣傳自己的地址。 當單一站點出問題時,這很合理。 當整個骨幹網絡癱瘓時,每個名稱伺服器都會同時執行此操作。 伺服器仍在運作。 但沒人能找到它們。 一個安全功能將網絡故障變成了存在性故障。 然後互聯網雪上加霜:應用程式重試,用戶重新加載,

1:39 Cloudflare 的解析器看到比正常負載高出三十倍的流量, 卻是一個不存在的網站。 還有門禁問題。 工具、頻外訪問、門禁卡:都運行在同一個網絡上。 工程師開車到數據中心,無法進入,然後面對的是經過加固, 防止任何物理訪問的機架。 旨在減慢攻擊者,也減慢了所有者。 骨幹網絡恢復;他們刻意緩慢地增加流量。

1:59 每個數據中心都停掉了數十兆瓦的電力,一步到位地恢復會導致 第二次停電。

git blame — 分裂

2:05 git blame。Facebook,百分之五十五:指令已審核, 審核器有錯誤,一個指令到達了每個路由器。 DNS 設計,百分之二十五:一個沒有分寸感的健康檢查。 一個網絡,百分之十五:工具、頻外、門禁卡。 機架,百分之五,因為它們正常運作。 影響範圍:三十五億用戶,近六小時。 股票收盤下跌百分之五,Zuckerberg 賬面上損失六十億,

影響範圍

2:27 據稱當天 Telegram 增加了七千萬註冊用戶。 結論,事後分析:NEEDS REVIEW。 當晚聲明,一天內具名作者的事後分析報告, 審核工具錯誤以淺顯英語承認。

結論 + 星期一的教訓

2:38 修復清單:加強測試和演練。 沒有提到將門禁系統從生產網絡中分離出來。 星期一:將你的頻外訪問,和你的門禁,放到一個你 不運作的網絡上。 請在評論中,或發送至 the daily diff dot dev, 告知我你仍不被允許談論的事件。 這就是今天的 The Daily Diff。 我是來自 Axrisi 的 Niko。

2:58 SHIP IT 負責地合併。

來源

  1. Meta Engineering, "More details about the October 4 outage" (Santosh Janardhan, Oct 5, 2021)engineering.fb.com
  2. Meta Engineering, "Update about the October 4th outage" (Oct 4, 2021)engineering.fb.com
  3. Cloudflare, "Understanding how Facebook disappeared from the Internet" (Oct 4, 2021)blog.cloudflare.com
  4. Mark Zuckerberg, note to employees (Oct 5, 2021)www.facebook.com
  5. Andy Stone (Facebook), 16:07 UTCtwitter.com
  6. Sheera Frenkel (NYT), 18:51 UTC, the badgestwitter.com
  7. Mike Schroepfer (Facebook CTO), 19:52 UTCtwitter.com
  8. Hacker News (2,589 points)news.ycombinator.com
  9. The New York Times, "Gone in Minutes, Out for Hours"www.nytimes.com
  10. Forbes, "Zuckerberg Loses $5.9B in a Day" (estimate)www.forbes.com
  11. Reuters, Telegram's 70 million sign-ups (Durov's figure)www.reuters.com
  12. Krebs on Securitykrebsonsecurity.com

相關影片

postmortem · zh-HK · 2026年9月19日

Google Cloud 在空白欄位當機。三小時。

一個帶有幾個空白欄位的策略行觸發了空指標,Google Cloud 立即在所有區域當機 — 然後 Cloudflare 也隨之故障。2025 年 6 月 12 日,世界標準時間 17:49:Service Control,一個批准所有 Google Cloud API 請求的二進位檔案,讀取了一個帶有「非預期空白欄位」的配額策略變更,觸發了兩週前發布但沒有空值檢查和功能旗標的程式碼路徑,並在所有區

2:57 ↗
postmortem · zh-HK · 2026年9月22日

重啟令 Telstra 倒退回 2006 年。九百萬部電話。

墨爾本的一名工程師在凌晨 2 時 50 分重啟計時機箱,到早餐時,澳洲最大的流動網絡竟以為是 2006 年 11 月。2026 年 7 月 8 日:Telstra NTP 機箱中的 GPS 卡在更換電源期間重啟,其韌體從未有 GPS 週數滾動更新,因此它選擇了舊的紀元,倒退了 1,024 週。由於 2025 年 10 月的變通方法使該卡成為網絡唯一的 stratum-1 來源 — 以及 2020

3:15 ↗
postmortem · zh-HK · 2026年9月12日

一個正規表達式擊潰了Cloudflare。持續27分鐘。

2019年7月2日,世界標準時間13:42:一條針對Cloudflare網絡應用程式防火牆的新規則在約兩秒鐘內於180多個城市上線。這是一條模擬模式下的XSS規則,因此它不會阻擋任何東西,但它仍然會在每個請求上運行,並且以.*(?:.*=.*)結尾。PCRE回溯,每個服務HTTP的CPU核心達到100%,每個透過Cloudflare代理的網站都會在27分鐘內返回502;流量下降82%。終止開關位於

3:00 ↗