Sự cố ngừng hoạt động Cloudflare 1.1.1.1 ngày 14 tháng 7 năm 2025
(blog.cloudflare.com)- Cloudflare đã gây ra sự cố ngừng hoạt động hoàn toàn kéo dài 62 phút đối với DNS Resolver công cộng 1.1.1.1 trong khi thay đổi topology dịch vụ vào ngày 14 tháng 7 năm 2025
- Phần lớn người dùng toàn cầu bị ảnh hưởng trực tiếp và gặp tình trạng không thể sử dụng Internet
- Nguyên nhân sự cố là cấu hình sai trong hệ thống legacy nội bộ, không liên quan đến tấn công bên ngoài hay BGP hijacking
- Sự cố được kích hoạt khi các thay đổi cấu hình sai bị tích lũy kết hợp với việc làm mới cấu hình trên toàn mạng
- Biện pháp ngăn tái diễn gồm triển khai hệ thống phát hành dần dần và chuẩn bị loại bỏ hệ thống cấu hình legacy
Tổng quan
Ngày 14 tháng 7 năm 2025, Cloudflare đã gây ra sự cố mạng toàn cầu đối với DNS Resolver công cộng 1.1.1.1 trong quá trình thay đổi topology dịch vụ. Vì sự cố này, người dùng sử dụng dịch vụ 1.1.1.1 và Gateway DNS đã gặp tình trạng không thể truy cập Internet hoặc suy giảm dịch vụ nghiêm trọng trong 62 phút. Nguyên nhân xuất phát từ lỗi cấu hình trong hệ thống legacy nội bộ, không phải do tấn công bên ngoài hay BGP hijacking.
Phạm vi và tác động của sự cố
- Trong khoảng 21:52 UTC ~ 22:54 UTC, Resolver 1.1.1.1 gần như không hoạt động trên phạm vi toàn cầu
- Phần lớn khách hàng toàn cầu không thể phân giải tên miền nên gần như không thể sử dụng Internet
- Có thể xác nhận tình trạng sự cố trên Cloudflare Radar
- Nguyên nhân sự cố là cấu hình sai trong hệ thống legacy quản lý hạ tầng quảng bá các địa chỉ IP do Cloudflare sở hữu lên Internet
- Toàn bộ lưu lượng đi tới Cloudflare thông qua kênh 1.1.1.1 bị ảnh hưởng nghiêm trọng
Nguyên nhân và bối cảnh xảy ra sự cố
- Cloudflare sử dụng Anycast routing cho các dịch vụ toàn cầu như DNS Resolver
- Dù cung cấp dịch vụ ở nhiều khu vực, một số dịch vụ yêu cầu data localization chỉ được giới hạn trong khu vực nhất định
- Ngày 6 tháng 6, trong lúc thay đổi cấu hình để chuẩn bị cho dịch vụ DLS (data localization) sau này, dải IP của Resolver 1.1.1.1 đã vô tình được đưa vào DLS mới
- Lỗi này không được áp dụng ngay lập tức và trên thực tế chưa gây ảnh hưởng nên không phát sinh cảnh báo
- Ngày 14 tháng 7, một thay đổi nhằm thêm vị trí offline phục vụ mục đích thử nghiệm vào topology DLS đã được áp dụng
- Thay đổi này buộc làm mới cấu hình mạng trên toàn cầu, khiến lỗi cũ lộ ra
- Các prefix của 1.1.1.1 bị rút khỏi các data center trên toàn thế giới, làm dịch vụ bị gián đoạn
Dòng thời gian sự cố (tóm tắt)
- 2025-06-06 17:38: Thay đổi cấu hình cho dịch vụ DLS có bao gồm các prefix của 1.1.1.1 (chưa có ảnh hưởng, lỗi tiềm ẩn)
- 2025-07-14 21:48: Thay đổi cấu hình làm mới cấu hình toàn mạng, các prefix của 1.1.1.1 bắt đầu bị rút trên phạm vi toàn cầu
- 2025-07-14 21:52: Lưu lượng DNS toàn cầu giảm mạnh
- 2025-07-14 22:01: Cảnh báo nội bộ, tuyên bố sự cố
- 2025-07-14 22:20: Rollback về cấu hình trước đó, bắt đầu quy trình khôi phục dịch vụ
- 2025-07-14 22:54: Lưu lượng trở lại bình thường và gỡ cảnh báo, sự cố kết thúc
Các IP và giao thức bị ảnh hưởng
- Phạm vi ảnh hưởng: 1.1.1.0/24, 1.0.0.0/24, 2606:4700:4700::/48 cùng nhiều prefix IPv4, IPv6 khác
- Quan sát thấy lưu lượng giảm mạnh đối với các truy vấn dùng UDP, TCP, DoT(DNS over TLS)
- DoH(DNS over HTTPS) hầu như không bị ảnh hưởng vì phần lớn dựa trên tên miền
cloudflare-dns.com
Mô tả kỹ thuật về sự cố
Sự cố dịch vụ Resolver 1.1.1.1
- Trong quá trình thay đổi cấu hình chuẩn bị trước cho DLS vào ngày 6 tháng 6, lỗi prefix đã được chèn vào
- Ngày 14 tháng 7, một vị trí offline được thêm vào cho mục đích thử nghiệm, khiến cấu hình toàn mạng được cập nhật
- Trong quá trình này, các prefix của Resolver 1.1.1.1 bị giới hạn toàn cầu về một vị trí offline duy nhất, dẫn đến rút dịch vụ
Phân tích nguyên nhân kỹ thuật
-
Hiện Cloudflare đang vận hành song song hệ thống legacy và hệ thống chiến lược mới, đồng bộ quảng bá định tuyến theo từng không gian địa chỉ
-
Hệ thống legacy có xác suất lỗi cao hơn do cập nhật thủ công và không có tính phát hành dần dần
- Dù có peer review và được kỹ sư khác kiểm tra, vẫn không có cấu trúc bảo đảm áp dụng dần dần như canary deployment
-
Cách làm mới dựa trên topology thay vì hardcode, đồng thời đưa vào cơ chế áp dụng thay đổi dần dần và giám sát
-
22:01, cảnh báo DNS Resolver được kích hoạt
-
Xác nhận rằng toàn bộ route của Resolver đã biến mất khỏi bảng định tuyến BGP nội bộ
-
Sau khi các prefix bị rút, subnet 1.1.1.0/24 đã được Tata Communications India(AS4755) thử quảng bá BGP
- Điều này giống với một vụ Prefix Hijack tạm thời, nhưng không liên quan trực tiếp đến sự cố
Quy trình khôi phục và biện pháp tiếp theo
- 22:20 UTC, rollback về cấu hình trước đó và quảng bá lại các prefix
- Khoảng 77% lưu lượng được khôi phục ngay lập tức
- Một số edge server bị reset tự động, cần áp dụng lại bằng hệ thống quản lý thay đổi thủ công
- Vì an toàn mạng, rollout thường được thực hiện dần dần, nhưng trong sự cố này đã được áp dụng nhanh sau khi xác minh
- 22:54, toàn bộ vị trí trở lại bình thường
Hướng cải thiện trong tương lai
- Đưa vào cơ chế phát hành dần dần (Stage Deployment): loại bỏ phương thức triển khai legacy, đưa vào cơ chế rollback tự động dựa trên health
- Đẩy nhanh loại bỏ hệ thống legacy: loại bỏ cấu hình và phương thức triển khai thủ công đầy rủi ro, tăng cường tài liệu hóa và độ bao phủ kiểm thử
Kết luận
Sự cố DNS Resolver Cloudflare 1.1.1.1 là do lỗi cấu hình nội bộ, và Cloudflare đang dồn toàn lực để triển khai các biện pháp cải thiện độ ổn định và ngăn tái diễn trong tương lai. Công ty đã xin lỗi khách hàng vì gây ra bất tiện, đồng thời sẽ tiếp tục tăng cường các biện pháp để giảm thiểu những sự việc tương tự trong tương lai.
1 bình luận
Ý kiến trên Hacker News
Với nhiều người dùng, khi trình phân giải 1.1.1.1 (DNS) không hoạt động thì điều đó đồng nghĩa gần như không thể truy cập hầu hết các dịch vụ Internet. Nhưng bình thường chẳng phải mọi thiết bị đều cấu hình hai máy chủ DNS sao? Tôi thắc mắc liệu máy chủ thứ hai cũng bị sập hay vì sao lại không chuyển sang đó
Điều thú vị là trong đợt gián đoạn chừng 20 phút, lưu lượng tới 1.1.1.1 chỉ giảm khoảng 20%. Thật ngạc nhiên khi Cloudflare vẫn tiếp tục gặp những vấn đề đơn giản và cũ kỹ như vậy trên quy mô này (đây không phải lần đầu, và có lẽ cũng không phải lần cuối). Trong khi đó, 8.8.8.8 và 8.8.4.4 của Google gần như suốt gần 10 năm qua trên toàn cầu chưa từng có (1) dù chỉ 1 giây downtime. (1: vẫn có vài sự cố cục bộ, nhưng đó là lỗi của Internet; ngay cả khi nhiều dịch vụ khác của Google gặp sự cố nghiêm trọng thì bản thân DNS vẫn hoạt động bình thường.)
Thật đáng ngạc nhiên khi mất hơn 5 phút để phát hiện tác động (dù lưu lượng giao thức chính giảm xuống 10% và giữ ở mức đó). Tôi chưa từng vận hành hệ thống lớn đến mức này, nhưng vẫn nghĩ tình huống như vậy phải kích hoạt cảnh báo ngay lập tức. Tôi cũng tò mò không biết giới chuyên môn có thấy điều đó là hợp lý không
Bài tóm tắt rất tốt. Điều thú vị là DoH (DNS over HTTPS) chủ yếu được truy cập qua domain cloudflare-dns.com (thiết lập thủ công hoặc trong trình duyệt), nên vì không phải địa chỉ IP nên dường như ít bị ảnh hưởng hơn bởi sự cố. Hôm qua tôi bị ảnh hưởng, và dù đã bật DoH trên router thì vẫn không resolve được gì, đổi sang 8.8.8.8 là hết lỗi
Nếu dùng dnsmasq thì có thể cấu hình nhiều máy chủ DNS đồng thời và dùng máy chủ phản hồi nhanh nhất. Một dịch vụ có sập thì cũng gần như không cảm nhận được
Ngay cả một sự cố kéo dài khoảng 1 giờ cũng chỉ tương đương 0.13% theo tháng, 0.0114% theo năm. Tôi tò mò SLO (mục tiêu mức dịch vụ) mà Cloudflare áp cho dịch vụ này là gì. Tôi có tìm được liên kết, nhưng đó chỉ dành cho dịch vụ trả phí. Với sự cố lần này, mức sẵn sàng tháng 7 sẽ rơi vào khoảng "< 99.9% but >= 99.0%", và trong trường hợp đó người dùng sẽ được hoàn lại 10% phí sử dụng
Điều thú vị là sau sự cố, lưu lượng vẫn không quay lại hoàn toàn bình thường. Gần đây tôi dùng OpenWrt với "luci-app-https-dns-proxy" để gửi đồng thời tới Cloudflare và Google DNS, DoH gần như không bị ảnh hưởng nên tôi không nhận ra sự cố (nếu cả DoH cũng hỏng thì chắc nó đã tự chuyển sang Google)
Thật bất ngờ khi cả 1.1.1.1 và 1.0.0.1 đều bị ảnh hưởng bởi cùng một thay đổi. Có lẽ giờ nên dùng một nhà cung cấp hoàn toàn khác cho DNS dự phòng (ví dụ: 8.8.8.8, 9.9.9.9)
Topology nội bộ của Cloudflare đang phát triển theo hướng các hệ thống "legacy" và "strategic" được đồng bộ hóa. Đây là một bài viết giải thích rõ hiện trạng theo cách cả người làm kỹ thuật lẫn người không chuyên đều có thể hiểu. Tôi thấy họ cũng viết quá trình migration khá cuốn hút. Thông điệp xin lỗi về sự bất tiện do sự cố gây ra, cùng cam kết cải thiện và ngăn tái diễn trong tương lai, để lại ấn tượng tốt. Tôi đánh giá cao thái độ như vậy của doanh nghiệp
Thật ngạc nhiên khi dù đã có nhiều kỹ sư xem xét việc đổi thương hiệu, không ai phát hiện lỗi thêm 1.1.1.0/24 vào danh sách reroute. Tôi tò mò không biết đây là sai sót con người kiểu gì, hay có ác ý gì không. Có vẻ cần một ngoại lệ hard-code trong DLS (Domain List Service) để ngăn việc chỉ định 1.1.1.1/32 và 1.0.0.1/32 về một vị trí duy nhất