DNS

DNS Doctoring — کنترل پاسخ DNS با NAT روی روتر و فایروال سیسکو

یک وب‌سرور داخلی دارید که با Static NAT از اینترنت در دسترس است: از بیرون با آدرس عمومی 203.0.113.10 و در شبکه داخلی با 192.168.1.10. کاربران داخلی که برای www.example.com از DNS عمومی آدرس می‌گیرند، آدرس عمومی را دریافت می‌کنند و اتصالشان برقرار نمی‌شود، چون بسته باید از فایروال بیرون برود و دوباره به داخل برگردد. DNS Doctoring راه‌حل این مشکل است: تجهیزی که NAT انجام می‌دهد، آدرس داخل پاسخ DNS را هنگام عبور بازنویسی می‌کند تا کاربر داخلی آدرس خصوصی سرور را بگیرد.

در این مطلب مشکل را دقیق توضیح می‌دهیم، سه راه‌حل (Split DNS ، DNS Doctoring و Hairpin NAT) را مقایسه می‌کنیم، کانفیگ DNS Doctoring روی ASA و رفتار NAT روترهای IOS را مرور می‌کنیم و درباره استفاده از روتر به‌عنوان DNS Server هم نکته‌هایی می‌گوییم.

DNS سیسکو
سرویس DNS در شبکه

DNS Doctoring در یک نگاه

مشکل کاربر داخلی از DNS عمومی، آدرس عمومی سرور داخلی را می‌گیرد
راه‌حل تمیز Split DNS : یک DNS داخلی با آدرس‌های خصوصی
DNS Doctoring بازنویسی رکورد A در پاسخ DNS توسط NAT
روی ASA کلمه dns در انتهای Static / Object NAT
روی روتر IOS NAT با ALG مربوط به DNS ، آدرس‌های داخل پاسخ DNS را ترجمه می‌کند

صورت مسئله

مرحله چه اتفاقی می‌افتد
۱ کلاینت 192.168.1.50 از DNS عمومی (مثلاً 8.8.8.8) آدرس www را می‌پرسد
۲ DNS عمومی پاسخ می‌دهد: 203.0.113.10
۳ کلاینت به 203.0.113.10 وصل می‌شود؛ بسته به فایروال می‌رسد و باید به داخل برگردد (U-turn)
۴ بدون تنظیم خاص، فایروال یا روتر این مسیر را نمی‌پذیرد و اتصال برقرار نمی‌شود

سه راه‌حل

روش توضیح ارزیابی
Split DNS DNS داخلی (مثلاً Windows DNS) برای همان دامنه، آدرس خصوصی را پاسخ می‌دهد تمیزترین و پیشنهادی
DNS Doctoring تجهیز NAT پاسخ DNS را بازنویسی می‌کند وقتی DNS داخلی ندارید یا کلاینت‌ها از DNS عمومی استفاده می‌کنند
Hairpin (U-turn) NAT اجازه عبور ترافیک از داخل به آدرس عمومی و برگشت به داخل کار می‌کند اما ترافیک بی‌دلیل از فایروال عبور می‌کند

DNS Doctoring روی ASA

کانفیگ DNS Doctoring روی ASA
نمونه DNS Doctoring روی فایروال ASA (سند سیسکو)

طبق سند رسمی سیسکو، روی ASA کافی است کلمه dns به انتهای Static NAT یا Object NAT اضافه شود؛ ASA با DNS Inspection (که پیش‌فرض فعال است) پاسخ‌های DNS را بررسی و رکورد A را بازنویسی می‌کند:

object network WEB-SERVER
 host 192.168.1.10
 nat (inside,outside) static 203.0.113.10 dns
!
policy-map global_policy
 class inspection_default
  inspect dns preset_dns_map

طبق همان سند، Twice NAT از کلمه dns پشتیبانی نمی‌کند و فقط Object NAT و Static NAT معمولی این قابلیت را دارند.

روی روتر IOS

NAT در IOS یک ALG برای DNS دارد: وقتی پاسخ DNS از اینترفیس outside به inside عبور می‌کند و آدرس داخل آن با یک ترجمه Static NAT مطابقت دارد، روتر آن آدرس را به آدرس داخلی ترجمه می‌کند. پیش‌شرط این است که Static NAT تعریف شده و پاسخ DNS واقعاً از روتر عبور کند:

ip nat inside source static 192.168.1.10 203.0.113.10
!
interface GigabitEthernet0/0/0
 ip nat outside
interface GigabitEthernet0/0/1
 ip nat inside

رفتار دقیق ALG به نسخه IOS بستگی دارد؛ پس از پیکربندی با nslookup از یک کلاینت داخلی بررسی کنید که آدرس خصوصی برمی‌گردد. جزئیات NAT را در پیاده‌سازی NAT روی روتر سیسکو ببینید.

روتر به‌عنوان DNS Server؟

روتر سیسکو می‌تواند DNS Forwarder باشد و چند رکورد محلی هم پاسخ دهد:

ip dns server
ip name-server 8.8.8.8 1.1.1.1
ip host www.example.com 192.168.1.10

این برای دفتر کوچک و چند رکورد کافی است، اما روتر برای نقش DNS Server اصلی سازمان بهینه نشده است: ابزار مدیریت، لاگ و امنیت DNS سرورهای واقعی را ندارد. برای شبکه سازمانی DNS داخلی جداگانه (Split DNS) بهترین راه است. اگر روتر DNS Server است، مطمئن شوید از اینترنت به آن پاسخ نمی‌دهد تا ابزار حمله Amplification نشود (DDoS و مقابله با آن).

پرسش‌های متداول

DNS Doctoring روی DNS over HTTPS کار می‌کند؟
خیر؛ پاسخ‌های رمزنگاری‌شده (DoH و DoT) قابل بازنویسی نیستند. مرورگرهایی که DoH استفاده می‌کنند این راه‌حل را دور می‌زنند؛ Split DNS با DNS داخلی مطمئن‌تر است.

برای IPv6 چطور؟
در طراحی رایج IPv6 NAT وجود ندارد و سرور یک آدرس سراسری دارد؛ مشکل اصلاً پیش نمی‌آید.

منابع رسمی

مشاوره با AKA NET

برای طراحی NAT ، DNS و شبکه مرزی سازمان با آکانت (AKA NET) تماس بگیرید.

تلفن: 09121308444  |  ایمیل: aka@aka.ir  |  aka.ir

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *