Cloudflare 1.1.1.1 14 जुलाई 2025 आउटेज घटना
(blog.cloudflare.com)- Cloudflare ने 14 जुलाई 2025 को service topology बदलने के दौरान 1.1.1.1 public DNS Resolver में 62 मिनट की पूर्ण outage का सामना किया
- दुनिया भर के अधिकांश users सीधे प्रभावित हुए और इंटरनेट इस्तेमाल न कर पाने जैसी स्थिति का सामना करना पड़ा
- outage का कारण internal legacy system की गलत configuration था, और इसका बाहरी attack या BGP hijacking से कोई संबंध नहीं था
- outage की शुरुआत गलत configuration changes के accumulation और network-wide reset के एक साथ होने से हुई
- दोबारा ऐसी घटना रोकने के लिए gradual deployment system लागू करने और legacy configuration system को phase out करने की योजना तैयार की जा रही है
अवलोकन
14 जुलाई 2025 को Cloudflare ने service topology बदलते समय 1.1.1.1 public DNS Resolver में global network outage पैदा कर दिया। इस outage के कारण 1.1.1.1 और Gateway DNS services का उपयोग करने वाले users ने 62 मिनट तक इंटरनेट services अनुपलब्ध होने या गंभीर service degradation का अनुभव किया। यह internal legacy system की configuration error के कारण हुआ था, न कि किसी external attack या BGP hijacking की वजह से।
outage का दायरा और प्रभाव
- 21:52 UTC ~ 22:54 UTC के दौरान 1.1.1.1 Resolver दुनिया भर में लगभग पूरी तरह अनुपयोगी स्थिति में था
- अधिकांश global customers domain name resolution नहीं कर पाए, जिससे इंटरनेट का उपयोग करना ही असंभव हो गया
- outage की स्थिति Cloudflare Radar में देखी जा सकती है
- outage का कारण उस legacy system की गलत setting थी, जो Cloudflare के स्वामित्व वाले IP addresses को इंटरनेट पर advertise करने वाली infrastructure को manage करता है
- 1.1.1.1 channel के जरिए Cloudflare तक पहुंचने वाला पूरा traffic गंभीर रूप से प्रभावित हुआ
outage का कारण और पृष्ठभूमि
- Cloudflare DNS Resolver जैसी global services के लिए Anycast routing का उपयोग करता है
- services कई regions में उपलब्ध हैं, लेकिन कुछ data localization की मांग वाली services केवल खास regions तक सीमित रहती हैं
- 6 जून को भविष्य की DLS(data localization) service की तैयारी के लिए configuration change के दौरान, 1.1.1.1 Resolver IP range अनजाने में नए DLS में शामिल हो गया
- यह error तुरंत प्रभावी नहीं हुआ और वास्तविक असर न होने के कारण alert भी trigger नहीं हुआ
- 14 जुलाई को test purpose के लिए offline location को DLS topology में जोड़ने वाला change लागू किया गया
- इस change ने global network configuration को force refresh कर दिया, जिससे पुरानी error सामने आ गई
- 1.1.1.1 Prefixes दुनिया भर के data centers से withdraw हो गए और service रुक गई
outage timeline (सारांश)
- 2025-06-06 17:38: DLS service के configuration change में 1.1.1.1 Prefixes शामिल हुए (कोई प्रभाव नहीं, error latent रही)
- 2025-07-14 21:48: configuration change से network-wide configuration refresh हुआ, 1.1.1.1 Prefixes का global withdrawal शुरू
- 2025-07-14 21:52: global DNS traffic में तेज गिरावट
- 2025-07-14 22:01: internal alert, outage घोषित
- 2025-07-14 22:20: previous configuration पर rollback, service recovery procedure शुरू
- 2025-07-14 22:54: traffic सामान्य, alert clear, outage समाप्त
प्रभावित IP और protocols
- प्रभाव का दायरा: 1.1.1.0/24, 1.0.0.0/24, 2606:4700:4700::/48 सहित IPv4, IPv6 के व्यापक Prefixes
- UDP, TCP, DoT(DNS over TLS) query traffic में तेज गिरावट देखी गई
- DoH(DNS over HTTPS) पर लगभग असर नहीं पड़ा, क्योंकि उसका बड़ा हिस्सा cloudflare-dns.com domain पर आधारित है
तकनीकी outage विवरण
1.1.1.1 Resolver service outage
- 6 जून को DLS के लिए pre-configuration change के दौरान Prefixes error डाली गई
- 14 जुलाई को test purpose के लिए offline location जोड़ी गई, जिससे network-wide settings refresh हुईं
- इस प्रक्रिया में 1.1.1.1 Resolver Prefixes दुनिया भर में एक ही offline location तक सीमित हो गए और service withdraw हो गई
तकनीकी कारण विश्लेषण
-
Cloudflare इस समय legacy system और नई strategic system दोनों को साथ चलाता है और address space के हिसाब से routing advertisements को synchronize करता है
-
legacy system में manual updates और deployment की graduality की कमी होने से errors की संभावना अधिक रहती है
- peer review और दूसरे engineers की review मौजूद थी, लेकिन canary deployment जैसी gradual rollout guarantee करने वाली structure नहीं थी
-
नई पद्धति hardcoding के बजाय topology-centered है, और gradual change rollout तथा monitoring system को अपनाती है
-
22:01 पर DNS Resolver alert trigger हुआ
-
internal BGP routing table में Resolver routes पूरी तरह गायब पाए गए
-
Prefixes withdraw होने के बाद 1.1.1.0/24 subnet के लिए Tata Communications India(AS4755) ने BGP advertisement की कोशिश की
- यह अस्थायी Prefix Hijack जैसा दिखा, लेकिन घटना से सीधे तौर पर संबंधित नहीं था
recovery procedure और आगे की कार्रवाई
- 22:20 UTC पर previous configuration पर rollback और Prefixes की re-advertisement की गई
- लगभग 77% traffic तुरंत recover हो गया
- कुछ edge servers अपने-आप reset हो गए, इसलिए manual change management system के जरिए उन्हें फिर से apply करना पड़ा
- network safety के लिए आमतौर पर gradual rollout किया जाता है, लेकिन इस incident में verification के बाद तेज़ी से लागू किया गया
- 22:54 पर सभी locations सामान्य स्थिति में लौट आए
भविष्य के सुधार उपाय
- gradual deployment framework(Stage Deployment) लागू करना: legacy deployment method को हटाना, health-based automatic rollback structure लाना
- legacy system retirement को तेज़ करना: जोखिमभरी manual configuration और deployment methods हटाना, documentation और test coverage मजबूत करना
निष्कर्ष
Cloudflare 1.1.1.1 DNS Resolver outage internal configuration error के कारण हुआ था, और Cloudflare आगे stability improvement और recurrence prevention measures लागू करने पर पूरा जोर दे रहा है। कंपनी ने customers को हुई असुविधा के लिए माफ़ी मांगी है और भविष्य में ऐसी घटनाओं को न्यूनतम करने के लिए कदम लगातार मजबूत करने की बात कही है।
1 टिप्पणियां
Hacker News राय
बहुत से उपयोगकर्ताओं के लिए जब 1.1.1.1 resolver (DNS) काम नहीं करता, तो इसका मतलब होता है कि वे लगभग किसी भी इंटरनेट सेवा तक पहुँच नहीं बना पाते। लेकिन आम तौर पर क्या सभी डिवाइसों में दो DNS सर्वर सेट नहीं होते? क्या दूसरा भी डाउन था, या फिर वह उस पर स्विच क्यों नहीं हुआ, यह जानने की जिज्ञासा है
one.one.one.one) ही क्यों माँगता है, यह समझ नहीं आता। DNS सर्वर निर्दिष्ट करते समय IP से सेट करना कहीं ज़्यादा तर्कसंगत लगता है.दशकों से ठीक चल रहा है, और 1.1.1.1 में समस्या आने की मुख्य वजह DNS खुद नहीं बल्कि anycast है। Cloudflare (और Google आदि) "vanity" IP addresses पर ज़ोर देते हैं—ऐसे IP इस्तेमाल करने के लिए anycast चाहिए, इसलिए असली समस्या DNS नहीं बल्कि anycast है। एक से अधिक providers चुनकर configure करने की सिफारिश हैलगभग 20 मिनट के outage में 1.1.1.1 का traffic लगभग 20% गिरना दिलचस्प है। हैरानी होती है कि Cloudflare ऐसी साधारण और पुरानी समस्या से बार-बार टकराता रहता है (यह न पहली बार है, न शायद आख़िरी)। Google के 8.8.8.8 और 8.8.4.4 को दुनिया भर में लगभग 10 साल तक (1) एक सेकंड भी downtime नहीं हुआ। (1: कुछ क्षेत्रीय समस्याएँ थीं, लेकिन वह इंटरनेट की वजह से थीं, और Google की दूसरी सेवाओं में गंभीर outage होने पर भी DNS खुद सामान्य रूप से चलता रहा)
यह चौंकाने वाला है कि impact detect करने में 5 मिनट से ज़्यादा लग गए (जबकि main protocol traffic 10% तक गिरकर वहीं बना रहा)। मैंने इतने बड़े सिस्टम नहीं चलाए, लेकिन इस स्तर पर तो तुरंत alert की उम्मीद होती। जानना चाहता हूँ कि विशेषज्ञों को भी यह उचित लगता है या नहीं
यह एक अच्छा summary post है। यह हिस्सा दिलचस्प है कि DoH (DNS over HTTPS) तक अधिकतर पहुँच cloudflare-dns.com domain के ज़रिए होती है (manual setup या browser में), और IP address न होने की वजह से इस outage का असर तुलनात्मक रूप से कम पड़ा। मैं कल प्रभावित हुआ था; router पर DoH enabled होने के बावजूद कुछ resolve नहीं हो रहा था, और 8.8.8.8 पर बदलते ही समस्या हल हो गई
dnsmasq का उपयोग करें तो कई DNS सर्वरों को एक साथ configure करके सबसे तेज़ response देने वाले सर्वर का उपयोग करना संभव है। एक service डाउन हो जाए तब भी लगभग कोई दिक्कत महसूस नहीं होती
strict-ordersetting के बिनाall-serversइस्तेमाल करने पर dnsmasq अपने आप सभी servers को retry requests भेजता है। लेकिन अगर systemd-resolved इस्तेमाल कर रहे हों, तो वह केवल क्रम से retry करता है, इसलिए अलग-अलग providers के servers को बारी-बारी से रखना महत्वपूर्ण है। उदाहरण की तरह IPv4 और IPv6 को साथ मिलाने से failover और तेज़ हो सकता है। Quad9 का संबंधित IP default filtering enabled के साथ आता है, जबकि बाकी दो में ऐसा नहीं है, इसलिए उनके resolution results अलग हो सकते हैं। व्यक्तिगत रूप से अगर DNSSEC validation को महत्व देते हैं, तो validating और non-validating resolvers को मिलाना नहीं चाहिए (उदाहरण में दिए गए DNS सभी DNSSEC support करते हैं)all-serverssetting के बिना भी dnsmasq समय-समय पर हर server पर query race कराता है (default रूप से हर 20 सेकंड में retry)। अचानक outage में भी असर कुछ सेकंड से ज़्यादा नहीं रहना चाहिएअगर outage लगभग 1 घंटे का भी हो, तो यह महीने के हिसाब से 0.13% और साल के हिसाब से 0.0114% होता है। जिज्ञासा है कि Cloudflare इस service पर कौन सा SLO (service level objective) लागू करता है। लिंक मिला, लेकिन वह केवल paid services के लिए है। इस outage के कारण जुलाई availability "< 99.9% but >= 99.0%" श्रेणी में जाएगी, और इस स्थिति में उपयोग शुल्क का 10% refund मिलेगा
यह दिलचस्प है कि incident के बाद भी traffic पूरी तरह सामान्य पर नहीं लौटा। हाल में OpenWrt के
luci-app-https-dns-proxyका उपयोग करके Cloudflare और Google DNS पर एक साथ query भेजता हूँ, और DoH लगभग प्रभावित नहीं हुआ था, इसलिए outage का एहसास नहीं हुआ (अगर DoH भी टूटता तो शायद Google पर auto-switch हो जाता)यह चौंकाने वाला है कि 1.1.1.1 और 1.0.0.1 दोनों एक ही change से प्रभावित हुए। अब DNS backup के लिए पूरी तरह अलग provider इस्तेमाल करना चाहिए लगता है (जैसे 8.8.8.8, 9.9.9.9)
Cloudflare की internal topology इस तरह विकसित हो रही है कि "legacy" और "strategic" systems sync में रहें। यह लेख तकनीकी और गैर-तकनीकी, दोनों तरह के पाठकों के लिए स्थिति को स्पष्ट रूप से समझाता है। migration process को भी काफ़ी रोचक बना दिया गया है। incident से हुई असुविधा के लिए माफ़ी और आगे सुधार व पुनरावृत्ति रोकने की प्रतिबद्धता प्रभावशाली लगी। ऐसी corporate attitude की काफ़ी सराहना है
यह आश्चर्यजनक है कि कई engineers ने rebranding की समीक्षा की, फिर भी 1.1.1.0/24 को rerouting list में जोड़ने वाली गलती किसी की नज़र में नहीं आई। सोचता हूँ किस तरह की human error, या दुर्भावना, से यह हुआ होगा। DLS (Domain List Service) में 1.1.1.1/32 और 1.0.0.1/32 को single location के रूप में assign करने से रोकने के लिए hardcoded exception की ज़रूरत लगती है