DNS یکی از حیاتیترین سرویسهای شبکه در ویندوز سرور است که وظیفه اصلی آن ترجمه نامها به IP و ایجاد یک ساختار پایدار برای ارتباطات داخلی و خارجی سازمان است. در محیطهای Enterprise، که سیستمها، سرورها، سرویسها و کلاینتها با وابستگی شدید به نامها کار میکنند، نصب DNS روی ویندوز سرور نقش کلیدی در پایداری، امنیت و سرعت شبکه دارد. برای یک IT Manager در حال توسعه، تسلط بر راهاندازی و مدیریت DNS نهتنها ضروری است، بلکه بخشی از مهارتهای استراتژیک در مدیریت زیرساخت سازمانی محسوب میشود؛ زیرا هرگونه اشتباه در پیکربندی DNS میتواند باعث اختلال در سرویسهایی مانند Active Directory، ایمیل سازمانی، سرویسهای ابری و حتی دسترسی کارمندان به منابع داخلی شود. به همین دلیل، درک معماری DNS، آشنایی با Best Practiceهای جهانی و توانایی پیادهسازی صحیح آن روی ویندوز سرور، پایهایترین مهارت برای مدیریت شبکههای مبتنی بر سرور HP و دیگر تجهیزات Enterprise است.
پیشنیازهای نصب DNS روی ویندوز سرور
قبل از اقدام به نصب DNS Server روی Windows Server، لازم است سرور سختافزاری و شرایط نرمافزاری بهدرستی بررسی شوند — بهخصوص اگر سرور از برند HPE (یا همان HP) انتخاب میشود. بر اساس مستندات رسمی مایکروسافت: ویندوز سرور باید روی پردازنده ۶۴ بیتی با حداقل ۱.۴ GHz، سازگار با دستورالعملهای x64 و قابلیتهایی نظیر NX/DEP اجرا شود. اگر قصد دارید سرور HPE را برای اجرای DNS به کار ببرید، مطمئن شوید سختافزار سرور — پردازنده، RAM، فضای ذخیرهسازی — علاوه بر حداقل لازم، بهقدر کافی قوی باشد تا وقتی DNS با دیگر نقشها مثل Active Directory یا DNSSEC ترکیب شد، تحت بار مناسب باقی بماند.
از دید نرمافزاری نیز باید نسخه ویندوز سرور شما از نسخههای پشتیبانیشده باشد، سرور دارای IP ثابت (Static IP) باشد، و حساب کاربری با مجوز Administrator یا معادل آن برای نصب نقش DNS (DNS Server role) وجود داشته باشد. Microsoft Learn همچنین پیش از نصب توصیه میشود آخرین بهروزرسانیهای سیستم و درایورها را بر روی سرور اعمال کرده و تنظیمات اولیه مانند نام سرور (hostname)، تنظیمات شبکه و امنیت پایه را انجام دهید تا پس از نصب DNS با مشکل مواجه نشوید.

