آموزش کامل تنظیم DNS در لینوکس (گام به گام + نکات حرفه ای)
تا حالا شده اینترنت ات وصل باشد اما سایت ها یا خیلی دیر باز شوند یا اصلاً لود نشوند؟ 🤔
در بسیاری از این مواقع مشکل از اینترنت «نیست»، بلکه از تنظیم نبودن DNS است. خبر خوب این که با چند دستور ساده و چند کلیک، می توانی با تنظیم DNS در لینوکس سرعت باز شدن سایت ها را بهتر کنی، پایداری اتصال را بالا ببری و حتی امنیت ات را هم بیشتر کنی.
در این راهنما، دو روش اصلی تنظیم DNS در لینوکس را قدم به قدم با هم مرور می کنیم:
- تنظیم DNS با ویرایش فایل /etc/resolv.conf
- تنظیم DNS با استفاده از NetworkManager (محیط گرافیکی، nmtui و nmcli)
اگر در صفحه ات ویدئوی آموزشی هم قرار می دهی، کاربر می تواند اول ویدئو را تماشا کند و بعد با همین متن، دقیق تر و عمیق تر وارد جزئیات شود.
DNS چیست و چرا در تنظیم DNS در لینوکس مهم است؟
قبل از اینکه وارد دستورات شویم، بهتر است خیلی کوتاه بفهمیم DNS چه کاری می کند.
DNS را مثل «دفتر تلفن اینترنت» تصور کن. وقتی در مرورگر می نویسی example.com، سیستم تو باید بداند این نام معادل کدام IP Address است (مثلاً 192.0.2.1). این کار را DNS انجام می دهد.
اگر DNS:
- کند باشد → سایت ها دیر باز می شوند.
- ناپایدار باشد → اتصال مرتب قطع و وصل می شود.
- ناامن یا دستکاری شده باشد → ممکن است به سایت های تقلبی هدایت شوی.
پس انتخاب و تنظیم درست DNS روی سیستم، مخصوصاً موقع کار حرفه ای، دورکاری، گیم، ترید و… تبدیل به یک ضرورت می شود. همین جاست که تنظیم DNS در لینوکس وارد بازی می شود و تو را از دردسرهای بی مورد نجات می دهد.

