Domain Name System یا در حقیقت DNS همان address book اینترنت هست. سرویس DNS ترافیک وب را به سمت web server و email server شما به واسطه map کردن domain name شما مانند linux-zone.org به ip آدرس تان (مثلا 192.168.10.10 یا 0123:4567:89ab:cdef:0123:4567:89ab:cdef) هدایت میکند. در این پست ما مفاهیم اساسی DNS و تفاوت انواع record های آنرا مطرح میکنیم.
همچنین توصیه میشود مطالعه کنید.
نحوه راه اندازی میل سرور لینوکسی با استفاده از Postfix و Dovecot
DNS چگونه کار میکند
قبل از تعریف هر گونه رکوردی شما باید مفاهیم اساسی DNS را بدانید.
Domain Name ها
Domain name ها به واسطه خواندن آنها از راست به چپ به بهترین شیوه قابل فهم هستند. مهمترین بخش دامین در حقیقت در سمت راست آن است و هر چه به سمت چپ بروید خاص تر میشود. به طور مثال در زیر مشاهده میکنید که Top-Level Domain یا TLD در حقیقت .org میباشد.
هر عبارتی که بعد از TLD به سمت چپ باشد با یک نقطه مجزا شده است و خاص تر به دامین اشاره میکند. همچنین میتوان به sub domain که قبل از دامین اصلی مطرح میشود نیز اشاره کرد، اگر چه اکثرا از sub دامین های first level (اصلی) بعلاوه TLD شان استفاده میکنند که به دامین کلی آنها اشاره میکند، مانند (linux-zone.org). هر چی که به سمت چپ بیاییم که مثلا در مثال بالا hello و mail در حقیقت sub domain های level دو و سه هستند. (second level و third level). ساب دامین ها به منظور معرفی ویژه ماشین یا سرویس های خاص استفاده میشوند.
Name Server ها
انتخاب و تعریف Name Server ها یک بخش ضروری از مالکیت دامین میباشد و در صورتیکه به درستی انجام نشود اتصال دیوایس های کلاینت نخواهند دانست که اطلاعات DNS شما را کجا پیدا کنند. در نتیجه دامین شما resolve نخواهد شد. Name server ها اطلاعات DNS ی یک دامین را درون یک فایل text نگهداری میکنند که یک zone file نامیده میشود. آنها همچنین با عنوان رکوردهای Start of Authority (یا SOA) شناخته میشوند. شما میتوانید اطلاعات DNS تان را روی name server ها در یک یا چندین مکان host کنید.
شما باید name سرورهایتان را روی وب سایتی که دامین تان روی آن ریجیستر میشود تعریف کنید. شما حداقل باید 2 عدد name server تعریف کنید و به این شیوه اگر یکی از آنها down شود name سرور بعدی اطلاعات DNS شما را همچنان ادامه دهد.
رکوردهای DNS و Zone فایل ها
جنبه بعدی مدیریت DNS تعریف رکوردهای DNS است که domain name را به ip address سرور match میکند. سپس رکوردهای DNS به صورت اتوماتیک درون یک zone file دسته بندی میشوند که در حقیقت همان چیزیست که به دیوایس های در حال اتصال اجازه میدهد که به دنبال ip آدرس درست مربوط به دامین تان بگردند. در زیر مثالی از یک zone file پیش فرض مشاهده میکنید.
هر zone file دامین شامل ایمیل آدرس administrator آن domain و name server ها همچنین رکوردهای DNS میباشد. البته شما به این ورودی های پیش فرض محدود نیستید شما میتوانید تنوعی از رکوردهای DNS را با توجه به ساب دامین های متفاوتی که میخواهید داشته باشید ایجاد کنید.
DNS Resolution
واقعا DNS چگونه کار میکند؟ ابتدا domain name نیاز دارد که به ip address سرور شما ترجمه شود. DNS در حقیقت domain name هایی که برای انسان قابل فهم است مانند linux-zone.org را به ip آدرس هایی که برای کامپیوتر قابل فهم است مانند 192.168.10.10 تبدیل میکند. این امر در یک فایل متنی خاص به نام zone file اتفاق می افتد که در حقیقت دامین ها و ip آدرس های متناظر آنها (و یکسری موارد دیگر) را لیست میکند. یک zone file در حقیقت شبیه به یک دفترچه تلفن است که نام ها را با آدرس خیابان match میکند.
در اینجا نحوه عملکرد پروسه DNS Lookup (جستجوی DNS) را بررسی میکنیم :
1 - شما یک domain name مانند linux-zone.org را در مرورگرتان تایپ میکنید.
2 - کامپیوتر شما از طریق یک ISP (یا Internet Service Provider) به اینترنت متصل است. سرور DNS resolver در ISP شما ابتدا برای name server TLD درست یک root name server درخواست میکند (query). به عبارت دیگر از root name server میپرسد که من کجا میتوانم name server برای دامین های .org را پیدا کنم.
3 - root name server آدرس ip مربوط به name server های .org را در جواب برمیگرداند.
4 - DNS resolver در ISP از ip آدرسی که از root name server برای سرورهای .org دریافت میکند را برای پیدا کردن name سرور linux-zone.org استفاده میکند و از name server مربوط به .org میپرسد که من کجا میتوانم name server مربوط به linux-zone.org را پیدا کنم؟
5 - name سرور .org آدرس Ip مربوط به name سرور linux-zone.org را در جواب برمیگرداند.
6 - در اینجا DNS resolver موجود در ISP از name server دامین شما zone file را میخواند.
7 - zone file نمایش میدهد که کدام ip آدرس با آن دامین match میشود.
8 - اکنون که ISP آدرس ip مربوط به linux-zone.org را دارد در کوتاه ترین زمان آنرا در مرورگر شما برمیگرداند که باعث میشود شما به وب سرور سایت دسترسی پیدا کنید.
سناریو توضیح داده شده در بالا در صورتی اتفاق میافتد که ISP اطلاعات موجودی درباره دامین درخواست شده نداشته باشد در واقعیت ISP ها اطلاعات DNS زیادی را بعد از اولین بازدید از هر وب سایتی cashe میکنند که این مورد باعث میشود برای دفعات بعدی lookup سایت ها سریعتر انجام شود و بار کمتری روی DNS سرورها اعمال شود.
معمولا cache کردن یک اتفاق خوب است اما در صورتی که شما تغییر جدید در اطلاعات DNS تان اعمال کنید مشکل ایجاد خواهد کرد. مثلا زمانیکه شما از یک hosting provider قبلی به یک hosting جدید نقل مکان کنید. در چنین مواقعی شما باید به TTL موجود در file zone خود خیلی توجه کنید تا حد ممکن تغییرات DNS تان به سریع ترین زمان ممکن اعمال شوند.
معرفی انواع رکوردهای DNS :
برای رکوردهای ذکر شده در بالا و همچنین نحوه ایجاد یک رکورد را به صورت مفصل در مقالات بعدی توضیح خواهیم داد. خوشحال میشیم نظرات ارزشمند خود را با ما به اشتراک بگذارید.
همچنین توصیه میشود مطالعه کنید.
نحوه راه اندازی میل سرور لینوکسی با استفاده از Postfix و Dovecot
DNS چگونه کار میکند
قبل از تعریف هر گونه رکوردی شما باید مفاهیم اساسی DNS را بدانید.
Domain Name ها
Domain name ها به واسطه خواندن آنها از راست به چپ به بهترین شیوه قابل فهم هستند. مهمترین بخش دامین در حقیقت در سمت راست آن است و هر چه به سمت چپ بروید خاص تر میشود. به طور مثال در زیر مشاهده میکنید که Top-Level Domain یا TLD در حقیقت .org میباشد.
کد PHP:
example.org
mail.hello.example.org
Name Server ها
انتخاب و تعریف Name Server ها یک بخش ضروری از مالکیت دامین میباشد و در صورتیکه به درستی انجام نشود اتصال دیوایس های کلاینت نخواهند دانست که اطلاعات DNS شما را کجا پیدا کنند. در نتیجه دامین شما resolve نخواهد شد. Name server ها اطلاعات DNS ی یک دامین را درون یک فایل text نگهداری میکنند که یک zone file نامیده میشود. آنها همچنین با عنوان رکوردهای Start of Authority (یا SOA) شناخته میشوند. شما میتوانید اطلاعات DNS تان را روی name server ها در یک یا چندین مکان host کنید.
- هاستینگ منطقه لینوکسی ها (توصیه میشود)
- روی دامین تان
- روی DNS سرور خودتان
- روی هاستینگ های Third-party دی ان اس (DNS)
شما باید name سرورهایتان را روی وب سایتی که دامین تان روی آن ریجیستر میشود تعریف کنید. شما حداقل باید 2 عدد name server تعریف کنید و به این شیوه اگر یکی از آنها down شود name سرور بعدی اطلاعات DNS شما را همچنان ادامه دهد.
رکوردهای DNS و Zone فایل ها
جنبه بعدی مدیریت DNS تعریف رکوردهای DNS است که domain name را به ip address سرور match میکند. سپس رکوردهای DNS به صورت اتوماتیک درون یک zone file دسته بندی میشوند که در حقیقت همان چیزیست که به دیوایس های در حال اتصال اجازه میدهد که به دنبال ip آدرس درست مربوط به دامین تان بگردند. در زیر مثالی از یک zone file پیش فرض مشاهده میکنید.
کد PHP:
; example.org [448369]
$TTL 86400
@ IN SOA ns1.linux-zone.org. admin.example.org. 2013062147 14400 14400 1209600 86400
@ NS ns1.linux-zone.org.
@ NS ns2.linux-zone.org.
@ NS ns3.linux-zone.org.
@ NS ns4.linux-zone.org.
@ NS ns5.linux-zone.org.
@ MX 10 mail.example.org.
@ A 12.34.56.78
mail A 12.34.56.78
www A 12.34.56.78
DNS Resolution
واقعا DNS چگونه کار میکند؟ ابتدا domain name نیاز دارد که به ip address سرور شما ترجمه شود. DNS در حقیقت domain name هایی که برای انسان قابل فهم است مانند linux-zone.org را به ip آدرس هایی که برای کامپیوتر قابل فهم است مانند 192.168.10.10 تبدیل میکند. این امر در یک فایل متنی خاص به نام zone file اتفاق می افتد که در حقیقت دامین ها و ip آدرس های متناظر آنها (و یکسری موارد دیگر) را لیست میکند. یک zone file در حقیقت شبیه به یک دفترچه تلفن است که نام ها را با آدرس خیابان match میکند.
در اینجا نحوه عملکرد پروسه DNS Lookup (جستجوی DNS) را بررسی میکنیم :
1 - شما یک domain name مانند linux-zone.org را در مرورگرتان تایپ میکنید.
2 - کامپیوتر شما از طریق یک ISP (یا Internet Service Provider) به اینترنت متصل است. سرور DNS resolver در ISP شما ابتدا برای name server TLD درست یک root name server درخواست میکند (query). به عبارت دیگر از root name server میپرسد که من کجا میتوانم name server برای دامین های .org را پیدا کنم.
3 - root name server آدرس ip مربوط به name server های .org را در جواب برمیگرداند.
4 - DNS resolver در ISP از ip آدرسی که از root name server برای سرورهای .org دریافت میکند را برای پیدا کردن name سرور linux-zone.org استفاده میکند و از name server مربوط به .org میپرسد که من کجا میتوانم name server مربوط به linux-zone.org را پیدا کنم؟
5 - name سرور .org آدرس Ip مربوط به name سرور linux-zone.org را در جواب برمیگرداند.
6 - در اینجا DNS resolver موجود در ISP از name server دامین شما zone file را میخواند.
7 - zone file نمایش میدهد که کدام ip آدرس با آن دامین match میشود.
8 - اکنون که ISP آدرس ip مربوط به linux-zone.org را دارد در کوتاه ترین زمان آنرا در مرورگر شما برمیگرداند که باعث میشود شما به وب سرور سایت دسترسی پیدا کنید.
سناریو توضیح داده شده در بالا در صورتی اتفاق میافتد که ISP اطلاعات موجودی درباره دامین درخواست شده نداشته باشد در واقعیت ISP ها اطلاعات DNS زیادی را بعد از اولین بازدید از هر وب سایتی cashe میکنند که این مورد باعث میشود برای دفعات بعدی lookup سایت ها سریعتر انجام شود و بار کمتری روی DNS سرورها اعمال شود.
معمولا cache کردن یک اتفاق خوب است اما در صورتی که شما تغییر جدید در اطلاعات DNS تان اعمال کنید مشکل ایجاد خواهد کرد. مثلا زمانیکه شما از یک hosting provider قبلی به یک hosting جدید نقل مکان کنید. در چنین مواقعی شما باید به TTL موجود در file zone خود خیلی توجه کنید تا حد ممکن تغییرات DNS تان به سریع ترین زمان ممکن اعمال شوند.
معرفی انواع رکوردهای DNS :
- A و AAAA رکورد چیست؟ آموزش نحوه ایجاد A Record (به زودی)
- AXFR رکورد چیست؟ آموزش نحوه ایجاد AXFR Record (به زودی)
- CAA رکورد چیست؟ آموزش نحوه ایجاد CAA Record (به زودی)
- CNAME رکورد چیست؟ آموزش نحوه ایجاد CNAME Record (به زودی)
- DKIM رکورد چیست؟ آموزش نحوه ایجاد DKIM Record (به زودی)
- MX رکورد چیست؟ آموزش نحوه ایجاد MX Record (به زودی)
- NS رکورد چیست؟ آموزش نحوه ایجاد NS Record (به زودی)
- PTR رکورد چیست؟ آموزش نحوه ایجاد PTR Record (به زودی)
- SOA رکورد چیست؟ آموزش نحوه ایجاد SOA Record (به زودی)
- SPF رکورد چیست؟ آموزش نحوه ایجاد SPF Record (به زودی)
- SRV رکورد چیست؟ آموزش نحوه ایجاد SRV Record (به زودی)
- TXT رکورد چیست؟ آموزش نحوه ایجاد TXT Record (به زودی)
برای رکوردهای ذکر شده در بالا و همچنین نحوه ایجاد یک رکورد را به صورت مفصل در مقالات بعدی توضیح خواهیم داد. خوشحال میشیم نظرات ارزشمند خود را با ما به اشتراک بگذارید.
کامنت