معرفی سرویس دی ان اس در ویندوز سرور
سرویس Windows Server DNS در ویندوز سرور نقش هستهای در حل نام (Name Resolution) و مدیریت فضای نام شبکه بر عهده دارد؛ این سرویس با تفکیک فضای نام به واحدهای منطقی به نام DNS zone و نگهداری رکوردهای مختلف (مثل A, PTR, NS, SOA و غیره) امکان ترجمه نام دامنه به آدرس IP و برعکس و همچنین مدیریت متمرکز نامها را فراهم میکند. هر zone نمایانگر بخشی از namespace است که تحت اختیار یک یا چند DNS Server است. انواع zone متفاوتی وجود دارد: در zone نوع Primary zone، zone بهصورت خواندنی/نوشتنی (read/write) نگهداری میشود و تمام تغییرات رکوردها در آن اعمال میگردند — این zone منبع authoritative اصلی برای آن namespace است. در حالی که Secondary zone نسخهای فقط خواندنی (read-only) از Primary است، که از طریق مکانیزم zone transfer بهروز میشود؛ این کار افزونگی، توزیع بار و در دسترس بودن DNS در صورت افت Primary را ممکن میسازد. از سوی دیگر، Stub zone فقط شامل اطلاعاتی است که DNS سرورهای authoritative برای zone را مشخص میکند (مثل NS و SOA و آدرسهای glue در صورت نیاز) — Stub Zone کاملترین اطلاعات zone را ندارد و برای مواقعی مناسب است که میخواهیم DNSها بتوانند سریعتر و کمهزینهتر سرورهای authoritative را پیدا کنند، بدون اینکه همه رکوردها کپی شوند؛ این کار به بهبود کارایی Name Resolution و کاهش ترافیک بین DNS سرورها کمک میکند.
| نوع Zone / Zone Type | تعریف / محتوا (What it holds) | کاربرد / زمانی که استفاده میشود | مزایا | معایب / محدودیتها / نکات مهم |
|---|---|---|---|---|
| Primary Zone | نسخه «اصلی / Writable» از دیتابیس DNS برای آن namespace. شامل تمام resource record ها (A, AAAA, CNAME, PTR, NS, SOA, TXT و غیره). این دادهها در فایل zone (مثلاً zone_name.dns) یا — اگر zone به صورت AD-integrated باشد — در دیتابیس Active Directory ذخیره میشود. | برای فضاهایی که domain اصلی شرکت، zoneهای داخلی یا domain-های سازمانی هستند؛ جایی که نیاز به افزودن/حذف رکورد یا تغییر تنظیمات DNS وجود دارد. مناسب برای شبکههایی با Active Directory یا مجموعه سرورهای مرکزی. | + قابل ویرایش (Read/Write) + مرکز authoritative بودن برای zone + اگر AD-Integrated باشد: از قابلیت replication و dynamic update بهرهمند میشود. + مناسب برای مدیریت مرکزی و کنترل دقیق DNS. | – در صورت خراب شدن سرور Primary، اگر redundancy مناسب نداشته باشید، zone قابل ویرایش نیست. – اگر فقط یک Primary باشد، Single Point of Failure ایجاد میشود. – نیاز به امنیت و دسترسی کنترلشده (برای جلوگیری از تغییر ناخواسته رکوردها). |
| Secondary Zone | نسخه «فقط خواندنی / Read-only» از Primary Zone. شامل تمام رکوردهای zone است (کپی کامل). این نسخه از طریق Zone Transfer از Primary دریافت میشود. | برای ایجاد redundancy و بالابردن Availability در سایتهای مختلف (مثلاً شعب دور از HQ). مناسب وقتی بخواهید بار query DNS را بین چند سرور پخش کنید یا در شبکه توزیع شده باشید. | + افزایش پایداری و تحمل خطا — اگر Primary down شود، Secondary میتواند پاسخگو باشد. + توزیع بار DNS و کاهش فشار روی سرور اصلی. + مناسب برای شبکههای گسترده یا شعب مختلف. | – فقط Read-only است: نمیتوان رکورد جدید اضافه یا رکوردی حذف کرد. برای تغییرات باید به Primary مراجعه کرد– نیاز به ارتباط شبکهای پایدار با Primary برای بهروزرسانی (Zone Transfer). – اگر شبکه بین Primary و Secondary قطع شود، Secondary ممکن است stale شود. |
| Stub Zone | نسخه بسیار سبکشده: شامل فقط رکوردهای لازم برای پیدا کردن authoritative server(zone) است — عمدتاً NS (Name Server)، SOA (Start of Authority) و رکوردهای glue / A برای آن name serverها. رکوردهای کامل zone کپی نمیشود. | وقتی میخواهید DNS-های داخلی یک zone یا sub-domain را رفرنس دهید (delegation) بدون اینکه کل zone را کپی کنید؛ یا وقتی نیاز به تسهیل name resolution بین DNS سرورها دارید بدون overhead کامل zone replication. مناسب برای ارتباط بین قسمتهای مختلف سازمان یا بین سازمان و بیرون. | + مصرف منابع کمتر (فضا و پهنای باند) نسبت به Secondary. + سرعت بیشتر در resolution — چون فقط اطلاعات NS/SOA نگهداری میشود تا DNS بداند سرور authoritative کدام است. + سادهسازی ساختار DNS در شبکههای بزرگ یا پیچیده. | – رکوردهای کامل zone در دسترس نیستند — نمیتوانید رکوردها را از Stub بخوانید همه را. – برای redundancy یا load balancing مناسب نیست؛ هدف اصلیاش بهبود resolution efficiency است. – اگر authoritative server تغییر کنند یا رکوردهای مهم اضافه/حذف شوند؛ باید Stub بهروز شود. |
| Forward Lookup Zone | zoneی که نام دامنه → IP را نگاشت میکند (برای name resolution معمولی). رکوردهایی مثل A, AAAA, CNAME در این zone قرار دارند. | برای رزولوشن مرسوم نامها (مثلاً از server1.contoso.local به IP) در شبکههای داخلی یا خارجی. | – امکان استفاده از نام به جای IP برای کاربران و سرویسها – خوانایی و راحتی مدیریت شبکه | — (بیشتر نوع کاربرد است؛ معمولاً همراه با Primary/Secondary) |
| Reverse Lookup Zone | zoneی که برعکس عمل میکند: IP → نام دامنه (با رکورد PTR). برای زمانی که از IP بخواهید نام دامنه را پیدا کنید. | برای لاگگیری، بررسی امنیتی، سرویسهایی که نیاز به شناسایی نامها بر اساس IP دارند، و شرایطی که reverse DNS لازم است (مثل ایمیل سرور، authentication و …) | + امکان شناسایی دامنه بر اساس IP + کمک به troubleshooting، spam filtering یا امنیت | – نیاز به نگهداری رکورد PTR – ممکن است پیچیدگی اضافی ایجاد کند اگر شبکه بزرگ باشد |
توضیحات مهم و Best Practiceها
- اگر در سازمانتان از Active Directory Domain Services استفاده میکنید، استفاده از نوع AD-Integrated Primary Zone توصیه میشود — چون zone در دیتابیس AD ذخیره میشود و replication بین Domain Controllerها تقریباً خودکار است. این باعث میشود redundancy و امنیت بهتری داشته باشید.
- برای شبکههای چندسایته یا شعب دور از HQ، بهتر است علاوه بر Primary، حداقل یک Secondary Zone تنظیم کنید تا اگر سرور اصلی دچار مشکل شد، کاربران همچنان به DNS دسترسی داشته باشند.
- Stub Zone زمانی مفید است که بخواهید delegation بین قسمتهای مختلف داشته باشید یا DNS-های داخلی با DNS-های بیرونی تعامل داشته باشند بدون اینکه همه رکوردها را replicate کنید — این رویکرد فشار بر روی شبکه و فضای ذخیره را کاهش میدهد.
آموزش کامل نصب DNS روی ویندوز سرور
✅ پیشنیازها قبل از نصب
- وارد شدن با حساب کاربری با دسترسی Administrator بر روی سرور.
- اختصاص دادن IP ثابت (Static IP) به کارت شبکه سرور (نه DHCP).
- تضمین اینکه Windows Server نصب شده و بهروز است.
- در صورت استفاده در شبکه سازمانی، اطمینان از تنظیمات شبکه، فایروال و پورت DNS (TCP/UDP 53) — حداقل برای تست اولیه.
🛠️ گام ۱ — نصب Role / نقش DNS Server
🔹 از طریق Server Manager (رابط گرافیکی)
- از منوی Start ویندوز،
Server Managerرا باز کنید. - در منوی بالا، روی Manage → Add Roles and Features کلیک کنید.
- در صفحه «Before you begin»، روی Next کلیک کنید.
- در صفحه «Select installation type»، گزینه Role-based or feature-based installation را انتخاب و Next کنید.
- در «Select destination server»، سرور مقصد (معمولاً همین سرور) را انتخاب و Next شوید.
- در فهرست نقشها (Server Roles)، گزینه DNS Server را تیک بزنید. اگر پیغامی برای اضافه کردن ویژگیهای لازم (features) ظاهر شد، روی Add Features کلیک کنید.
- در مراحل بعدی (Features, Confirmation)، بدون تغییر خاصی Next کنید. در نهایت روی Install کلیک کنید.
- پس از اتمام نصب، روی Close کلیک کنید. توجه داشته باشید که معمولاً نیازی به ریاستارت نیست.
🔹 از طریق PowerShell (روش سریع و اسکریپتی)
اگر ترجیح میدهید فعل و انفعالات را خودکار انجام دهید، PowerShell را با دسترسی elevated (Run as Administrator) باز کنید و دستور زیر را اجرا کنید:
Install-WindowsFeature -Name DNS
این روش DNS Server role را نصب میکند و معمولاً بدون نیاز به ریاستارت انجام میشود.
⚙️ گام ۲ — پیکربندی اولیه DNS Server
بعد از نصب، باید سرور DNS را پیکربندی کنید:
باز کردن کنسول DNS Manager
- از منوی Start → Administrative Tools → DNS (یا جستجوی
dnsmgmt.msc) استفاده کنید.
ایجاد Zone (مثلاً Forward و Reverse Lookup Zone)
- در کنسول DNS, روی Forward Lookup Zones راست-کلیک → New Zone… انتخاب کنید.
- با ویزارد جدید، نوع Zone را انتخاب کنید (معمولاً Primary Zone برای شروع).
- نام zone (مثلاً
mycompany.local) را تعیین کرده، فایل zone را بسازید یا (در صورت AD-Integrated) انتخاب کنید. - اگر لازم است، reverse lookup zone نیز برای نگاشت IP → نام ایجاد کنید (برای PTR record).
اضافه کردن رکوردها (Resource Records)
پس از ایجاد zone، میتوانید رکوردهایی مثل A (نام → IP)، CNAME (نام مستعار)، PTR (برای reverse lookup) و غیره را اضافه کنید.
تنظیم Forwarders (اختیاری ولی رایج)
اگر میخواهید DNS سرورتان برای نامهایی خارج از شبکه داخلی به سرورهای DNS بیرونی (مثل ISP یا Public DNS) رجوع کند، میتوانید Forwarders تعریف کنید:
- در DNS Manager → روی سرور راست-کلیک → Properties → تب Forwarders → آدرس IP سرورهای DNS مد نظر را اضافه کنید.
- با PowerShell هم قابل تنظیم است (مثلاً
Set-DnsServerForwarder -IPAddress <ip1>,<ip2>).
🔎 گام ۳ — بررسی و اعتبارسنجی عملکرد DNS
- پس از نصب و پیکربندی، سرویس DNS Should فعال باشد؛ از طریق DNS Manager مطمئن شوید.
- تست رکوردها با ابزارهایی مثل
nslookupیاpingاز کلاینتها انجام دهید تا مطمئن شوید نام → IP به درستی Resolve میشود. - اگر DNS برای Active Directory استفاده میشود، مطمئن شوید Zoneها و رکوردهای مربوط به دامین کنترلرها به درستی تنظیم شدهاند؛ DNS برای عملکرد صحیح AD نقش کلیدی دارد.
📌 نکات تکمیلی و توصیههای حرفهای
- مطمئن شوید سرور شبکه منابع کافی (CPU, RAM, Network) دارد؛ مخصوصاً اگر DNS با سرویسهای دیگر مانند Active Directory یا دیگر رولها ترکیب میشود.
- اگر نقش DNS در شبکه بزرگ یا چند شعبه اجرا میشود، برنامه ریزی برای redundancy (مثلاً اضافه کردن Secondary DNS) و پشتیبانگیری Zoneها را در نظر بگیرید.
- پس از نصب و راهاندازی اولیه، تنظیمات امنیتی، مانیتورینگ لاگ و سیاستهای دسترسی (Access Control) را بررسی کنید.
گامهای راه اندازی DNS روی Windows Server
در ادامه «راهنمای کامل راه اندازی DNS Server روی Windows Server» را گامبهگام توضیح میدهیم، بهگونهای که هم با GUI و هم PowerShell قابل اجرا باشد.
۱. نصب نقش DNS Server
- ابتدا با حسابی که عضو گروه Administrators است لاگین کنید.
- اگر با GUI کار میکنید: در منوی Start، وارد Server Manager شوید → از منوی «Manage» گزینه “Add Roles and Features” را انتخاب کنید → در ویزارد نصب، «Role-based or feature-based installation» را انتخاب کنید → سرور مقصد را انتخاب کنید → از بین نقشها (Server Roles) گزینه “DNS Server” را تیک بزنید → مراحل را ادامه دهید و در نهایت روی “Install” کلیک کنید.
- اگر ترجیح میدهید با خط فرمان (PowerShell) نصب کنید: PowerShell را با دسترسی Administrator باز کرده و این دستور را اجرا کنید:
Install-WindowsFeature -Name DNS -IncludeManagementTools
این دستور نقش DNS Server را نصب میکند.
پس از پایان نصب، معمولاً نیازی به ریاستارت نیست.
۲. باز کردن کنسول مدیریت DNS و شروع پیکربندی
- پس از نصب، از طریق Server Manager → Tools → DNS وارد کنسول DNS Manager شوید.
- در این کنسول، سرور نصبشده را در سمت چپ انتخاب کنید؛ سپس میتوانید انواع Zoneها (Forward / Reverse) را ایجاد کنید.
۳. ایجاد Forward Lookup Zone (برای نام → IP)
این کار برای این است که وقتی نام هاست یا دامنه درخواست میشود، به IP مربوطه ترجمه شود:
- در DNS Manager، روی “Forward Lookup Zones” راست-کلیک → “New Zone…” را انتخاب کنید.
- در ویزارد: نوع zone را “Primary” انتخاب کنید.
- گزینه “Forward lookup zone” را انتخاب و Next بزنید.
- نام zone (مثلاً internal.company.local) را وارد کنید.
- در بخش فایل zone، معمولاً “Create a file with this file name” را انتخاب کنید و ادامه دهید.
- در مرحله تنظیم Dynamic Update، گزینه مناسب (مثلاً “Allow only secure dynamic updates” اگر از Active Directory استفاده میکنید) را انتخاب کنید.
- در آخر روی Finish کلیک کنید. Zone به فهرست Forward Lookup Zones اضافه میشود.
۴. ایجاد Reverse Lookup Zone (برای IP → نام)
برای اینکه بتوانید از IP به نام دامنه / هاست برگردید (برای لاگ، امنیت، برخی سرویسها):
- در DNS Manager، روی “Reverse Lookup Zones” راست-کلیک → “New Zone…” را انتخاب کنید.
- نوع zone را “Primary” انتخاب و Next بزنید.
- در صفحه انتخاب نوع zone، “Reverse lookup zone” را انتخاب کنید (IPv4 یا IPv6 بر اساس شبکه).
- Network ID مربوط به زیرشبکه خود را وارد کنید (مثلاً اگر IPهای داخلی 192.168.1.x هستند، Network ID معادل آن را).
- فایل zone را ایجاد کنید و در Dynamic Update تنظیم مورد نظر را اعمال کنید (مثلاً secure).
- روی Finish کلیک کنید. اکنون Reverse Lookup Zone در فهرست ظاهر میشود.
۵. افزودن رکورد (Resource Record) — رکورد A، PTR و …
پس از ایجاد Zoneها، نوبت به ایجاد رکوردها برای هاستها میرسد:
- در Forward Lookup Zone مورد نظر، راست-کلیک → “New Host (A or AAAA)” را انتخاب کنید.
- نام هاست (مثلاً webserver)، و IP مربوطه را وارد کنید. اگر میخواهید PTR (برای reverse lookup) هم داشته باشید، تیک “Create associated pointer (PTR) record” را بزنید. سپس “Add Host”.
- پس از افزودن رکورد، میتوانید در بخش Reverse Lookup Zone، رکورد PTR را مشاهده یا در صورت لزوم به صورت دستی ایجاد کنید.
- در عین حال، میتوانید رکوردهای دیگر مثل CNAME, MX, TXT و … هم اضافه کنید از طریق DNS Manager یا PowerShell.
۶. تنظیم Forwarders (اختیاری ولی توصیهشده برای اینترنت / نامهای بیرونی)
اگر DNS داخلی شما نمیتواند نامهایی خارج از شبکه داخلی را پاسخ دهد، میتوانید DNS سرور را طوری تنظیم کنید که درخواستها برای دامنههای اینترنتی را به DNS سرورهای upstream (مثلاً DNS عمومی ISP یا DNS Public) فوروارد کند:
- در DNS Manager → روی نام سرور راست-کلیک → Properties → تب “Forwarders” را باز کنید.
- آدرس IP سرور(s) upstream را اضافه کنید و OK بزنید.
با اینکار، زمانی که DNS سرور داخلی نتواند نام را resolve کند، درخواست به سرورهای بیرونی ارسال میشود. این راهکار برای سازمانهایی که هم منابع داخلی دارند هم استفاده از اینترنت را — خیلی مفید است.
۷. اعتبارسنجی و تست عملکرد DNS
- پس از پیکربندی، با ابزارهایی مثل nslookup یا دستور ping از کلاینتها تست کنید که نام → IP و IP → نام به درستی Resolving میشوند.
- اگر از مزیت Reverse Lookup استفاده کردهاید، تست کنید که PTR رکوردها درست کار میکنند.
- در صورت استفاده در شبکه بزرگ یا با Active Directory، مطمئن شوید zoneها و رکوردها به درستی replicate شده یا در دسترس همه کلاینتها هستند.
✅ نکات مهم برای راه اندازی
- نصب DNS Server role روی Windows Server ساده و سریع است — چه با GUI چه با PowerShell.
- پس از نصب، بایستی حداقل یک Forward Lookup Zone ایجاد کنید؛ ایجاد Reverse Lookup Zone و رکورد PTR توصیه میشود بهویژه اگر سرور داخلی دارید یا سرویسهایی مثل ایمیل، authentication، لاگها یا سرویسهای داخلی قرار است IP ↔ نام کار کنند.
- برای محیط سازمانی (مثل زمانی که سرور HP دارید + Active Directory) بهتر است رکوردها و zoneها را طوری تعریف کنید که امکان گسترش، redundancy و مدیریت آسان فراهم باشد.
- در صورت نیاز به نامگذاری اینترنتی و امکان resolve دامنههای بیرونی، Forwarders را تنظیم کنید.

