DNS (Domain Name System) یکی از اجزای کلیدی در عملکرد شبکههای اینترنتی است. این سیستم نقش حیاتی در فناوریهایی مانند سرورهای ایمیل، مرور وب، سرویسهای پخش آنلاین (مانند Netflix و Spotify) و بسیاری از خدمات دیگر دارد. DNS روی سروری مخصوص به نام DNS Server اجرا میشود. این سرور شامل پایگاه دادهای از آدرسهای IP عمومی و نامهای میزبان (Hostnames) مربوط به آنهاست.
وظیفهی DNS این است که هرگاه کاربر نام یک وبسایت را وارد کند، آن را به آدرس IP متناظر ترجمه کند (عملی که به آن resolve گفته میشود). به این ترتیب، دیگر نیازی نیست کاربران آدرسهای IP پیچیده را به خاطر بسپارند، کافی است نام سایت را وارد کنند تا DNS مسیر صحیح را پیدا کند.
مشاهده آدرس سرور DNS در لینوکس
در سیستمعامل لینوکس و توزیعهای مشابه مانند BSD و یونیکس، چند روش مختلف برای بررسی آدرس سرور DNS وجود دارد. در ادامه، متداولترین آنها را بررسی میکنیم:
استفاده از فایل /etc/resolv.conf
فایل /etc/resolv.conf همانند یک دفترچه آدرس برای سیستم شما عمل میکند. این فایل مشخص میکند که سیستم در هنگام تبدیل نام یک وبسایت (مثلا google.com) به آدرس IP، باید از کدام سرورهای DNS استفاده کند.
برای مشاهده محتوای این فایل، میتوانید از دستور زیر استفاده کنید:
cat /etc/resolv.conf
اگر میخواهید محتوای فایل را بهصورت پیمایشی مشاهده کنید، دستور زیر مناسبتر است:
less /etc/resolv.conf
در داخل این فایل معمولا خطوطی مشابه زیر دیده میشود:
nameserver 8.8.8.8
توضیح:
- nameserver نشاندهندهی معرفی یک سرور DNS است.
- ۸.۸.۸.۸ آدرس IP سرور DNS است که سیستم برای جستجوی آدرس وبسایتها از آن استفاده میکند.
به طور خلاصه، هر زمان که سیستم شما قصد دارد به سایتی مانند example.com متصل شود، از این سرور DNS میپرسد:«آدرس IP این سایت چیست؟»
و سرور DNS پاسخ مناسب را ارسال میکند تا سیستم بتواند اتصال را برقرار کند.
بنابراین، بررسی فایل /etc/resolv.conf سادهترین راه برای فهمیدن این است که سیستم شما از کدام سرور DNS استفاده میکند.
مشاهده DNS در سیستمهایی که از systemd استفاده میکنند
در بسیاری از توزیعهای مدرن لینوکس مانند Ubuntu، Fedora و Debian، ابزار systemd وظیفه مدیریت سرویسها و پیکربندی شبکه (از جمله DNS) را بر عهده دارد.
در چنین سیستمهایی، فایل /etc/resolv.conf ممکن است اطلاعات ناقص یا غیردقیق نمایش دهد، زیرا systemd تنظیمات DNS را بهصورت پویا (Dynamic) مدیریت میکند.
برای بررسی دقیقتر سرورهای DNS، میتوانید از دستور زیر استفاده کنید:
resolvectl status | grep "DNS"
توضیح:
- resolvectl status اطلاعات کاملی از وضعیت شبکه و سرورهای DNS ارائه میدهد.
- grep “DNS” خروجی را فیلتر میکند تا فقط خطوط حاوی آدرسهای DNS نمایش داده شود.
نمونه خروجی:
DNS Servers: 192.168.0.1 8.8.8.8
در اینجا، آدرس اول (۱۹۲.۱۶۸.۰.۱) معمولا Gateway محلی شماست و آدرس دوم (۸.۸.۸.۸) ممکن است یکی از DNSهای عمومی گوگل باشد.
مشاهده DNS با استفاده از NetworkManager
اگر سیستم لینوکسی شما از NetworkManager استفاده میکند (که در بیشتر نسخههای دسکتاپ رواج دارد)، میتوانید از دستور زیر برای یافتن آدرس سرور DNS استفاده کنید:
nmcli dev show | grep 'IP4.DNS'
نمونه خروجی:
IP4.DNS[1]: 192.168.0.1
توضیح:
- IP4.DNS[1] نشان میدهد این اولین سرور DNS است که سیستم شما از آن استفاده میکند.
- ۱۹۲.۱۶۸.۰.۱ آدرس سرور DNS است که وظیفه تبدیل نام دامنهها به آدرس IP را بر عهده دارد.
این آدرسها در قالبی به نام نشانهگذاری دهدهی نقطهدار (Dot-decimal notation) نمایش داده میشوند؛ یعنی چهار عدد از ۰ تا ۲۵۵ که با نقطه از هم جدا شدهاند (مثل ۱۹۲.۱۶۸.۰.۱).
برای پروژههای مهم خود به دنبال سرور مطمئن هستید؟ خرید سرور مجازی با IP ثابت و سرعت بالا در پارسدو، گزینهای ایدهآل است.
نحوه یافتن آدرس IP سرور DNS یک وبسایت
برای پیدا کردن آدرس IP سرور DNS مربوط به یک دامنه یا وبسایت خاص، میتوانید از دستور dig استفاده کنید. این ابزار برای جستجوی رکوردهای DNS طراحی شده است.
dig parsdev.com
نمونه خروجی:
parsdev.com. 21 IN A 204.54.83.209
parsdev.com. 21 IN A 204.54.83.209
این خروجی نشان میدهد که دامنه parsdev.com توسط دو آدرس IP پشتیبانی میشود.
توجه داشته باشید که آدرسهای IP واقعی ممکن است بسته به ارائهدهنده هاست یا سرویس DNS شما متفاوت باشند. به عنوان مثال، اگر از سرویسهایی مانند Cloudflare DNS یا Google Cloud DNS استفاده میکنید، آدرسهای مربوط به همان سرویسها نمایش داده خواهد شد.
جمعبندی
DNS یکی از ستونهای اصلی ارتباطات اینترنتی است و بدون آن، دسترسی به وبسایتها و سرویسهای آنلاین تقریبا غیرممکن میشود. این سیستم با تبدیل نامهای دامنه (مانند google.com) به آدرسهای IP عددی، فرآیند اتصال به سرورها را برای کاربران ساده و سریع میکند. در واقع، DNS همان دفترچه تلفن اینترنت است که نامها را به آدرسهای واقعی دستگاهها ترجمه میکند.
در سیستمعامل لینوکس، چندین روش برای مشاهده و مدیریت سرورهای DNS وجود دارد. سادهترین روش، بررسی فایل etc/resolv.conf/ است که معمولا شامل فهرستی از سرورهای DNS تعریفشده میباشد. این فایل به سیستم اعلام میکند که هنگام جستجوی یک نام دامنه، از کدام سرورهای DNS استفاده کند. با این حال، در توزیعهای مدرن که از systemd بهره میبرند، ممکن است این فایل اطلاعات کامل را نشان ندهد. در چنین مواردی، استفاده از دستور resolvectl status راهحلی دقیقتر و مطمئنتر است.
در محیطهای دسکتاپ نیز ابزار NetworkManager مدیریت DNS را سادهتر کرده است. با دستور nmcli dev show میتوان بهسرعت آدرس سرورهای DNS مورد استفاده سیستم را مشاهده کرد.
علاوه بر بررسی تنظیمات محلی، دستور dig نیز ابزاری قدرتمند برای یافتن آدرسهای IP و سرورهای DNS دامنهها در اینترنت محسوب میشود. با استفاده از dig میتوان اطلاعات دقیقی درباره رکوردهای DNS هر وبسایت بهدست آورد که برای مدیران شبکه و وبمسترها بسیار کاربردی است.
در نهایت، دانستن نحوه مشاهده و بررسی سرورهای DNS در لینوکس به شما کمک میکند تا در زمان بروز مشکلات شبکه، سریعتر علت را شناسایی و رفع کنید. همچنین این آگاهی، گامی موثر در افزایش امنیت، پایداری و بهینهسازی عملکرد سیستم شما به شمار میآید.