مسائل سخت افزاری مرتبط با پیاده سازی شبکه، مانند فروش سرور، یا تهیه کردن قطعات مرتبط با شبکه، تنها بخشی از اقدامات لازم برای ایجاد یک شبکه است. در کنار این موارد، موارد دیگر نرم افزاری نیز لازم است که تنظیم dns یکی از این موارد است. در این مقاله میخواهیم درباره DNS و وظیفه آن صحبت کنیم. بررسی میکنیم که رکورد DNS و خطای dns چیست و چطور میتوان dnsرا تغییر داد و تنظیم کرد. با توسعه شبکه آداکهمراه باشید.
- وظیفه dns چیست؟
- تاریخچه dns
- رکورد DNS چیست؟
- DNS چطور کار میکند؟
- DNS Caching چیست؟
- حطای DNS چیست؟
- تغییر dns چیست؟
- چگونه dns را تنظیم کنیم؟
- dns ابری چیست؟
وظیفه dns چیست؟
پروتکل dns چیست؟ DNS – Domain Name System یکی از اجزای مهم اینترنت است و همگی هر روز از آن استفاده میکنیم چه ایمیل چک کنیم چه با موبایل در شبکه های اجتماعی بچرخیم. در واقع هنگام تعامل با وب همواره از رکورد dns استفاده میکنیم که البته در پس زمینه کار میکند و متوجه آن نمیشویم.
سرویس dns چیست؟ برای اینکه نامها برای کامپیوتر قابل فهم باشد باید آنها را به IP آدرس تبدیل کنیم. این کار را dns انجام میدهد. dns نامها و آی پی آدرسها را دارد و مثل دفتر تلفن یا لیست مخاطبین در موبایل کار میکند.
برای اینکه درباره IP بیشتر بدانید پیشنهاد میکنیم مقاله “ip چیست؛ انواع آی پی و کاربردهای آن” را مطالعه کنید.
تاریخچه dns
خیلی قدیم که تعداد کامپیوترها و کاربران اینترنت کم بود میتوانستیم با همان IP آدرسها صفحات مورد نظرمان را باز کنیم اما با افزایش تعداد کاربران اینترنتی، حفظ کردن اعداد و ارقام سخت شد. حفظ کردن کلمات راحتتر است پس نام دامنه به وجود آمد. برای آشنایی با نام دامنه مقاله “دامنه چیست؟” را بخوانید. اولین بار در اوایل سالهای ۱۹۸۰ فردی به نام الیزلبت فینلر، لیستی از تمام نامها و آدرسهای کامپیوترهای متصل به اینترنت را فراهم کرد و در فایلی با نام host.txt قرار داد.
در سال ۱۹۸۳ فردی به نام پل مک پتریس، سیستم متفاوتی ارایه داد که همچنان اساس کار DNS ها است.
رکورد dns چیست؟
DNS Record دیتابیسی است که URL ها را به IP آدرس مپ میکنند یعنی دامنه و زیردامنه را به IP آدرس مربوطهاش متناظر میکند. وقتی URL مثل falnic.com را در مرورگر میزنید، این درخواست به ISP و سپس به DNS سرور ارسال میشود.
بدین ترتیب کامپیوتر کارش را با اعداد و ارقام پیش میبرد و کاری با دامنههایی که قابل خواندن برای انسان است ندارد. بدین ترتیب کاربر به وب سرور مناسب که IP آدرس متناظر دارد هدایت میشود.
رکوردهای DNS شامل یک سری فایلهای متنی با نام DNS Syntax است. DNS Syntax رشتهای از کاراکترها هستند که به عنوان دستور استفاده میشود تا به DNS سرور بگوید چکار کند و چگونه به درخواست پاسخ دهد.
در ادامه برخی از رایجترین سینتکسهای dns را بررسی میکنیم:
رکورد A: این رکورد، به IP آدرس واقعی متناظر با دامنه اشاره دارد.
رکورد CNAME: آدرس IP نمیدهد و برای مشخص کردن زیردامنههایی که ممکن است با دامنه کنونی شما مجتمع باشند است.
رکورد MX: ارجاع Mail به Mail سرور
رکورد TXT: ادمین میتواند Text Note به رکورد اضافه کند.
رکورد NS: رکورد NS در DNS چیست؟ نشان میدهد کدام Name Server ای در حال حاضر برای دامنه شما استفاده میشود.
رکورد SOA: ادمین میتواند اطلاعات دامنه را اضافه کند.
رکورد SRV: قسمتی از سرویسهای خاص را مشخص میکند.
رکورد PTR: نام دامنه را برای reverse-lookup فراهم میکند.
تمام دامنهها باید حداقل چند رکورد اصلی dns داشته باشند تا کاربر بتواند با استفاده از نام دامنه به وب سایت دسترسی یابد. اما تعدادی رکرود آپشنال هم وجود دارد.
تمام رکوردهای DNS دارای TTL هستند که مخفف Time To Live است و مشخص میکند dns سرور هر چند وقت یکبار آن رکورد را رفرش کند. برای آشنایی با TTL مقاله “TTL در پینگ چیست و چگونه کاهش و افزایش پیدا میکند؟” را مطالعه کنید.
DNS چطور کار میکند؟
تا پایان سال ۲۰۲۰ حدود ۳۳۶.۴ میلیون نام دامنه ثبت شده است. dns ها در سراسر دنیا پخش شدهاند و این نام دامنهها را ذخیره میکنند. این dns ها با هم در ارتباط هستند و اطلاعاتشان را آپدیت میکنند و افزونگی را برای مواقع بروز خرابی فراهم میکنند.
وقتی کامپیوتر شما بخواهد IP آدرس مجتمع با نامه دامنهای را پیدا کند، اول یک درخواست به سرور recursive DNS (نام دیگر آن recursive resolver است) میفرستد. recursive resolver سروری است که در ISP است و recursive resolver های دیگر را میشناسد بدین ترتیب میتواند IP آدرس متناظر با نام سایت را به دست آورد در اصطلاح resolve کند. سرورهایی که اطلاعات لازم را دارند سرورهای authoritative DNS نام دارند.
سرورهای متعددی در سراسر دنیا برای ارایه سرویس dns پراکنده شدهاند. دلیل این پراکندگی، عبارت است از:
- هر دامنه میتواند متناظر با چند IP آدرس باشد. برخی سایتها صدها آی پی آدرس دارند که متناظر با یک نام دامنه است. مثلا سروری که کامپیوتر شما برای رسیدن به سایتی (مثلا google.com) استفاده میکند با سروری که کامپیوتر دیگری در کشور دیگری برای رسیدن به همان سایت استفاده میکند کاملا فرق دارد.
- اگر دایرکتوری dns فقط روی یک سیستم باشد، مدت زمانی که طول میکشد تا پاسخ خود را هنگام جستجوی سایتی بگیرید بسیار زیاد است چون ممکن است میلیونها یا میلیاردها فرد دیگر همزمان با شما بخواهند به همان آدرس دست یابند. در نتیجه خیلی طول خواهد کشید تا به دفتر تلفن دست یابید.
فرض کنید میخواهیم به سایت falnic.com برویم. اتفاقات به شرح زیر است:
- درخواست IP آدرس به recursive resolver ارسال میشود. recursive resolver دیگر سرورهای dns را برای آن که از آنها بپرسد و نام سایت را با آدرس آی پی آن Resolve کند میشناسد.
- این سرچ به root server میرود. روت سرور، تمام اطلاعات درباره top level domain – TLD مثل .com و .net و .org و غیره را دارد. روت سرورها در سراسر دنیا هستند و سیستم شما به نزدیکترین آنها از نظر جغرافیایی وصل میشود.
- درخواست پس از رسیدن به روت سرور مناسب، به سرورهای TLD که اطلاعات second level domain (کلماتی که قبل از .com هستند) را دارد میرود. در مثال ما میشود falnic.
- درخواست به dns سرور میرود که حاوی اطلاعات سایت و آدرس IP آن است.
- وقتی IP آدرس به دست آمد به کلاینت ارسال میشود تا از آن برای دیدن وب سایت استفاده کنید.
تمام این اتفاقات در چند میلی ثانیه اتفاق میفتد.
DNS Caching چیست؟
اطلاعات dns بین چندین سرور به اشتراک گذاشته میشود. از طرفی اطلاعات سایتهایی که با تازگی بازدید شدهاند، روی کامپیوتر کاربر، Cache میشود. مثلا احتمال اینکه google.com را چندین بار در روز استفاده کنید زیاد است. به جای اینکه هر بار کامپیوتر شما به سرور dns کوئری بفرستد تا IP آدرس آن را پیدا کند، این اطلاعات روی کامپیوترتان ذخیره میشود تا مجبور نباشید به سرور dns دسترسی یابید و نام را با IP آدرس اش resolve کنید.
Caching علاوه بر سرور ISP کاربر، در روترهایی که برای اتصال کلاینتها به اینترنت استفاده میشوند به کار میرود. بدین ترتیب تعداد کوئریهایی که به سمت سرور dns میروند بسیار کم میشود.
خطای dns چیست؟ چگونه رفع می شود؟
خطای DNS یعنی امکان دسترسی به اینترنت وجود ندارد که اگر مکرر اتفاق بیفتد، آزاردهنده است. برخی از مهمترین دلایل خطای dns عبارتند از:
- ممکن است اصلا مشکل از dns نباشد و اتصال به شبکه ایراد دارد. برای بررسی این مورد به قسمت Network and Sharing Center بروید و با اجرای troubleshooter عیب یابی انجام دهید. از دستور ping استفاده کنید تا ارتباط کامپیوترها و روتر متصل به dns را بررسی کنید. مثلا با ۸.۸.۸.۸ پینگ کنید. اگر خطای Request timeout دریافت کردید یعنی ایراد از اتصال یا شبکه است.
- ایراد در TCP/IP و یا DHCP که IP ها را به دستگاهها اختصاص میدهد و آدرس های dns سرور را مدیریت میکند. با ریبوت کردن سیستم میتوانید این مشکل را رفع کنید. از نرم افزار TCP IP هم میتوانید استفاده کنید و تنظیمات را درست کنید. حتما بررسی کنید که dhcp روی روتر و دستگاه Enabled است چون اگر یکی از این دو enable نباشد، اتصال ایراد پیش میآید.
- ایراد در DNS در ISP دلیل دیگر در خطای dns است. آورلود شدن یا خرابی در سرور میتواند اتفاق افتاده باشد و خطای DNS server not responding و دیگر ایرادات پیش بیاید. میتوانید از dns جایگزین مثل گوگل یا OpenDNS استفاده کنید. در تنظیمات روتر بروید و به صورت دستی IP آن را وارد کنید و از حالت provider’s automatically-chosen server خارج شوید.
- آلوده شدن به بدافزار مثلا بدافزاری که در کار TCP اختلال ایجاد میکند و خطای dns نتیجه میشود. در اولین فرصت سیستم را با نرم افزار آنتی بدافزاز اسکن کنید و بدافزار را پاک کنید.هم ویروس و هم آنتی ویروس میتوانند باعث خطای dns شوند. وقتی دیتابیس آنتی ویروس آپدیت میشود ممکن است خطاهایی بروز کند که فکر کنید که سیستم به ویروس آلوده شده اما اینطور نیست. اگر آنتی ویروس را موقتا غیرفعال کنید، میتوانید ببینید آیا ایراد از آن است یا نه. آنتی ویروس را آپدیت کنید احتمال زیاد مشکل برطرف میشود.مشکل در مودم و روتر هم دلیل دیگر در خطای dns است. دستگاه را ری استارت کنید. اگر این مشکل به دفعات تکرار میشود باید مودم و روترتان را عوض کنید.
تغییر dns چیست؟
dns سروری که استفاده میکنید تا به اینترنت وصل شوید، به صورت اتوماتیک توسط تامینکننده شبکه شما تعیین میشود. برای اینکه این dns سرور را ببینید میتوانید از هاستهایی که اطلاعات اتصال شما به شبکه از جمله dns را دارند استفاده کنید مثلا Browserleaks.com.
البته این نکته را بدانید که dns سرور پیش فرض شما که توسط ISP تعیین میشود، قابل تغییر است و ملزوم به استفاده از آن نیستید. یکی از برجستهترین dns سرورهای عمومی، dns سرور گوگل است با IP آدرس ۸.۸.۸.۸. اگر از این DNS استفاده کنید، درخواستهای به جای اینکه به ISP شما بروند به گوگل میروند. برای تغییر dns تان باید پیکربندی و تنظیمات روتر و کامپیوتر خود را تغییر دهید.
چگونه dns را تنظیم کنیم؟
برای تغییر دادن DNS باید تنظیمات و پیکربندی آن را تغییر دهیم. در ادامه دو روش برای تغییر DNS در ویندوز ۱۰ را آموزش میدهیم. اگر نیاز به خدمات و تعمیر لپ تاپ دارید، روی لینک بزنید.
تغییر dns با استفاده از کنترل پنل
۱- کنترل پنل را باز کنید و مسیر زیر را طی کنید:
Control Panel > Network and Internet > Network and Sharing Center > Change adapter settings
۲- روی کارت شبکهای که با آن به اینترنت وصل هستید راست کلیک کنید و گزینه Properties را بزنید.
۳- گزینه Internet Protocol Version 4 (TCP/IPv4) را انتخاب کرده و دکمه Properties را بزنید.
۴- گزینه Use the following DNS server addresses را انتخاب کنید تا به صورت دستی بتوانید DNS مورد نظرتان را وارد کنید. در این حالت همچنان آدرس TCP/IP از DHCP سرور (روتر) گرفته میشود.
۵- آدرس های preferred DNS و alternate DNS را وارد کنید. مثلا
- Cloudflare: 1.1.1.1 and 1.0.0.1
- Google Public DNS: 8.8.8.8 and 8.8.4.4
- OpenDNS: 208.67.222.222 and 208.67.220.220
مراحل بعدی اختیاری است.
۶- دکمه Advanced را زده، روی تب DNS و سپس دکمه کلیک کنید.
۷- آدرس DNS سرور Alternative را مشخص کرده و دکمه Add را بزنید. اگر چند آدرس وارد میکنید، میتوانید Rsolver ها را ادیت و حذف کنید و از طریق گزینه موجود در کنار پنجره، اولویتبندی کنید.
۸- دکمه OK و سپس Close را بزنید.
تغییر dns با استفاده از Setting
۱- Setting را باز کرده و روی Network & Internet کلیک کنید.
۲- در سمت چپ پنجره، روی ethernet یا wifi کلیک کنید (بستگی به نوع اتصال شما دارد)
۳- کانکشنی که ویندوز ۱۰ شما را به شبکه وصل کرده را انتخاب کنید.
۴- در قسمت IP Setting روی دکمه Edit بزنید.
۵- از منوی کرکرهای که در اختیارتان قرار میگیرد گزینه Manual را انتخاب کنید.
۶- سوئیچ IPv4 را روشن کنید.
۷- آدرس های preferred DNS و alternate DNS را وارد کنید. (همانند مرحله ۵ قسمت قبل)
۸- روی دکمه Save بزنید.
dns ابری چیست؟
Cloud DNS امکان انتشار Zone ها و رکوردها در dns را بدون وجود بار مدیریت نرم افزار و سرور DNS فراهم میکند. استفاده از سرویس DNS ابری شما را در پیشگیری از بروز اختلال در DNS کمک میکند در نتیجه مشکلاتی از قبیل از دسترس خارج شدن وب سایت و محتوا ها ندارید. در dns ابری، درخواست کاربر ابتدا به dns ابری و سپس به سمت شما ارسال میشود.