تا به حال از خودتان پرسیدهاید که چطور با نوشتن سطری ساده و فشردن تنها یک دکمه به دنیایی از اطلاعات دسترسی پیدا میکنید؟ قطعا این اتفاق به همین سادگیها پیش نمیآید و رسیدن به این حجم از دسترسی مدیون نیرویی فراتر از تنها یک کلیک است!
اما چه چیزی ما را به آدرس اینترنتی مورد نظرمان میرساند؟ اصلا چگونه در میان میلیاردها نام و آدرس، ما مستقیما به آدرس موردنظرمان ارجاع داده میشویم؟ خب همهی اینها را سرویسی به نام dns و سرورهای گوناگون آن برای ما فراهم میکنند. اگر کنجکاوی امانتان را بریده است، پاسخ تمام سوالاتتان را در این مطلب پیدا خواهید کرد.
DNS سرورچیست؟
شاید شما هم از خود پرسیده باشید که ما چگونه به اینترنت متصل میشویم و چطور با تایپ کردن نام یک وبسایت، بدون مشکل و کم و کاستی درست به همان آدرس موردنظرمان هدایت میشویم. خب برای پاسخ به این سؤال، بهتر است که داستان را از ابتدا بررسی کنیم.
هنگامی که سایتی ساخته میشود، برای ثبت آن نیاز به یک نام یا همان نام دامنه وجود دارد. سیستم نام دامنه یا dns سیستمی است که به شما اجازه میدهد نام دامنهی خود را به یک IP تبدیل کنید. در نهایت IPها که درواقع کد شناسایی هر دستگاه یا دامنه هستند، به کاربران کمک میکنند که با وارد کردن نام سایت در نوار آدرس، مستقیما به سایت شما هدایت شوند.
شاید در نگاه اول این فرایند کاملا ساده به نظر برسد، اما واقعیت این است که شما برای ردیابی و شناسایی IP مدّ نظر خود به نصب دی ان اس سرور نیازمندید. DNS سرور یک مرکز داده یا دیتابیس عظیم است که مجموعهای از دامنهها و IPهای مرتبط با این دامنهها را در آن ثبت میکنند.
این سرورها با سرورهای دی ان اس دیگر در سرتاسر جهان در ارتباط هستند. بنابراین با ثبت نام دامنهی شما در سرور دی ان اس محلیتان، در عرض ۴۸ ساعت توسط سایر سرورها شناسایی خواهید شد و افراد میتوانند در هر نقطه از این کرهي خاکی به وبسایت شما دسترسی پیدا کنند.
تاریخچهی مختصری دربارهی DNS
شبکهی آژانس تحقیقات پیشرفته یا ARPANET در سال ۱۹۶۶ تاسیس شد. این شبکه که میتوان آن را پدربزرگ اینترنت نامید، به منظور اتصال مراکز تحقیقاتی سراسر ایالات متحده به یکدیگر و افزایش سرعت تبادل اطلاعات خلق شده بود.
با گذشت سالها از تاسیس این سیستم، تعداد دستگاههای متصل به شبکهی ARPANET افزایش پیدا کرد و در سال ۱۹۸۰ حدود ۳۲۰ دستگاه به این سیستم متصل بودند. همین موضوع مدیریت و نگهداری از سیستم را برای کارکنان آن دشوار میکرد و با پیچیدهتر شدن کدهای IP هر دستگاه، به خاطر سپردن این اعداد برای کاربران نیز سختتر میشد.
اما طولی نکشید که این مشکل به دست یک دانشمند کامپیوتر تازهکار به نام پل موکاپتریس (Paul Mockapetris) در سال ۱۹۸۳ برطرف شد. موکاپتریس و تیمش با ایجاد یک سرویس غیرمتمرکز و جایگزینی آن با سرویس متمرکز HOSTS.TXT، کار را برای کاربران سادهتر کردند. این سرویس که دی ان اس یا سرویس نام دامنه نام داشت، با ایجاد IP منحصر برای هر نام دامنه، کاربران را از بهخاطر سپردن اعداد طولانی و رندم بینیاز میکرد.
کاربرد و هدف DNS Server
همانطور که پیش از این گفتیم، هر وبسایت یا دستگاهی برای اتصال به شبکه نیازمند IP مشخصی است که به عنوان کد شناسایی آن دستگاه یا وبسایت عمل میکند. از آنجا که اینترنت نیز نوعی شبکه به حساب میآید، بنابراین استفاده از آن نیازمند داشتن یک کد اختصاصی است. این کدها که در قالب اعداد ارائه میشوند شناسایی ما را برای دستگاهها و سرورهای گوناگون سادهتر میکنند.
اما بهخاطر سپردن کد شناسایی هر سایت کار بسیار دشواری است و هیچکس نمیتواند این همه عدد و شماره را بهیاد بیاورد. تبدیل این کدها به یک نام قابل درک برای انسان، توسط سیستم DNS امکانپذیر است. اما این سیستم برای تعامل با سایر آدرسهای موجود در اینترنت به یک جایگاه یا سکوی پرتاب نیاز دارد.
دی ان اس سرورها به همین منظور به وجود آمدهاند. در واقع این سرورها مکانی برای تجمع IPهای گوناگون هستند که میتوانند این کدها را به زبانی قابل فهم ترجمه کنند و آن را در اختیار سرورهای دیگر قرار دهند. بنابراین میتوانیم بگوییم که هدف اصلی دی ان اس سرورها ایجاد یک ایستگاه مجازی برای تبدیل آدرسهای IP گوناگون به نام دامنه یا بالعکس است.
Name Resolution چیست؟
Name Resolution در واقع به فرایند بازیابی مقادیر عددی به کار رفته در نام هاست کامپیوتر، نام کاربری، نام گروه و اسامی دیگر مرتبط با شبکه و کامپیوتر اشاره دارد. فرایند Name Resolution در سیستم شبکه، برای به دست آوردن IP سایتها و دستگاهها به کار میرود.
بنابراین درصورتی که نام دامنه یا همان آدرس سایت با حروف و کلمات مشخص باشد و آدرس IP این سایتها برای برقراری ارتباطات در دسترس نباشد، سرور DNS با استفاده از Name Resolution آن را به کد IP ترجمه و برقراری ارتباط با آدرس یا دستگاه موردنظر را سادهتر میکند.
این فرایند در سیستم نام دامنه، سرویس اطلاعات شبکه و همچنین دی ان اس چند بخشی قابل استفاده است. در مقابل این فرایند، فرایند دیگری به نام Reverse name resolution وجود دارد که عملکردی کاملا برعکس دارد. این فرایند میتواند با دریافت کدهای عددی IP آنها را به نام ترجمه و به این ترتیب مسیر ارتباطی بین دو سوی شبکه را هموار کند.
آیا DNS سرورها انواع مختلفی دارند؟
DNS سرورها دارای انواع گوناگونی هستند که اغلب در سه گروه دستهبندی میشوند:
- DNS Resolver: این دی ان اس سرور که به سرور بازگشتی نیز شهرت دارد، مسئول دریافت درخواستهای دی ان اس است. این سرور شامل یک نام هاست قابل درک برای انسانهاست (برای مثال www.google.com) و وظیفهی ردیابی آدرس IP این نام هاست را برعهده دارد. به بیان بهتر، سرورهای بازگشتی با داشتن نام یا آدرس سایت، کد شناسایی عددی نام دامنه یا هاست را برای شما پیدا میکنند.
- DNS Root Server: سرور روت یا ریشه، اصلیترین سرور در بین انواع گوناگون دی ان اس و اولین قدم در مسیر دستیابی به IP است. این سروسها از سوی سازمانهای متفاوتی کنترل میشوند و بهطور کلی ۱۳ سرور ریشه در دنیا وجود دارد که با حروف A تا M نامگذاری شدهاند.
این سرورها توسط کنسرسیوم سیستمهای اینترنتی همچون Verisign ، ICANN ، دانشگاه مریلند و آزمایشگاه تحقیقات ارتش ایالات متحده اداره میشوند و مسئولیت بازتاب دادن درخواستهایی را که از سوی سرورهای بازگشتی ارسال میشوند، برعهده دارند. سرور ریشه این درخواستها را برای دامنههای سطوح بالاتر یا TDL ارسال میکند تا درخواست کد IP در سطوح بالاتری بررسی شود.
- Authoritative DNS Server: دیاناس سرور Authoritative آخرین سرور در فرایند پیدا کردن کد IP است. این سرور نام هاست را دریافت میکند و در پاسخ IP صحیح آن را در اختیار سرور بازگشتی قرار میدهد و در صورتی که موفق به پیدا کردن IP نشود پیغام NXDOMAIN را برای سرور بازگشتی ارسال میکند.
از آنجا که سرویس دیاناس دارای سیستم سلسله مراتبی است، معتبر بودن یک سرور از طریق سرورهای سطح بالای این هرم سلسله مراتبی تعیین میشود. این موضوع یعنی سرور انتخابی حاوی بهروزترین اطلاعات درمورد نام هاست مورد نظر است.
آیا استفاده از DNS server در شبکه ضروری است؟
سوالی که شاید ذهن بیشتر ما کاربران اینترنت را به خود مشغول کند این است که آیا استفاده از سرور DNS در شبکه ضروری است؟ خب، باید بگوییم که پاسخ این سوال کمی دو پهلو و مبهم است. هم آری و هم خیر! خوشبختانه شما میتوانید بدون مدیریت سرور دیاناس و ایجاد سابقه برای آن به اینترنت متصل شوید، اما این اتصال چندان ساده نیست! چرا که متصل شدن به دامنه ها و هاستهای گوناگون نیازمند دانستن کد IP هر یک از آنهاست.
پس بدون سرور DNS باید فهرستی از کدهای عددی یا همان کدهای شناسایی شبکه یا سرورهای مختلف را در اختیار داشته باشید تا بتوانید با وارد کردن آن کد خاص در نوار آدرس مرورگر خود، به مقصد نهایی برسید. اما از آنجا که تهیهی این لیست و گشتن در میان آنها کاری طاقت فرساست، پس لازم است که به یک سرور دی ان اس دسترسی داشته باشید تا بتوانید از میان میلیونها IP و نام هاست موجود در این دیتابیس عظیم، آدرس موردنظر خود را پیدا کنید.
برای دسترسی به این سرور تنها کافی است IP سرور دی ان اس را در اختیار داشته باشید. ایجاد این دسترسی کار سادهای است، چرا که شرکت ارائهدهندهی سرویس اینترنت یا همان ISP شما این کار را برایتان انجام خواهد داد.
DNS سرور چگونه کار میکند؟
همانطور که در بخش معرفی انواع DNS سرور اشاره کردیم، این سرور و سرورهای دخیل در فرایند پیدا کردن IP، از قاعدهای سلسله مراتبی پیروی میکنند. هنگامی که شما آدرس سایت موردنظر خود را درون نوار آدرس مرورگر تایپ میکنید و دکمهی اینتر را فشار میدهید، درخواست شما توسط سرور دی ان اس بازگشتی یا Resolver دریافت میشود.
ریسُلور برای یافتن IP مد نظر شما، درخواستتان را به اولین و اصلیترین سرور دیاناس موجود در فرایند ارسال میکند. این سرورهای جدید که چیزی جز سرور ریشه نیستند، همگی دارای آدرس IP یکسانی هستند. بنابراین نزدیکترین سرور ریشه درخواست شما را از سرور بازگشتی تحویل میگیرد.
از آنجا که این سرورها اطلاعی از هاست دامنهی شما ندارند، با توجه به ویژگیهای نام دامنه و پیدا کردن مشابهترین هاست در بایگانی خود، مناسبترین دامنهی سطح بالا را برای درخواست شما پیدا میکنند.
سرور بازگشتی در این موقعیت یک درخواست جدید برای IP به دست آمده از سرور ریشه که درواقع مسئول ارتباط با دامنههای سطح بالاست، ارسال میکند. با ارسال این درخواست، سرور در بایگانی محلی خود جستوجو میکند تا موردی مشابه با درخواست شما پیدا کند.
درصورتی که پاسخ شما در این بخش نباشد، این دامنه تنها یک IP مشابه که متعلق به سرور نام سایت درخواستی شماست را برایتان پیدا میکند. حالا سرور بازگشتی درخواست دیگری را ایجاد میکند و این بار از سرور نام میخواهد تا IP آدرس لازم را برایش پیدا کند. معمولا معتبرترین سرور نام که آن را با نام Authoritative میشناسیم، با بررسی بایگانی خود IPای که به آن نیاز دارید را در اختیارتان میگذارد.
چگونه می توان یک DNS Server راه اندازی کرد؟
راهاندازی یک DNS سرور برای افرادی مناسب است که صاحب وبسایت هستند یا شبکهای از کامپیوترها و سایر دستگاهها راه اندازی کردهاند. پس اگر وبسایت یا شبکهتان آماده است و میخواهید آن را برای دسترسی هرچه بهتر کاربران مجهز کنید، میتوانید با عبور از مراحل زیر سرور دیاناس خود را نصب کنید.
توجه داشته باشید که دی ان اس سرور باید بر روی ویندوز سرور نصب شود و نصب آن روی ویندوزهای معمولی انجام نمیشود:
- Server Manager را باز کنید و وارد بخش Add roles and features شوید؛
- با انتخاب Add roles and features پنجرهای برایتان ظاهر میشود که توضیحات لازم برای شروع فرایند را در اختیارتان قرار میدهد. در این مرحله باید روی گزینهی next کلیک کنید؛
- حال وارد بخش installation type میشوید که میتوانید در آن نوع نصب سرور را انتخاب کنید. role-based or feature-based installation گزینهای است که بهصورت پیشفرض برایتان انتخاب شده است، بنابراین بدون ایجاد تغییر گزینهی next را انتخاب کنید؛
- حالا نوبت به انتخاب مقصد نصب سرور میرسد. در این بخش نیز گزینهی مناسب (select a server from server pool) برایتان انتخاب شده است و میتوانید بهراحتی وارد بخش بعدی شوید؛
- در بخش server roles باید سرویس موردنظر خود را انتخاب کنید. بنابراین در فهرست پیش رو به دنبال DNS Server بگردید و تیک آن را فعال کنید؛
- با فشردن next پنجرهای از توضیحات برایتان نمایش داده میشود که باید گزینهی Add Features آن را انتخاب کنید؛
- دو مرحلهی بعد مربوط به features و DNS Server است که کافی است از آنها با فشردن دکمهی next بگذرید؛
- در نهایت با فشردن گزینهی install نصب سرور خود را آغاز کنید؛
- پس از اتمام نصب، نوبت به راهاندازی و انجام تنظیمات سرور میرسد. برای این کار کافی است در بخش جستوجوی ویندوز خود کلمهی DNS را تایپ کنید و با انتخاب سرور وارد پنل مدیریت آن شوید؛
- با ورود به پنل مدیریتی سرور متوجه میشوید که بخش zone تعریف نشده است. بنابراین باید با کلیک روی Forward Lookup Zones گزینهی new zone را انتخاب کنید؛
- حالا پنجرهای ظاهر میشود که شما با عبور کردن از آن وارد پنجرهی zone type میشوید. نوع دامنهی شما در این بخش بهصورت پیشفرض روی Primary zone قرار دارد که نیازی به تغییر آن نیست؛
- حالا نوبت به انتخاب نام zone میرسد که میتوانید در کادر پیش روی خود نام دامنه را وارد کنید؛
- در پنجرهی zone file فایل دامنه شما بهصورت پیشفرض موجود است و نیازی به تغییر نیست. در پنجرهی بعدی میتوانید امکان بهروز رسانی خودکار را برای خود فعال یا غیر فعال کنید. این امکان بهصورت پیش فرض غیر فعال است و بهتر است آن را در همین حالت رها کنید؛
- حالا شما یک دامنهی تعریف شده در سرور دیاناس خود دارید که منتظر اضافه شدن رکوردهاست. پ A Record یا Address Mapping Record یکی از مهمترین رکودهایی که است که وظیفه ذخیرهسازی نام هاست و کد IP شما را برعهده دارد؛
- با راست کلیک روی صفحهی خالی از منوی ظاهر شده گزینهی New Host (A or AAA…) را انتخاب کنید؛
- حالا باید ۴ A Record ایجاد کنید و به ترتیب اولی را با آدرس IP، دومی را با www به جای نام و آدرس آی پی و در نهایت سومی و چهارمی را با ns1 و ns2 به جای نام و آدرس آی پی پُر کنید؛
- اکنون در منویی که پیش روی شما است روی رکورد ns کلیلک کنید و گزینهی properties را انتخاب کنید. در منوی باز شده، در تب Name Servers درصورت وجود یک نام در باکس، آن را remove کنید و با فشردن add آدرس دامنهی خود را به همراه پیشوند ns1 وارد کنید. فراموش نکنید که باکس آی پی را نیز پر کنید. این کار را برای ns2 نیز تکرار کنید؛
- سپس وارد تب Start of Authority(SOA) شوید و در بخش Primary server روی گزینهی Browse کلیک کنید. در این پنجره وارد zone خود شوید و رکورد ns1 را انتخاب کنید و گزینه ok را بفشارید؛
- حالا در پنل مدیریت سرور، در منوی سمت چپ روی اولین گزینه که اسمی مشابه با win-jts28dp0ja1 دارد کلید کنید و با ورود به بخش properties تیک Disable recursion را بزنید. به همین سادگی میتوانید سرور دیاناس خود را نصب و راهاندازی کنید.
اگر صاحب وبسایت هستید و دوست دارید یکی از برترین وبسایتهای موجود در این شبکهی جهانی شوید یا شبکهی کامپوتری راه اندازی کردهاید، قدرت سرور dns را دست کم نگیرید برای راه اندازی DNS Server حتما از کمک یک متخصص استفاده کنید تا نام دامنهی شما هرگز در هزارتوی پرپیچ و خم سرورها و شبکهها گم نشود. اگر دانش کافی را ندارید، هرگز خودتان دی ان اس سرور را نصب نکنید چرا که این کار یک کار کاملا تخصصی است و به تنظیمات دقیقی نیاز دارد.
:reference
bloginternal.cloudns.net/blog/dns-history-creation-first