چرا امنیت DNS مهم است؟
- پروتکل DNS بهصورت پیشفرض «متن باز» (unencrypted / unverifiable) است — یعنی پاسخها قابل دستکاری (spoofing) هستند؛
- اگر DNS سرور سازمانی compromise شود، مهاجم میتواند ترافیک را هدایت کند، به سرویسهای داخلی آسیب بزند، دسترسی ها را مختل کند یا جعل دامنه انجام دهد؛
- بنابراین لازم است هم صحت دادههای DNS تضمین شود، هم سرور و سرویس DNS تا حد ممکن سخت شوند (hardening).
• فعال کردن DNSSEC — امضا و معتبرسازی Zone
- DNSSEC به شما امکان میدهد zoneها را با کلیدهای رمزنگاریشده «امضا» (sign) کنید — با این کار رکوردهای DNS همراه با امضا دیجیتال ارائه میشوند و کلاینت یا resolver میتواند اعتبار پاسخ DNS را بررسی کند.
- پس از فعالسازی DNSSEC، اگر DNS client یا resolver از DNSSEC پشتیبانی کند، هنگام Query پاسخ همراه با RRSIG (و رکوردهای DNSSEC) باز میگردد و قابل اعتبارسنجی است.
- این کار کمک میکند در برابر حملات Spoofing / DNS Cache Poisoning مقاومت کنید.
⚠️ نکته: هنگام فعالسازی DNSSEC باید کلیدها (Key Signing Key — KSK و Zone Signing Key — ZSK) به درستی مدیریت شوند؛ زمان انقضای کلیدها و rollover کلیدها را در نظر بگیرید.
• کنترل دقیق دسترسیها — Role-Based Access & Least Privilege
- فقط افرادی که واقعاً نیاز دارند (ادمینها یا تیم شبکه) اجازه مدیریت DNS، zoneها و رکوردها را داشته باشند؛
- از مجوز «دسترسی حداقلی» (least privilege) استفاده کنید تا ریسک تغییرات ناخواسته یا مخرب کاهش یابد.
• محدود کردن Recursion و Resolver-های باز (Open Resolver)
- اگر DNS سرور شما برای کلاینتهای داخلی است، مطمئن شوید recursion یا forwarding فقط برای کلاینتهای داخل شبکه مجاز باشد و سرور را بهعنوان «open resolver» عمومی در اینترنت قرار ندهید.
- این کار از سوء استفاده برای DDoS یا amplification attack جلوگیری میکند.
• امنیت در انتقال Zone (Zone Transfer)
- اگر از Secondary Zone یا چند DNS سرور استفاده میکنید، انتقال zone (zone transfer) باید فقط بین سرورهای معتبر و شناختهشده باشد.
- در صورت امکان از مکانیزمهای امن برای zone transfer استفاده کنید (مثل TSIG اگر تنظیمات آن را دارید).
• ایزوله کردن DNS سرور + تنظیم فایروال / محدودیت دسترسی شبکه
- ترجیحاً DNS سرور را در VLAN یا شبکه جداگانه قرار دهید تا اگر سرور compromise شد، مهاجم نتواند با سادگی به همه سرویسهای سازمانی دسترسی پیدا کند.
- فایروال (مثل Windows Firewall یا فایروال شبکه) را طوری تنظیم کنید که فقط پورتهای مورد نیاز (TCP/UDP 53 برای DNS) باز باشد؛ تمام پورتها و سرویسهای غیرضروری را مسدود کنید.
• فعالسازی Logging و مانیتورینگ فعالیت DNS
- با فعال کردن لاگگیری DNS (DNS query logging)، تغییرات zone، zone transfer و سایر رویدادها — شما میتوانید فعالیتهای مشکوک را شناسایی کنید.
- همراه با ابزارهای تحلیل (یا SIEM / IDS سازمانی) تغییرات ناگهانی یا spike در ترافیک DNS را پایش کنید تا در صورت حمله سریع واکنش دهید.
• نگهداری منظم و بهروزرسانی سیستم
- سیستم عامل ویندوز سرور و نقش DNS باید همیشه با آخرین patchها بهروز باشند؛ بسیاری از exploitها روی ضعفهای قدیمی اجرا میشوند.
- پشتیبانگیری (backup) منظم از zoneها، تنظیمات DNS و (در صورت استفاده از DNSSEC) کلیدها — برای بازیابی سریع در صورت بروز مشکل یا compromise.
اتصال DNS به اکتیودایرکتوری
وقتی DNS به AD متصل میشود، zoneها در پایگاه داده AD ذخیره میشوند و دادههای DNS توسط سازوکار replication خود AD بین همه کنترلکنندههای دامنه (Domain Controllers) توزیع میشود. نیازی به پیادهسازی دستی zone transfer و تنظیمات جداگانه برای DNS replication نیست.
همچنین با AD-Integrated DNS میتوانید از «secure dynamic updates» استفاده کنید، یعنی فقط کامپیوترها یا سرورهای معتبر (عضو دامین) بتوانند رکوردهای DNS را بهروز کنند — این موضوع امنیت و مدیریت DNS را بسیار تسهیل میکند.
ادغام DNS و AD باعث میشود که وقتی یک Domain Controller جدید اضافه میشود، zone و رکوردهای DNS بهصورت خودکار به آن منتقل (replicate) شوند؛ این انعطاف و پایداری شبکه را افزایش میدهد.
مراحل اتصال و پیکربندی DNS به AD (AD-Integrated DNS) در Windows Server
- سرور ویندوز باید نقش DNS Server نصب شده باشد.
- سرور باید عضو دامنه (Domain Controller) باشد یا روی کنترلکننده دامنه اجرا شود — ادغام DNS با AD فقط وقتی ممکن است که سرور، Writable DC باشد.
ایجاد (یا تبدیل) Zone به AD-Integrated
روش GUI (DNS Manager):
- کنسول DNS Manager (
dnsmgmt.msc) را باز کنید. - روی
Forward Lookup Zonesراست-کلیک →New Zone…انتخاب کنید. - در ویزارد، “Primary zone” را انتخاب کنید و سپس تیک گزینه Store this zone in Active Directory (یا معادلش) را بزنید.
- در مرحله بعد، از شما سوال میشود که DNS data (zone) در چه قلمروی (Replication Scope) در AD ذخیره شود — معمولاً “All DNS servers in the domain” یا “All DNS servers in the forest” انتخاب میشود با توجه به ساختار سازمانی شما.
- نام zone (مثلاً
corp.company.local) را وارد کنید و wizard را به پایان برسانید. - اگر zone قبلاً بهصورت فایل-بیس یا Standard بود، میتوانید آن را نیز به AD-Integrated تبدیل کنید: در DNS Manager روی zone راست-کلیک → Properties → General → Change → تیک گزینه “Store zone in Active Directory”.
روش PowerShell (آماده برای خودکارسازی):
Add-DnsServerPrimaryZone -Name "corp.company.local" -ReplicationScope "Domain"
(یا اگر میخواهید در سراسر forest replicate شود، -ReplicationScope "Forest")
خطاهای رایج در DNS ویندوز سرور و روش رفع
| مشکل / خطا / سناریو | علل محتمل | راهکار / توصیه |
|---|---|---|
| عدم پاسخدهی DNS (time-out, request refused, server failure) | تنظیم اشتباه IP یا subnet، DNS server خاموش یا سرویس DNS متوقف، سرور DNS فقط روی آدرس خاصی لیسن میکند (NIC Binding)، یا فایروال/پورت مسدود است. | 1. با ipconfig /all تنظیمات IP/subnet/default gateway را بررسی کنید. 2. مطمئن شوید سرویس DNS در سرور اجراست (net start DNS یا از Services). 3. اگر DNS به یک IP خاص محدود شده (Interfaces tab در DNS console) — بررسی کنید آدرس تماسگیرنده در آن لیست باشد یا تنظیمات را تصحیح کنید. 4. پورت 53 (UDP/TCP) در فایروال باز باشد. |
| رکوردها یا zoneها “ناپدید” میشوند یا resolve نمیشوند | ممکن است تنظیمات Aging & Scavenging اشتباه باشد، یا dynamic updates و حذف/بازنویسی رکوردها توسط DHCP یا کلاینت اشتباه انجام شود. | بازبینی تنظیمات Scavenging/aging در zone — اگر intervalها خیلی کوتاه باشند رکوردها زود حذف میشوند. اگر از DHCP + dynamic DNS استفاده میکنید، مطمئن شوید تنظیمات dynamic update و DNS registration به درستی انجام شدهاند. |
| مشکلات در Zone Transfer (برای Secondary Zone) | Primary سرور تنظیمات transfer ندارد، Secondary در لیست سفید نیست، یا zone transfer به سرور مقصد بلاک شده است. | در Primary DNS console → Zone Properties → تب Zone Transfers — بررسی کنید گزینه “Allow zone transfer” فعال باشد و IP سرورهای ثانویه در لیست باشد. اگر replication scope را عوض کردهاید، پس از تغییر، تنظیمات zone transfer مجدداً بازبینی شود؛ گاهی با تغییر scope، تنظیمات transfer reset میشوند. |
| خطاهای مرتبط با Active Directory / AD-Integrated Zones (مثل Event ID 4004 / 4013) | DNS روی سروری اجرا میشود که AD service به درستی بالا نیامده، یا zone AD-integrated به درستی load نشده است. | در این حالت: ابتدا AD را بررسی کنید (Replication, Directory Service). سپس سرویس DNS را restart کنید. اگر zone AD-integrated دارید و zone load نمیشود، ممکن است لازم باشد zone را مجدداً recreate کنید یا state AD را restore نمایید. |
| پس از تغییر گزینه replication scope — تنظیمات zone transfer از بین رفته است | این مشکل شناختهشدهای است: وقتی که replication scope تغییر داده شود، تنظیمات Allow Zone Transfers ممکن است reset شود. | پس از تغییر scope، بلافاصله به Zone Properties → Zone Transfers بروید و تنظیمات Allow / list of secondary servers را دوباره تنظیم کنید. |
بکاپگیری و بازیابی دی ان اس در ویندوز سرور
برای حفظ پایداری شبکه، همواره باید از تنظیمات و دادههای DNS بکاپ گرفته و طرح بازیابی (restore) داشته باشید. چند روش مرسوم:
روشهای بکاپ DNS
سادهترین روش: بکاپ گیری از فایلهای zone و ریجستری DNS. در سرور DNS، به مسیر %SystemRoot%\System32\DNS\ بروید و فایلهایی با پسوند .dns را کپی کنید. همچنین ریجستری زیر را EXPORT کنید: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\DNS Server\Zones و …\CurrentControlSet\Services\DNS\Zones.
اگر zoneها AD-Integrated هستند: بهترین گزینه گرفتن snapshot یا System State Backup یا استفاده از ابزارهایی مانند RecoveryManager Plus برای بکاپ کامل DNS + AD است. این ابزارها میتوانند zoneها و رکوردها (A, CNAME, MX, PTR, SRV, …) را با metadata + permissions ذخیره کنند.
توصیه میشود بکاپ را به صورت منظم (بسته به تغییرات zoneها) انجام دهید: برای zoneهای ثابت ممکن است هفتهای یا ماهی یک بار کافی باشد، اما در محیط با تغییرات زیاد، بکاپ روزانه یا مبتنی بر رویداد (event-driven) بهتر است.
بازیابی (Restore) DNS
اگر zoneها فایل-بیس هستند: فایلهای .dns و ریجستری را به مسیر اصلی برگردانید، سرویس DNS را ریاستارت کنید.
اگر zoneها AD-Integrated هستند و zone حذف یا خراب شده است: میتوانید با System State Backup یا با ابزار RecoveryManager Plus zone + رکوردها + تنظیمات را برگردانید. این روش امکان بازیابی zoneهای حذفشده را نیز میدهد.
بعد از restore، حتماً TTL رکوردها و تنظیمات DNSSEC (اگر فعال بود) را بررسی کنید؛ اگر zone امضا شده بود، کلیدها و امضاها نیز باید بازگردانده شوند تا اعتبار DNSSEC حفظ شود.
ویدیو بررسی DNS بر روی ویندوز سرور
جمعبندی
راهاندازی و مدیریت DNS روی ویندوز سرور، از نصب نقش DNS تا پیکربندی امنیتی و اتصال به Active Directory، یکی از ستونهای حیاتی شبکههای سازمانی است. با رعایت اصول امنیتی مانند DNSSEC، کنترل دسترسی، محدود کردن recursion و مانیتورینگ مستمر، میتوان از حملات Spoofing و Cache Poisoning جلوگیری کرد. ادغام DNS با AD نهتنها مدیریت و replication دادهها را سادهتر میکند، بلکه با استفاده از Secure Dynamic Updates امنیت و صحت رکوردها را تضمین میکند. علاوه بر این، آشنایی با خطاهای رایج، روشهای رفع آنها و انجام بکاپگیری منظم از zoneها و تنظیمات، تضمین میکند که شبکه در صورت بروز مشکل یا تغییرات ناخواسته، به سرعت بازیابی شود و پایداری سرویسهای حیاتی سازمان حفظ گردد.






