مدیریت و مسیریابی DNS
خلاصه ای کوتاه
DNS یک روتر سطح نام است. این بستگی به TTL صالح، مناطق و سیاست ها دارد که چگونه کاربران به سرعت و قابل پیش بینی به جبهه ها/دروازه های مورد نظر می رسند. حداقل مجموعه: ارائه دهنده Anycast، TTL سالم، چک های بهداشتی با شکست اتوماتیک، DNSSEC + CAA، مدیریت IaC و قابلیت مشاهده (SLO با زمان پاسخ و وضوح).
معماری پایه
سرورهای معتبر (مناطق) - مسئول دامنه های شرکت هستند.
Resolvers بازگشتی (مشتریان/ISPs/خود) - از ریشه → TLDs معتبر بپرسید.
Anycast همان آدرس IP در بسیاری از PoP ها است: PoP نزدیک سریعتر پاسخ می دهد و از حوادث جان سالم به در می برد.
مناطق و نمایندگی
منطقه ریشه دامنه → 'NS' to ارائه دهندگان سرورهای معتبر.
زیر دامنه ها (به عنوان مثال عزيزم. به عنوان مثال. com ') می تواند به فرد «NS »/ارائه دهندگان برای استقلال منتقل شود.
انواع رکورد (حداقل)
«A »/« AAAA» - آدرس های IPv4/IPv6.
'CNAME' - نام مستعار برای نام ؛ در ریشه منطقه استفاده نکنید (به جای ALIAS/ANAME در ارائه دهندگان).
'TXT' - تأیید، SPF، برچسب های سفارشی.
'MX' - ایمیل (در صورت استفاده).
'SRV' - خدمات (SIP، LDAP، و غیره).
'CAA' - چه کسی می تواند گواهی برای دامنه صادر کند.
'NS '/' SOA' - پارامترهای نمایندگی/منطقه.
«DS» - کلید DNSSEC به TLD پدر.
منطقه نمونه (قطعه)
$TTL 300
@ IN SOA ns1.dns.example. noc.example. (2025110501 3600 600 604800 300)
IN NS ns1.dns.example.
IN NS ns2.dns.example.
@ IN A 203.0.113.10
@ IN AAAA 2001:db8::10 api IN CNAME api-prod.global.example.
_www IN CNAME cdn.example.net.
_caa IN CAA 0 issue "letsencrypt.org"
TTL و ذخیره سازی
TTL کوتاه (30-300 ثانیه) - برای دینامیک (جبهه API، شکست).
TTL متوسط (300-3600 ثانیه) - برای CDN/استاتیک.
TTL طولانی (≥ 1 روز) - برای تغییرات نادر (MX/NS/DS).
هنگام برنامه ریزی مهاجرت، TTL را 24-72 ساعت قبل کاهش دهید.
TTL ذخیره سازی منفی (NXDOMAIN) را در نظر بگیرید: توسط «SOA MINIMUM» مدیریت می شود
سیاست های مسیریابی (لایه GSLB)
Failover (فعال/منفعل) - ما IP اصلی را به بررسی سلامت شکست می دهیم، سپس ذخیره می کنیم.
Weighted (traffic-split) - توزیع ترافیک (به عنوان مثال، canary 5/95).
Latency-based نزدیکترین PoR/ناحیه با تأخیر شبکه است.
مسیریابی جغرافیایی - بر اساس کشور/قاره ؛ مفید برای قوانین محلی/PCI/PII.
Multivalue - چندین «A/AAAA» با بررسی سلامت هر یک.
شوراها
برای API های مهم، اتصال مبتنی بر تأخیر + چک های بهداشتی + TTL کوتاه.
برای انتشار صاف - رشد سهم وزن و تدریجی.
برای محدودیت های منطقه ای - جغرافیایی و لیست ارائه دهندگان مجاز.
بهداشت و سوئیچینگ اتوماتیک
بررسی های بهداشتی: HTTP (S) (200 OK، بدن/هدر)، TCP (پورت)، ICMP.
اعتبار/اثر انگشت: نه تنها پورت، بلکه صحت backend 'a (نسخه، ساخت شناسه) را بررسی کنید.
آستانه حساسیت: «N» چک موفق/ناموفق در یک ردیف برای جلوگیری از flapping.
با توجه به معیارها: سهم نقاط سالم، زمان واکنش، تعداد سوئیچ ها.
مناطق خصوصی و تقسیم افق
DNS خصوصی: مناطق داخلی در VPC/VNet/On-prem (به عنوان مثال به سلامتی. محلی. مثال:)
Split-horizon: پاسخ های مختلف برای مشتریان داخلی و خارجی (IP داخلی در مقابل عمومی).
حفاظت از نشت: از نام های «داخلی» در خارج استفاده نکنید ؛ بررسی کنید که مناطق خصوصی از طریق ارائه دهندگان عمومی حل نمی شوند.
امنیت DNS
DNSSEC: zone signatures (ZSK/KSK), publishing 'DS' in parent zone, key rollover.
CAA: محدود کردن انتشار TLS serts به CA های قابل اعتماد.
DoT/DoH برای بازگشت - رمزگذاری درخواست های مشتری.
ACL/Rate-limit on authoritative: حفاظت در برابر درخواستهای DDoS/ANY بازتابنده.
تصرف زیر دامنه: به طور مرتب CNAME/ALIAS «حلق آویز» را برای خدمات از راه دور اسکن کنید (منابع حذف شده - CNAME باقی مانده است).
سوابق NS/چسب: سازگاری بین ثبت کننده و ارائه دهنده DNS.
SLO و قابلیت مشاهده
SLO (نمونه)
در دسترس بودن پاسخ های معتبر: ≥ 99. 99 درصد/30 روز
زمان پاسخ بازگشتی (p95): ≤ 50 میلی ثانیه محلی/ ≤ 150 میلی ثانیه جهانی.
بررسی سلامت موفقیت: 99 ≥ 9٪، مثبت کاذب - ≤ 0. 1%.
زمان انتشار: ≤ 5 دقیقه در TTL 60 ثانیه.
معیارهای اندازه گیری
RCODE (NOERROR/NXDOMAIN/SERVFAIL)، QPS، زمان پاسخ p50/p95.
کسری IPv6/IPv4، اندازه EDNS، کوتاه (TC) پاسخ.
تعداد سوئیچ های بهداشتی، فلاپینگ، خطاهای امضای DNSSEC.
سهم درخواستهای DoH/DoT (اگر بازگشت را کنترل کنید).
سیاهههای مربوط
پرس و جو (qname، qtype، rcode، مشتری ASN/geo)، ناهنجاری ها (هر طوفان، NXDOMAIN مکرر با یک پیشوند).
IaC و اتوماسیون
ارائه دهندگان Terraform/DNS: مناطق را در مخزن، بررسی PR، برنامه/برنامه نگه دارید.
ExternalDNS (K8s): ایجاد/حذف خودکار سوابق از Ingress/Service.
محیط های متوسط: dev. 'STG'. پیشوند ها و حساب های ارائه دهنده DNS فردی.
ترافرم (مثال ساده)
hcl resource "dns_a_record_set" "api" {
zone = "example.com."
name = "api"
addresses = ["203.0.113.10","203.0.113.20"]
ttl = 60
}
resource "dns_caa_record" "caa" {
zone = "example.com."
name = "@"
ttl = 3600 record {
flags = 0 tag = "issue"
value = "letsencrypt.org"
}
}
Resolvers, کش, و عملکرد
Unbound/Knot/Bind به برنامه های کاربردی کمتر از p95 نزدیک است.
سوابق داغ پیش فرض را روشن کنید، زمانی که اقتدار در دسترس نیست، خدمت کنید.
EDNS (0) و اندازه بافر صحیح، کوکی های DNS، حداقل پاسخ.
جریان تفکیک جداگانه و ترافیک برنامه (QoS).
TTL منفی را در نظر بگیرید: بسیاری از NXDOMAIN از یک مشتری شکسته می تواند کش را مسدود کند.
DDoS و انعطاف پذیری
ارائه دهنده Anycast با PoP جهانی و تجمع ترافیک ربات.
محدود کردن نرخ پاسخ (RRL) در معتبر، حفاظت در برابر تقویت.
«هر» ممنوعیت، EDNS محدودیت بافر، فیلتر بر روی انواع «سنگین».
تقسیم بندی منطقه: مهم - در ارائه دهنده با بهترین سپر DDoS ؛ کمتر انتقاد - به طور جداگانه.
ارائه دهنده پشتیبان (secondaries) با «AXFR/IXFR» و fylover خودکار NS در سطح ثبت کننده.
عملیات و فرآیندها
تغییرات: PR-review، canary-records، warm-up caches (TTL پایین → deploy → TTL برگشتی).
رول اور DNSSEC: مقررات، پنجره ها، نظارت بر اعتبار (RFC 8901 KSK/ZSK).
Runbook: قطره PoP، هیئت NS نادرست، از بررسی سلامت افتاده، SERVFAIL عظیم.
طرح DR: ارائه دهنده DNS جایگزین، قالب های منطقه آماده، دسترسی به ثبت کننده، SLA برای جایگزینی NS.
چک لیست پیاده سازی
- دو ارائه دهنده مستقل معتبر/RoP (Anycast)، NS صحیح در ثبت کننده.
- استراتژی TTL: کوتاه برای پویایی، طولانی برای سوابق پایدار ؛ TTL منفی تحت کنترل
- بررسی های بهداشتی و سیاست ها: شکست/وزن/تاخیر/جغرافیایی توسط مشخصات خدمات.
- DNSSEC (KSK/ZSK/DS)، 'CAA' انتشار serts را محدود می کند.
- IaC برای مناطق، ExternalDNS برای K8s، محیط ها/حساب های جداگانه.
- نظارت: rcode/QPS/latency/propagation، هشدار توسط SERVFAIL/signatures.
- DDoS: Anycast، RRL، محدودیت های EDNS، لیست بلوک/ACL.
- مقررات مهاجرت دامنه و TTL در 48-72 ساعت کاهش می یابد.
- ممیزی منظم «حلق آویز» CNAME/ALIAS، MX/SPF/DKIM/DMARC (در صورت استفاده از پست).
اشتباهات رایج
TTL بیش از حد در «A/AAAA» بحرانی - مهاجرت طولانی/fylovers.
یک ارائه دهنده DNS/یک PoP SPOF است.
عدم وجود DNSSEC/CAA - خطر جایگزینی/serts کنترل نشده.
تقسیم افق متناقض → نام های داخلی برای نشت.
بدون بررسی سلامت در GSLB - تعویض دست و تاخیر.
CNAME های فراموش شده در خدمات خارجی → خطر تصاحب.
عدم وجود IaC → «snowflake» پیکربندی و خطاها در هنگام ویرایش دستی.
ویژگی برای iGaming/fintech
نسخه های منطقه ای و PSP: مسیریابی جغرافیایی/تأخیر، لیست های سفید شریک IP/ASN، دروازه های سریع شکست.
میدارد (مسابقات/مسابقات): TTL کوتاه، گرم کردن CDN، نام جداگانه برای حوادث ("رویداد-N. به عنوان مثال. com) با سیاست مدیریت شده.
صحت قانونی: ثبت زمان و نسخه مناطق در طول تغییرات بحرانی (گزارش حسابرسی).
حفاظت ضد انفجار/BOT: نام های جداگانه برای tiebreakers/captcha/check endpoints ؛ عقب نشینی سریع به «سیاه چاله» (فروچاله) در حملات.
کتاب های کوچک
آزادی قناری از جلو (وزن):- 1 'api-canary. به عنوان مثال. 5 درصد از ترافیک ؛ 2) مانیتور p95/p99/خطاها ؛ 3) افزایش به 25/50/100٪ ؛ 4) در طول تخریب رول.
1. TTL 60 ثانیه ؛ 2) منطقه مشخص شده سلامت را بررسی کنید → GSLB از پاسخ ها حذف شده است ؛ 3) بررسی حل کننده های خارجی ؛ 4) ارتباطات وضعیت.
مهاجرت ارائه دهنده DNS:1. وارد کردن یک منطقه به یک ارائه دهنده جدید ؛ 2) ثانویه همزمان را برای یکی از قدیمی روشن کنید ؛ 3) «NS» ضبط را به یک پنجره «آرام» تغییر دهید ؛ 4) خطاهای SERVFAIL/val را مشاهده کنید.
نتیجه گیری
یک حلقه DNS قابل اعتماد Anycast authority + معقول TTL + مسیریابی سلامت/تأخیر + DNSSEC/CAA + IaC و قابلیت مشاهده است. ضبط فرآیندهای مهاجرت و چرخش، نگه داشتن یک ارائه دهنده پشتیبان، به طور منظم منطقه را برای سوابق «حلق آویز» بررسی کنید - و کاربران شما حتی در داغترین ساعت به طور مداوم به جبهه های مورد نظر می رسند.