پیکربندی و تنظیم DNSدر Multi-Domain
وقتی ما یک Forest با Domain های متعدد داشته باشیم، نحوه پیکربندی DNS فرق میکند. در شکل زیر نمونه یک دیاگرام اکتیو دایرکتوری را مشاهده میکنید که در این محیط اکتیو دایرکتوری ما یک Forest به همراه دو Child Domin داریم .
در شکل بالا یک پیکربندی غلط برای اکتیو دایرکتوری در East.Contoso.Com انجام شده و آن این است که از Public IP استفاده شده است.
خوب همانطور که گفته شد ip ها اشتباه بود، پس ip های جدید برای دومین کنترولرها در نظر میگیریم. سپس برای بهتر توضیح دادن، برای هر دومین کنترولر یک اسم فرضی میگذاریم. حال سوالی که پیش میاید این است آیا احتیاج داریم Zone مربوط به Contoso.com در کل Forest توسط عملیات Replication رد و بدل شود و همه سرورهای DNS در تمام دومین ها همین Zone مربوط به Contoso.com را داشته باشند که اگر اینطور باشد کار راحت است و احتیاجی به Delegation نداریم . اما ما میخواهیم که ادمین های مربوط به Child Domain ها بتوانند تغییرات DNS را روی Zone خودشان بدهند و از طرفی نمیخواهیم به غیر از ادمین های Parent Domain ، ادمین های Child Domain های دیگر رکوردهای DNS داخل Contoso.com را مشاهده کنند، برای همین ما از Delegation استفاده میکنیم (یا بطور مثال ادمین East.Contoso.com برای چه باید بداند در West.Contoso.com چه DNS رکوردهایی وجود دارد ). حال ست کردن DNS Client بر روی DC1 در Contoso.com:
Preferred :172.16.40.2
Alternate:172.16.40.1
Alternate:172.16.40.3
حال ست کردن DNS Client بر روی DC2 در Contoso.com
Preferred :172.16.40.3
Alternate:172.16.40.2
حال ست کردن DNS Client بر روی DC3 در Contoso.com
Preferred :172.16.40.1
حال ست کردن DNS Client بر روی DC1 در West.Contoso.com
Preferred :10.10.100.2
Alternate:10.10.100.1
Alternate:10.10.100.3
حال ست کردن DNS Client بر روی DC2 در West.Contoso.com
Preferred :10.10.100.3
Alternate:10.10.100.2
حال ست کردن DNS Client بر روی DC3 در West.Contoso.com
Preferred :10.10.100.1
Alternate:10.10.100.2 حال ست کردن DNS Client بر روی DC1 در East.Contoso.com
Preferred :192.168.10.2
Alternate:192.168.10.1
حال ست کردن DNS Client بر روی DC2 در East.Contoso.com
Preferred :192.168.10.1
Alternate:192.168.10.2
سپس در همه Domain ها چک میکنم که Reverse Lookup Zones وجود دارد و آیا درست است. اگر وجود ندارد آن را ایجاد میکنم و اگر اشتباه است آن را حذف کرده و دوباره ایجاد میکنم .
سپس داخل Contoso.com را در Forward Lookup Zones چک میکنم که :
برای هر child Domain یک Delegation وجود داشته باشد، اگر نبود خودم میسازم .
کورد NS با آدرس IP درست برای هر Child Domain ست شده باشد .
حال سوالی که پیش میاید این است :
سرورهای DNS در Parent Domain میتوانند رکوردهای موجود در Child Domain ها را پیدا کنند، اما سرورهای DNS در Child Domain ها چگونه رکوردهای Parent Domain را پیدا کنند!!؟
برای اینکار ما دو راه داریم :
روی سرورهای DNS مربوط به Child Domain ها، در تب Forwarders برای هر آدرس IP مربوط به سرورهای DNS مربوط به Contoso.com را ست کنیم .
روی سرورهای DNS مربوط به Child Domain ها، یک Conditional Forwarders به سمت Contoso.com ایجاد کنم .
و دوباره سوالی که پیش میاید این است که کدام بهتر است؟
برای پاسخ دادن به این سوال (کدام بهتر است)، باید اول بدانیم که فرق این دو چیست؟
از تب Forwarders وقتی استفاده میکنم که هر query که سرور DNS خودم نتواند در رکوردهای خود پیدا resolve کند، به آدرس سرور DNS که در تب Forwarders ست شده ارسال کند و از آن سوال کند .
از Conditional forwarders زمانی استفاده میکنم که دقیق�� نام دومین و IP آن را میدانم، پس احتیاجی ندارم که query را به سمت یک سرور DNS دیگر ارسال کنم، آدرس را بدست بیاورم و از آن استفاده کنم .
حال دلیل اصلی استفاده از Conditional forwarders را با یک مثال ساده بیان میکنم :
اگر من آدرس سرورهای DNS مربوط به Contoso.com را در تب Forwarders سرورهای DNS مربوط به Child Domain ها ست کنم، این اتفاق پیش میاید که کلاینت من وقتی میخواهد یک سایت (بطور مثال Shafagh.com) را در اینترنت پیدا کند، یکquery به سمت سرورهای DNS مربوط به Contoso.com هم ارسال میکند که این سبب ترافیک بیمورد میشود، اما اگر من از Conditional forwarders استفاده کنم، فقط زمانی که کلاینت من احتیاج به resolve کردن یک نام یا IP که مربوط به Contoso.com میباشد را داشته باشد، به سمت سرورهای DNS مربوط بهContoso.com ارسال میشود، پس بار ترافیکی من کمتر میشود .
در آخر برای اینکه ببینیم تغییرات اعمال شده، روی کلاینت دستور IPCONFIG /ALL را اجرا میکنیم باید در قسمت DNS Suffix Search List نام دومین های مربوطه نشان داده شود.
Patris_70 edited Revision 3. Comment: added more tag
Patris_70 edited Revision 2. Comment: completed
Carsten Siemens edited Revision 1. Comment: fixed typos
Patris_70 edited Original. Comment: not completed
Good one!
Thanks Payman