» مرکز آموزش هاست و دامین » هاست » لینوکس » سیپنل » ۱۶ رکورد DNS و نحوه تنظیم این رکوردها در cPanel و WHM
رکورد DNS (Domain Name System) مجموعه ای از دستورالعمل ها و اطلاعاتی است که در سرورهای نام دامنه ذخیره شده و وظیفه ترجمه نام دامنه ها به آدرس های IP را بر عهده دارد. بدون وجود این سیستم، کاربران برای دسترسی به وب سایت ها مجبور بودند آدرس های IP پیچیده ای را به خاطر بسپارند، اما با استفاده از رکوردهای DNS، امکان تبدیل نام دامنه به آدرس IP و بالعکس فراهم شده است.
هر زمان که یک کاربر نام یک وب سایت را در مرورگر خود وارد می کند، درخواست او به سرورهای DNS ارسال شده و این سرورها بر اساس رکوردهای تعریف شده، مشخص می کنند که درخواست به کدام سرور هدایت شود. این فرآیند، نه تنها باعث بهبود تجربه کاربری و افزایش سرعت دسترسی به وب سایت ها می شود، بلکه در مدیریت سرویس های ایمیل، زیرساخت های شبکه و امنیت اینترنت نیز نقش مهمی ایفا می کند.
اگر یک وب سایت دارید یا قصد مدیریت دامنه ای را دارید، آشنایی با رکوردهای DNS برای شما ضروری است. مدیران وب سایت بدون نیاز به دانش فنی پیشرفته می توانند با تنظیم صحیح این رکوردها، مسیر دسترسی کاربران به وب سایت را تعیین کرده، ایمیل های خود را مدیریت کرده و حتی لایه های امنیتی بیشتری به دامنه خود اضافه کنند.
در ادامه، به بررسی انواع رکوردهای DNS و کاربردهای آن ها خواهیم پرداخت تا درک بهتری از این سیستم حیاتی داشته باشید.
این رکورد وظیفه اتصال نام دامنه به یک آدرس IP نسخه چهار (IPv4) را دارد.
نمونه خروجی رکورد A:
example.com. 3600 IN A 192.168.1.1
این رکورد نشان می دهد که دامنه example.com به آدرس ۱۹۲.۱۶۸.۱.۱ متصل است و مقدار ۳۶۰۰ نشان دهنده زمان کش شدن (TTL) این اطلاعات در سرورهای DNS است.
این رکورد مشابه رکورد A است، اما برای آدرس های IPv6 استفاده می شود.
نمونه خروجی رکورد AAAA:
example.com. 3600 IN AAAA 2001:db8::ff00:42:8329
این رکورد نشان می دهد که دامنه example.com به آدرس ۲۰۰۱:db8::ff00:42:8329 متصل است و مقدار ۳۶۰۰ نشان دهنده زمان کش شدن (TTL) این اطلاعات در سرورهای DNS است.
این رکورد نام دامنه را به دامنه ای دیگر اشاره می دهد، یعنی زمانی که کاربری example.com را باز کند، به example.net هدایت می شود.
نمونه خروجی رکورد CNAME:
www.example.com. 3600 IN CNAME example.net.
این رکورد نشان می دهد که هرگاه کاربر، دامنه www.example.com را جستجو کند، به دامنه example.net هدایت می شود.
این رکورد تعیین می کند که ایمیل های یک دامنه به کدام سرور ارسال شوند.
نمونه خروجی رکورد MX:
example.com. 3600 IN MX 10 mail.example.com.
این رکورد نشان می دهد که ایمیل های ارسال شده به آدرس example.com به سرور با آدرس mail.example.com ارسال خواهند شد. عدد ۱۰ اولویت سرور ایمیل را نشان می دهد (عدد کمتر به معنی اولویت بالاتر می باشد).
این رکورد برای ذخیره اطلاعات متنی استفاده می شود و معمولا برای احراز هویت رکوردهای DNS مرتبط با ایمیل (SPF, DKIM, DMARC) یا تایید مالکیت دامنه استفاده می شود.
نمونه خروجی رکورد TXT:
example.com. 3600 IN TXT "v=spf1 ip4:192.168.1.1 -all"
این نمونه رکورد برای تایید سرور ایمیل و جلوگیری از ارسال ایمیل های جعلی (SPF) استفاده می شود و آیپی هایی که مربوط به دامنه example.com که مجاز به ارسال ایمیل می باشند را در خود نگهداری میکند.
این رکورد مشخص می کند که دامنه به کدام Name Server متصل است.
نمونه خروجی رکورد NS:
example.com. 86400 IN NS ns1.example.net.
example.com. 86400 IN NS ns2.example.net.
این رکورد نشان می دهد که دامنه example.net از دو DNS سرور با نام ns1.example.net و ns2.example.net استفاده می کند و با تنظیم این دو رکورد بر روی دامنه example.com اتصال دامنه به سرور برقرار میشود.
این رکورد آدرس IP را به نام دامنه تبدیل می کند و معمولا برای تایید هویت سرورهای ایمیل استفاده می شود.
نمونه خروجی رکورد PTR:
۱.۱.۱۶۸.۱۹۲.in-addr.arpa. 3600 IN PTR example.com.
این رکورد نشان می دهد که آیپی ۱۹۲.۱۶۸.۱.۱ به دامنه example.com اشاره دارد.
این رکورد برای تعریف محل سرویس های خاص مانند VoIP یا XMPP یا … استفاده می شود.
نمونه خروجی رکورد SRV:
_service._protocol.example.com. 3600 IN SRV 10 5 5060 sip.example.com.
این رکورد نشان می دهد که سرویس SIP روی دامنه example.com در پورت ۵۰۶۰ در حال اجرا است.
این رکورد تعیین می کند که کدام مرکز صدور گواهی (CA) مجاز به صدور SSL برای دامنه است.
نمونه خروجی رکورد CAA:
example.com. 3600 IN CAA 0 issue "letsencrypt.org"
این رکورد مشخص می کند که فقط Let’s Encrypt مجاز به صدور گواهی SSL برای این دامنه است.
رکورد AFSDB برای تعیین سرورهای پایگاه داده Andrew File System (AFS) استفاده می شود. AFS یک سیستم فایل توزیع شده است که به کاربران اجازه می دهد فایل ها را از طریق شبکه به اشتراک بگذارند.
نمونه خروجی رکورد AFSDB:
afsdb.example.com. 3600 IN AFSDB 1 afs.example.com.
این رکورد نشان می دهد که پایگاه داده AFS برای دامنه example.com به سرور afs.example.com ارجاع داده شده است و عدد ۱ نشان دهنده نوع پایگاه داده است.
رکورد DNAME مشابه رکورد CNAME است اما در سطح بالاتری عمل می کند. این رکورد تمام درخواست های زیر دامنه را به یک دامنه دیگر هدایت می کند.
نمونه خروجی رکورد DNAME:
example.com. 3600 IN DNAME example.net.
این رکورد نشان می دهد که تمام زیر دامنه های example.com به example.net هدایت می شوند. به عبارت دیگر، همه درخواست های دامنه های فرعی به دامنه جدید ارجاع داده می شوند.
رکورد DS در سیستم DNSSEC (DNS Security Extensions) استفاده می شود و وظیفه امضای دیجیتال و تایید اعتبار رکوردهای DNS را بر عهده دارد. این رکورد معمولا برای جلوگیری از حملات جعل DNS استفاده می شود.
نمونه خروجی رکورد DS:
example.com. 3600 IN DS 12345 8 2 98A6B19F7D6F3C9E8E9B5E1C8F8D9AFC6DA432B6
این رکورد نشان دهنده امضای دیجیتال ۹۸A6B19F7D6F3C9E8E9B5E1C8F8D9AFC6DA432B6 برای دامنه example.com است که توسط الگوریتم SHA-1 و با استفاده از کلید ۱۲۳۴۵ انجام شده است.
رکورد HINFO اطلاعات مربوط به سیستم و پلتفرم سخت افزاری و نرم افزاری میزبان را ذخیره می کند. این رکورد به ندرت استفاده می شود و به طور کلی برای تشخیص سیستم های میزبان کاربرد دارد.
نمونه خروجی رکورد HINFO:
example.com. 3600 IN HINFO "Intel" "Linux"
این رکورد نشان می دهد که سیستم میزبان دامنه example.com از پردازنده Intel و سیستم عامل Linux استفاده می کند.
رکورد LOC برای تعیین موقعیت جغرافیایی سرور یا دستگاه استفاده می شود. این رکورد موقعیت جغرافیایی سرور را بر اساس مختصات طول و عرض جغرافیایی مشخص می کند.
نمونه خروجی رکورد LOC:
example.com. 3600 IN LOC 37 48 30 N 122 25 50 W 100.0 100.0 1000.0
این رکورد نشان می دهد که موقعیت جغرافیایی دامنه example.com در عرض جغرافیایی ۳۷.۷۵ شمال و طول جغرافیایی ۱۲۲.۴۳ غرب است. مقادیر دیگر مربوط به ارتفاع و دقت موقعیت هستند.
رکورد NAPTR برای تعیین نحوه جستجو و انتقال درخواست های سرویس خاص، مانند SIP یا ENUM، استفاده می شود. این رکورد معمولا در شبکه های VoIP و پروتکل های مشابه به کار می رود.
نمونه خروجی رکورد NAPTR:
example.com. 3600 IN NAPTR 100 10 "u" "E2U+sip" "!^.*$!sip:[email protected]!" .
توضیح: این رکورد نشان می دهد که درخواست های SIP به دامنه sip:[email protected] هدایت می شوند. ۱۰۰ اولویت و ۱۰ وزن رکورد را نشان می دهد.
رکورد RP برای مشخص کردن مسئولین فنی و تماس با یک دامنه استفاده می شود. این رکورد اطلاعات مربوط به فرد مسئول یا ایمیل برای پشتیبانی دامنه را ذخیره می کند.
نمونه خروجی رکورد RP:
example.com. 3600 IN RP hostmaster.example.com. [email protected].
این رکورد نشان می دهد که مسئول فنی دامنه example.com دارای ایمیل با فرمت دامنه hostmaster.example.com است و ایمیل تماس با این شخص [email protected] می باشد.
cPanel یکی از محبوب ترین کنترل پنل های هاستینگ است که کاربران می توانند از طریق آن تنظیمات مربوط به دامنه و DNS را مدیریت کنند. اگر بخواهید یک رکورد DNS در هاست لینکوس سی پنل خود اضافه کنید، مراحل زیر را دنبال کنید:
ابتدا باید وارد cPanel هاست خود شوید. معمولا آدرس ورود به این شکل است:
https://yourdomain.com/cpanel
https://server-ip:2083
نام کاربری و رمز عبور خود را وارد کنید و وارد کنترل پنل شوید.
برای ورود به cPanel هاست خود، میتوانید از مقاله آموزش نحوه ورود به هاست سی پنل استفاده نمایید.
در صفحه اصلی cPanel، به قسمت Domains بروید و روی گزینه Zone Editor کلیک کنید.
در بخش Zone Editor، لیستی از دامنه های شما نمایش داده می شود و در این بخش باید روی دکمه Manage در مقابل دامنه مورد نظر کلیک کنید.
در صفحه جدید، روی Add Record کلیک کنید، سپس نوع رکورد موردنظر را انتخاب کنید (A, CNAME, MX, TXT ,…) و مقدار مناسب برای هر فیلد را وارد کنید:
پس از وارد کردن اطلاعات، روی Save Record کلیک کنید تا تغییرات ذخیره شود. بسته به تنظیمات سرور و TTL، ممکن است چند دقیقه تا چند ساعت طول بکشد تا تغییرات روی اینترنت اعمال شوند.
WHM (Web Host Manager) یکی از محبوب ترین پنل های مدیریت سرور برای هاستینگ است که به مدیران سرور اجازه می دهد تنظیمات مختلفی را روی دامنه ها انجام دهند، از جمله مدیریت رکوردهای DNS. در ادامه، نحوه ایجاد رکورد DNS در نمایندگی هاست لینوکس سی پنل را بررسی می کنیم.
ابتدا باید وارد WHM هاست خود شوید. معمولا آدرس ورود به این شکل است:
https://your-server-ip:2087
نام کاربری و رمز عبور مدیر سرور را وارد کنید.
برای ورود به WHM هاست خود، میتوانید از مقاله آموزش ورود به کنترل پنل مدیریتی هاست سی پنل WHM استفاده نمایید.
پس از ورود به WHM، در نوار جستجو، عبارت “DNS Zone Manager” را تایپ کرده و وارد این منو شوید، سپس رو به روی دامنه مدنظر که قصد ویرایش آن را دارید بر روی گزینه Manage کلیک کنید.
در صفحه ویرایش رکوردهای DNS، در بالای صفحه روی گزینه ی Add Record کلیک کنید، سپس نوع رکوردی که می خواهید اضافه کنید (A, CNAME, MX, TXT , …) را انتخاب کنید و مقدار مناسب برای هر فیلد را وارد کنید:
پس از وارد کردن اطلاعات، روی Save Record کلیک کنید تا تغییرات ذخیره شود. بسته به تنظیمات سرور، ممکن است چند دقیقه تا چند ساعت طول بکشد تا رکورد جدید روی اینترنت اعمال شود.
بعد از تنظیم رکوردهای DNS، معمولا نیاز است بررسی کنیم که آیا این تغییرات به درستی اعمال شده اند یا نه. در این بخش روش های مختلفی برای بررسی رکوردهای DNS معرفی می کنیم.
در ویندوز می توان از ابزار nslookup برای بررسی رکوردهای DNS استفاده کرد.
برای بررسی آدرس IP مرتبط با دامنه، دستور زیر را در CMD اجرا کنید:
nslookup example.com
یا
nslookup -type=AAAA example.com
خروجی نمونه:
Name: example.com
Address: 192.168.1.1
برای مشاهده سرورهای ایمیل یک دامنه، این دستور را وارد کنید:
nslookup -type=MX example.com
خروجی نمونه:
example.com MX preference = 10, mail exchanger = mail.example.com
این خروجی نشان می دهد که ایمیل های این دامنه به آدرس mail.example.com هدایت می شوند.
nslookup -type=TXT example.com
خروجی نمونه:
example.com text = "v=spf1 ip4:192.168.1.1 -all"
این خروجی نشان می دهد که فقط سرور با آی پی ۱۹۲.۱۶۸.۱.۱ مجاز به ارسال ایمیل برای این دامنه است.
در لینوکس می توان از ابزارهای dig و host برای بررسی رکوردهای DNS استفاده کرد.
dig example.com A
یا
host example.com
خروجی نمونه:
example.com has address 192.168.1.1
dig example.com MX
یا
host -t MX example.com
خروجی نمونه:
example.com mail is handled by 10 mail.example.com.
dig example.com TXT
یا
host -t TXT example.com
خروجی نمونه:
example.com descriptive text "v=spf1 ip4:192.168.1.1 -all"
print_r(dns_get_record("example.com", DNS_A));
print_r(dns_get_record("example.com", DNS_MX));
print_r(dns_get_record("example.com", DNS_TXT));
خروجی نمونه:
Array (
[۰] => Array (
'host' => 'example.com',
'class' => 'IN',
'ttl' => 3600,
'type' => 'TXT',
'txt' => 'v=spf1 ip4:192.168.1.1 -all'
)
)
اگر به محیط ترمینال دسترسی ندارید، می توانید از سایت های زیر برای بررسی رکوردهای DNS استفاده کنید:
از این سایت میتوانید برای بررسی بررسی رکوردهای MX، A، TXT و … استفاده نمایید.
در این سایت اکثر رکوردهای DNS مهم دامنه قابل مشاهده می باشد.
در این سایت ابزار های متوعی در اختیار وب مسترها قرار داده شده که برای بررسی رکوردهای DNS قابل استفاده است.
در این سایت وضعیت DNS از طریق سرورهای مختلف در سراسر جهان بررسی می شود و از طریق آن میتوان وضعیت بروز بوردن و دسترسی به سایت را از تمام نقاط جهان بررسی کرد.
این سایت نیز مانند سایت whatsmydns.net برای بررسی وضعیت بروز بودن و دسترسی DNS ها از سراسر جهان قابل استفاده می باشد.
سیستم DNS یکی از اجزای حیاتی اینترنت است که وظیفه تبدیل نام دامنه ها به آدرس های IP را بر عهده دارد. بدون این سیستم، کاربران مجبور بودند برای دسترسی به وب سایت ها از آدرس های IP استفاده کنند که به خاطر سپردن آن ها بسیار دشوار است.
در این مقاله، ابتدا مفهوم رکوردهای DNS و اهمیت آن ها را بررسی کردیم، سپس انواع رکوردهای پرکاربرد مانند A, CNAME, MX, TXT, NS و… را معرفی و نمونه خروجی آن ها را نمایش دادیم. همچنین، نحوه ایجاد رکوردهای DNS در WHM و cPanel را توضیح دادیم تا شما بتوانید به راحتی تنظیمات دامنه های خود را مدیریت کنید.
در نهایت، روش های بررسی رکوردهای DNS در ویندوز، لینوکس و PHP و سایت های آنلاین را آموزش دادیم تا بتوانید صحت تنظیمات خود را بررسی کنید.
مدیریت صحیح DNS می تواند تأثیر زیادی بر عملکرد، امنیت و پایداری وب سایت ها داشته باشد. بنابراین، اگر شما یک مدیر سایت، توسعه دهنده یا مالک کسب وکار آنلاین هستید، یادگیری این مفاهیم ضروری است.