پیش نیازهای تنظیم DNS در لینوکس
قبل از شروع، چند نکته مهم را در نظر داشته باش:
- دسترسی sudo یا root
برای ویرایش فایل های سیستمی مثل /etc/resolv.conf یا تغییر تنظیمات شبکه، معمولاً نیاز به sudo داری. - شناخت توزیع لینوکسی
اوبونتو، دبیان، سنت اواس، فدورا و… ممکن است در جزئیات مدیریت شبکه کمی با هم فرق داشته باشند، اما اصول تنظیم DNS در لینوکس تقریباً مشترک است. - تهیه نسخه پشتیبان (Backup)
قبل از هر تغییری، همیشه از فایل های مهم مثل resolv.conf بکاپ بگیر:
sudo cp /etc/resolv.conf /etc/resolv.conf.backup
- داشتن آدرس DNSهای مورد نظر
می توانی از DNSهای عمومی یا DNSهای اختصاصی و امن مثل شلتر استفاده کنی. آدرس های دقیق را بهتر است از وب سایت ارائه دهنده DNS (مثلاً شلتر) برداری.
روش اول: تنظیم DNS در لینوکس با فایل /etc/resolv.conf
یکی از قدیمی ترین و رایج ترین روش ها برای تنظیم DNS در لینوکس، ویرایش مستقیم فایل /etc/resolv.conf است. این فایل مشخص می کند سیستم تو برای ترجمه نام دامنه ها (Domain Names) از کدام سرورهای DNS استفاده کند.
نکته مهم: در بعضی توزیع های جدید، این فایل توسط سرویس هایی مثل systemd-resolved یا NetworkManager به طور خودکار تولید می شود. اگر تغییراتت بعد از ریبوت از بین رفت، احتمالاً همین موضوع دلیلش است و بهتر است به روش دوم (NetworkManager) هم توجه کنی.
مزایا و معایب روش resolv.conf
مزایا:
- کنترل مستقیم و ساده روی DNS
- قابل استفاده روی سرورها بدون محیط گرافیکی
- مناسب برای اسکریپت نویسی و تنظیمات خودکار
معایب:
- در برخی توزیع ها بعد از ریستارت شبکه یا سیستم، دوباره بازنویسی می شود
- برای کاربران تازه کار کمی ترسناک به نظر می رسد
- نیاز به دقت بالا در وارد کردن IP دارد
مراحل گام به گام تنظیم DNS با /etc/resolv.conf
برای انجام تنظیم DNS در لینوکس با این روش، مراحل زیر را دنبال کن:
- باز کردن فایل با یک ویرایشگر متنی
معمولاً از nano یا vi استفاده می شود. اگر تازه کاری، nano راحت تر است:
sudo nano /etc/resolv.conf
- شناخت ساختار فایل
در این فایل معمولاً خطوطی به شکل زیر می بینی:
nameserver 8.8.8.8
nameserver 1.1.1.1
هر خط nameserver یک سرور DNS را مشخص می کند.
- اضافه کردن یا ویرایش nameserverها
حالا می توانی DNSهای دلخواهت را وارد کنی. به عنوان مثال:
nameserver 1.1.1.1
nameserver 8.8.8.8
# در اینجا میتوانید DNS اختصاصی شلتر را نیز اضافه کنید
# nameserver X.X.X.X
برای استفاده از DNS اختصاصی شلتر، کافی است IPهای معرفی شده در سایت شلتر را در این بخش قرار دهی.
- ذخیره و خروج از ویرایشگر
در nano:- دکمه های Ctrl + O → ذخیره
- دکمه Enter → تأیید
- دکمه های Ctrl + X → خروج
- اعمال تنظیمات (در صورت نیاز)
در بعضی توزیع ها که از ابزار resolvconf استفاده می کنند، لازم است دستور زیر را اجرا کنی:
sudo resolvconf -u
یا برای اطمینان، سرویس شبکه را ریستارت کن:
sudo systemctl restart NetworkManager
(بسته به توزیع، ممکن است نام سرویس متفاوت باشد.)
و به همین سادگی، بخش اول تنظیم DNS در لینوکس را انجام دادی.
روش دوم: تنظیم DNS در لینوکس با NetworkManager
بیشتر توزیع های دسکتاپ لینوکس مثل Ubuntu، Fedora و برخی نسخه های Debian از NetworkManager به طور پیش فرض استفاده می کنند. این ابزار هم رابط گرافیکی دارد، هم ابزار متنی (nmtui) و هم خط فرمان (nmcli)؛ بنابراین برای هر نوع کاربر (مبتدی تا حرفه ای) مناسب است.
۱. تنظیم DNS از محیط گرافیکی (GUI)
اگر در دسکتاپ لینوکسی هستی، این راحت ترین روش برای تنظیم DNS در لینوکس است:
- روی آیکون شبکه در نوار بالایی/پایینی کلیک کن.
- روی اتصال فعال (Wi-Fi یا Ethernet) گزینه Settings یا Edit را بزن.
- به بخش IPv4 یا «DNS» برو.
- گزینه Automatic (DHCP) را روی حالت «خودکار به جز DNS» یا مشابه آن تنظیم کن (بسته به توزیع).
- در فیلد DNS، IP سرورهای DNS موردنظر را وارد کن، مثلاً:
- DNS عمومی
- یا DNS اختصاصی و امن مثل شلتر
- روی Save کلیک کن.
- اتصال را یک بار قطع و وصل کن تا DNS جدید فعال شود.
۲. تنظیم DNS با ابزار متنی nmtui
اگر به ترمینال علاقه داری ولی هنوز نمی خواهی وارد دستورات طولانی شوی، nmtui گزینه ای عالی برای تنظیم DNS در لینوکس است:
- اجرای ابزار:
sudo nmtui
- انتخاب گزینه Edit a connection.
- اتصال موردنظر (Wi-Fi/Ethernet) را انتخاب کن.
- در بخش IPv4 configuration، حالت را روی Manual یا Automatic, addresses only قرار بده.
- روی OK و سپس روی Back و Quit کلیک کن.
- اتصال را ریستارت کن:
nmcli connection down <connection-name>
nmcli connection up <connection-name>
۳. تنظیم DNS با nmcli (برای کاربران حرفه ای تر)
کاربران حرفه ای معمولاً دوست دارند همه چیز را با خط فرمان کنترل کنند. nmcli ابزار اصلی NetworkManager در ترمینال است و برای اسکریپت نویسی و مدیریت چندین سرور بسیار کاربردی است.
مثال ساده برای تنظیم DNS در لینوکس با nmcli:
# نمایش لیست کانکشنها
nmcli connection show
# فرض کنیم نام کانکشن شما "Wired connection 1" است
sudo nmcli connection modify "Wired connection 1" ipv4.dns "1.1.1.1 8.8.8.8"
sudo nmcli connection modify "Wired connection 1" ipv4.ignore-auto-dns yes
# ریستارت کانکشن
sudo nmcli connection down "Wired connection 1"
sudo nmcli connection up "Wired connection 1"
جدول مقایسه روش های مختلف تنظیم DNS در لینوکس
برای اینکه بهتر بتوانی تصمیم بگیری کدام روش برایت مناسب تر است، جدول زیر را ببین:
| روش تنظیم DNS | مناسب برای چه کسانی؟ | مزایا | معایب | سطح مهارت |
| ویرایش /etc/resolv.conf | مدیران سرور، کاربران حرفه ای ترمینال | کنترل مستقیم، قابل اسکریپت نویسی، مستقل از GUI | احتمال بازنویسی شدن، نیاز به دقت و دانش بیشتر | متوسط تا پیشرفته |
| NetworkManager – محیط گرافیکی | کاربران دسکتاپ، تازه کار تا نیمه حرفه ای | کاربری ساده، گرافیکی، مناسب برای استفاده روزمره | وابسته به محیط دسکتاپ، مناسب نبودن برای برخی سرورها | مبتدی تا متوسط |
| NetworkManager – nmtui | کاربران عادت کرده به ترمینال ساده | محیط متنی قابل فهم، بدون نیاز به ماوس | کمی محدودتر از nmcli | متوسط |
| NetworkManager – nmcli | ادمین ها و کاربران حرفه ای | بسیار قدرتمند، مناسب اسکریپت، مدیریت چندین کانکشن | یادگیری دستورها زمان بر است | پیشرفته |
https://serverfault.com/questions/810636/how-to-manage-dns-in-networkmanager-via-console-nmcli
این جدول می تواند در صفحه، مخصوصاً روی موبایل، با اسکرول افقی نمایش داده شود تا تجربه کاربری خوبی داشته باشد.
چطور مطمئن شویم تنظیم DNS در لینوکس درست انجام شده است؟
بعد از هر تغییری، حتماً تست کن که همه چیز درست کار می کند. چند دستور مفید:
- بررسی IP فعلی خودت
بهترین روش برای اطمینان از وضعیت IP و DNS، استفاده از ابزارهای آنلاین است.
می توانی وارد بخش «آی پی من» در سایت شلتر شوی و IP و وضعیت اتصال ات را ببینی. - ping یک دامنه شناخته شده
ping -c 4 google.com
اگر پاسخ ها سریع و بدون Packet Loss بودند، وضعیت خوب است.
- بررسی اطلاعات DNS با dig یا nslookup
اگر این ابزارها نصب هستند:
dig example.com
# یا
nslookup example.com
زمان پاسخ (Query time) را می توانی با قبل مقایسه کنی.
اگر بعد از تنظیم DNS در لینوکس سایت ها باز نمی شوند:
- مطمئن شو IPهای DNS را درست وارد کرده ای.
- موقتاً به DNS عمومی مثل 1.1.1.1 و 8.8.8.8 برگرد.
- اگر با عمومی ها درست شد، دوباره DNS اختصاصی (مثلاً شلتر) را طبق راهنما تنظیم کن.
سناریوی واقعی: افزایش سرعت با استفاده از DNS اختصاصی
فرض کن یک کاربر حرفه ای لینوکس هستی که هر روز:
- در چندین پلتفرم کاری آنلاین فعالیت می کنی،
- گاهی بازی های آنلاین انجام می دهی،
- و به امنیت ارتباط ات هم اهمیت می دهی.
این کاربر بعد از مدتی متوجه می شود:
- بعضی سایت ها دیر لود می شوند،
- گاهی زمان پاسخ دهی (Latency) در بازی ها بالا می رود،
- و بعضی سرویس ها با قطع و وصل شدن DNS دچار مشکل می شوند.
او با استفاده از همین آموزش، تنظیم DNS در لینوکس را انجام می دهد، DNSهای پیش فرض ISP را حذف می کند و به جای آن ها:
- یک DNS عمومی سریع،
- به علاوه یک DNS اختصاصی مثل شلتر را تنظیم می کند.
بعد از تغییر:
- زمان باز شدن بسیاری از سایت ها بهتر می شود،
- نوسان پینگ در بازی ها کاهش پیدا می کند،
- و به کمک DNS اختصاصی، امنیت و فیلترهای محافظتی بهتری نیز در اختیار دارد.
این دقیقاً همان چیزی است که یک «تنظیم درست DNS» می تواند برای تجربه اینترنت تو انجام دهد.
بهترین DNS برای تنظیم DNS در لینوکس کدام است؟
یک سؤال پرتکرار این است که: «کدام DNS را انتخاب کنیم؟»
به طور کلی سه دسته مهم وجود دارد:
- DNS پیش فرض ISP
- مزایا: بدون نیاز به تنظیم اضافی
- معایب: معمولاً کندتر، گاهی ناپایدار، کنترل کمتر روی حریم خصوصی
- DNS عمومی شناخته شده (مثل سرویس های بین المللی)
- مزایا: سرعت خوب، پایداری بیشتر
- معایب: همیشه ایده آل برای شرایط هر کشور نیست، گاهی محدودیت هایی وجود دارد
- DNS اختصاصی (دی ان اس اختصاصی شلتر )
- مزایا:
- تمرکز روی سرعت و امنیت برای کاربران محلی
- امکان بهینه سازی مخصوص شرایط شبکه کشور
- پشتیبانی و مستندات فارسی
- معایب:
- نیاز به تنظیم دستی (که البته با همین راهنما ساده شده است)
- مزایا:
اگر به امنیت، سرعت و تجربه پایدارتری نیاز داری، استفاده از یک DNS اختصاصی معتبر مثل شلتر می تواند انتخاب هوشمندانه تری باشد. برای این کار کافی است IPهای معرفی شده شلتر را در یکی از روش های تنظیم DNS در لینوکس که بالا گفتیم وارد کنی.
سوالات متداول درباره تنظیم DNS در لینوکس (FAQ)
جمع بندی و نتیجه گیری
در این مقاله دیدیم که تنظیم DNS در لینوکس نه تنها کار ترسناکی نیست، بلکه با چند قدم ساده می تواند:
- سرعت بارگذاری سایت ها را بهتر کند،
- پایداری اتصال را افزایش دهد،
- و سطح امنیت و حریم خصوصی ات را بالا ببرد.
دو مسیر اصلی پیش روی توست:
- ویرایش مستقیم /etc/resolv.conf – بیشتر برای سرورها و کاربران حرفه ای
- استفاده از NetworkManager (GUI، nmtui، nmcli) – مناسب کاربران دسکتاپ و کسانی که راحتی و انعطاف می خواهند
اگر به دنبال DNS سریع و امن هستی، استفاده از DNSهای اختصاصی مثل شلتر می تواند یک ارتقای جدی برای تجربه اینترنت ات باشد. کافی است IPهای معرفی شده شلتر را در تنظیمات DNS سیستم ات وارد کنی.
حالا نوبت توست 👇
- اگر تا اینجای راهنما را خواندی، همین امروز روی سیستم ات تنظیم DNS در لینوکس را انجام بده و نتیجه را تست کن.
- وارد بخش «آی پی من» در سایت شلتر شو، وضعیت IP و DNS خودت را ببین و تصمیم بگیر که آیا وقت تغییر به یک DNS اختصاصی و امن رسیده یا نه.