تنظیمات DNS در اوبونتو یکی از مفاهیم کلیدی است که هر کاربر لینوکسی باید به خوبی با آن آشنا باشد. چه بخواهید از DNSهای عمومی و معروف گوگل، مانند 8.8.8.8 یا 8.8.4.4 استفاده کنید و چه سرویسهای DNS متمرکز بر حریم خصوصی مثل 1.1.1.1 از کلودفلر را ترجیح دهید، ضروری است که بدانید چگونه اطلاعات DNS فعلی را پیدا کرده و در صورت لزوم آنها را تغییر دهید.
در این راهنما، شما را با نحوه تغییر nameserverهای DNS در اوبونتو 20.04 آشنا میکنیم تا تجربهای سریعتر و پایدارتر از اینترنت داشته باشید. همچنین به شما نشان خواهیم داد چگونه با استفاده از BIND9 در اوبونتو یک سرور DNS راهاندازی و پیکربندی کنید تا بتوانید به راحتی عملیات سرور DNS خود را مدیریت کنید.
DNS چیست؟
تمام دستگاههای متصل به اینترنت دارای یک آدرس IP منحصر به فرد هستند که سایر دستگاهها از آن برای یافتن و برقراری ارتباط با آن دستگاه استفاده میکنند. سرویسهای DNS (سامانه نام دامنه) برای ترجمه نامهای دامنهای که برای انسانها قابل فهم هستند به آدرسهای IP مورد استفاده شبکهها طراحی شدهاند. این ترجمه برای عملکرد صحیح شبکهها ضروری است.
پیکربندی صحیح سرویسهای DNS برای اطمینان از تداوم ارتباط دستگاههای شبکه با سایر شبکهها و اینترنت عمومی بسیار حیاتی است. علاوه بر تسهیل استفاده از نامهای وبسایتها و سرورها، سرویسهای DNS به منظور هدایت یک سرور یا برنامه میزبانیشده به دستگاهی (معمولاً سرور) استفاده میشود که میتواند بهترین سطح خدمات را به کاربر ارائه دهد.
این سرویسها و سرورهای DNS معمولاً به صورت سلسلهمراتبی پیادهسازی میشوند.
چرا باید DNS سفارشی در اوبونتو تنظیم کنید؟
در بیشتر موارد، تنظیمات پیشفرض DNS سیستم عملکرد بهینهای دارند. اما در برخی سناریوها، بهتر است از ارائهدهنده DNS شخص ثالث استفاده کنید. مزایای استفاده از DNS سفارشی در اوبونتو شامل موارد زیر است:
- سرعت: برخی از سرورهای DNS سریعتر از سایرین هستند که منجر به حل سریعتر نام دامنه میشود، زیرا تاخیر کمتری دارند. سرویسهای DNS کند میتواند به طور قابل توجهی سرعت درخواستها و عملیات مرتبط را تحت تأثیر قرار دهد.
- قابلیت اطمینان: یک سرور DNS قابل اعتماد دسترسی پیوسته به اینترنت را تضمین میکند.
- امنیت و حریم خصوصی: برخی از ارائهدهندگان DNS ویژگیهای امنیتی پیشرفته و حفاظتهای حریم خصوصی را ارائه میدهند. DNS متمرکز بر امنیت میتواند لایهای اضافی از حفاظت را برای عملیات سرور فراهم کند.
- دور زدن محدودیتها: برخی از سرورهای DNS میتوانند به دور زدن محدودیتها و سانسورهای منطقهای کمک کنند.
پیشنیازها
قبل از اینکه به تغییر تنظیمات DNS Nameserver در اوبونتو 20.04 بپردازیم، مطمئن شوید که شرایط زیر را دارید:
- یک سرور اختصاصی یا سرور مجازی لینوکس با توزیع اوبونتو 20.04
- یک حساب کاربری با دسترسی مدیریتی (sudo)
- آشنایی پایهای با محیط خط فرمان لینوکس (CLI)
روش اول: تغییر DNS Nameserver از طریق رابط گرافیکی (GUI)
اوبونتو امکان تغییر اطلاعات DNS Nameserver را از طریق رابط گرافیکی فراهم میکند. این روش برای کسانی توصیه میشود که با کار کردن در خط فرمان راحت نیستند یا میخواهند به سرعت تنظیمات DNS را تغییر دهند. در ادامه مراحل اصلی این فرآیند ذکر شده است.
مرحله ۱: جستجوی «Network» در تنظیمات
در منوی تنظیمات، گزینه “Network” را جستجو کنید. این بخش اصلی مدیریت تمامی تنظیمات مربوط به شبکه را باز میکند.
مرحله ۲: انتخاب اتصال شبکه
در پنجره تنظیمات شبکه، لیستی از اتصالات شبکه موجود (کابلی، Wi-Fi و غیره) نمایش داده میشود. روی اتصالی که میخواهید تغییر دهید کلیک کنید. اگر اتصال کابلی باشد، معمولاً با نام “Wired” یا “Ethernet” نمایش داده میشود. اتصالات بیسیم در بخش “Wi-Fi” قرار دارند.
مرحله ۳: دسترسی به تنظیمات DNS
پس از انتخاب اتصال، روی آیکون چرخدنده کلیک کنید تا به تنظیمات دسترسی پیدا کنید. بسته به پروتکل شما، به تب IPv4 یا IPv6 بروید.
مرحله ۴: تغییر تنظیمات DNS
ابتدا گزینه “Automatic” را غیرفعال کنید تا امکان تنظیم دستی سرورهای DNS فراهم شود. آدرسهای DNS مورد نظر خود را در فیلد مربوطه وارد کنید. میتوانید چندین آدرس را با کاما از یکدیگر جدا کنید.
توجه: اگر در حال تنظیم یک آدرس IP ثابت هستید، ممکن است بخواهید تنظیمات خودکار DHCP را نیز غیرفعال کنید.
مرحله ۵: اعمال تغییرات
روی “Apply” کلیک کنید تا تغییرات ذخیره شوند. برای اینکه تغییرات به درستی اعمال شوند، باید اتصال شبکه خود را قطع و دوباره متصل کنید. برای بررسی تنظیمات جدید DNS، میتوانید یک ترمینال باز کرده و از دستورهای “ping” یا “nslookup” برای تست وضوح دامنه استفاده کنید.
روش دوم: تغییر اطلاعات DNS Nameserver در فایل پیکربندی سرور
میتوانید با ویرایش فایل پیکربندی سرور در محیط اوبونتو 20.04، DNS سرور را به سرعت تغییر دهید.
با معرفی netplan در اوبونتو 18.04 و نسخههای بعدی، ابزاری قدرتمند برای مدیریت و ویرایش تنظیمات شبکه در اختیار شما قرار گرفته است. این ابزار با استفاده از فایلهای YAML تنظیمات شبکه را اعمال میکند و امکان خودکارسازی نصب و پیکربندی شبکه را فراهم میآورد. در ادامه مراحل تغییر DNS nameserver با استفاده از netplan را بررسی میکنیم:
مرحله ۱: پیدا کردن فایلهای پیکربندی netplan
تغییر تنظیمات DNS نیازمند ویرایش فایلهای پیکربندی netplan است که معمولاً در دایرکتوری /etc/netplan/
قرار دارند. با استفاده از دستور زیر میتوانید محتوای این پوشه را مشاهده کنید:
# ls /etc/netplan/
مرحله ۲: ویرایش فایل پیکربندی
فایل 01-netcfg.yaml
را با یک ویرایشگر متن مانند Nano یا Vim باز کنید. برای این آموزش، فایل را با Vim باز میکنیم:
# sudo vim /etc/netplan/01-netcfg.yaml
بخش مربوط به اینترفیس شبکه را پیدا کرده و اطلاعات DNS سرور جدید را اضافه کنید. پس از انجام تغییرات، فایل را ذخیره کرده و ببندید.
مرحله ۳: اعمال تغییرات
برای اعمال تغییرات در فایل پیکربندی، دستور زیر را اجرا کنید:
# sudo netplan apply
ممکن است هیچ پیامی مبنی بر موفقیت تغییرات مشاهده نکنید، اما میتوانید با اجرای دستور زیر، تغییرات را تأیید کنید:
# resolvectl status | grep "DNS Server" -A2
این دستور اطلاعات سرور DNS فعلی را نمایش میدهد.
پاکسازی کش DNS اوبونتو
کش DNS میتواند به تسریع فرآیند وضوح نام دامنه در سرور اوبونتو کمک کند. کش DNS یک حافظه موقت برای نتایج جستجوهای DNS قبلی است و پیش از انجام جستجوی خارجی DNS، این کش بررسی میشود. برای پاکسازی کش DNS، دستور زیر را اجرا کنید:
# systemd-resolve --flush-caches
توجه داشته باشید که این دستور پیام وضعیت خاصی را تولید نمیکند. برای تأیید موفقیتآمیز بودن پاکسازی، میتوانید دستور زیر را اجرا کنید:
# systemd-resolve --statistics
نصب و پیکربندی BIND9 در اوبونتو
مرحله ۱: بهروزرسانی بستههای سرور
ابتدا با اجرای دستور زیر بستههای سرور را بهروزرسانی کنید:
مرحله ۲: نصب بسته BIND9
برای نصب BIND9 در اوبونتو، دستور زیر را اجرا کنید:
# sudo apt install bind9
مرحله ۳: پیکربندی BIND9
پس از نصب، باید فایلهای پیکربندی DNS را ایجاد و ویرایش کنید. اولین فایل مهم named.conf
است که حاوی اطلاعات مربوط به ناحیههای DNS فعال است. این فایل را باز کرده و خط زیر را به آن اضافه کنید:
options { directory "/var/cache/bind"; }; zone "example.com" { type master; file "/etc/bind/db.mysite.com"; };
مرحله ۴: پیکربندی فایل Zone
فایل ناحیهی مشخص شده در named.conf
را در مسیر /etc/bind/
ایجاد کنید. این فایل را db.mysite.com
نام گذاری کرده و خطوط زیر را در آن اضافه کنید:
@ IN SOA ns1.mysite.com. admin.example.com. ( 1; Serial 604800; Refresh 86400; Retry 2419200; Expire 604800); TTL ; @ IN NS ns1.mysite.com. ns1 IN A [Server_IP_Address]
مرحله ۵: راهاندازی مجدد سرویس BIND
در نهایت، سرویس BIND9 را با دستور زیر راهاندازی مجدد کنید تا تغییرات اعمال شوند:
# sudo service bind9 restart
راهاندازی مجدد سرویسهای DNS
پس از انجام تغییرات در فایلهای پیکربندی DNS، برخی کاربران متوجه میشوند که این تغییرات در تنظیمات سیستم منعکس نمیشوند.
برای حل این مشکل، پیشنهاد میشود خدمات DNS را مجدداً راهاندازی کنید. این گام نهایی، خدمات DNS را متوقف کرده و مجدداً راهاندازی میکند و در طول این فرایند، تنظیمات از فایلهای پیکربندی DNS بارگذاری میشوند.
روش استاندارد برای راهاندازی مجدد خدمات DNS این است که از system service manager استفاده کرده و دستور راهاندازی مجدد را اجرا کنید. برای مثال، در سیستمهایی که توزیعهای لینوکس با SystemD را اجرا میکنند، میتوانید سرویسهای DNS را با این دستور راهاندازی مجدد کنید:
# systemctl restart <DNS service manager>
کار با فایلهای DNS
در اکثر سیستمهای لینوکس، سرویسهای DNS از فایلهای پیکربندی برای تنظیم پارامترهای عملیاتی استفاده میکنند.
برای مثال، سیستم از یک فایل DNS برای فهمیدن اینکه چگونه یک نام دامنه را به یک آدرس IP مربوطه تبدیل کند، استفاده میکند. در بسیاری از سیستمها، این فایل با نام resolv.conf شناخته میشود که نشاندهنده یک فایل پیکربندی است.
این فایل معمولاً در پوشه /etc قرار دارد (مسیر کامل: /etc/resolv.conf). بسیاری از ابزارهای مدیریت شبکه (مانند systemd-resolved و NetworkManager) از این فایل DNS برای تعیین پارامترهای حل نام دامنه استفاده میکنند.
توصیه نمیشود که این فایلها را ویرایش کنید زیرا معمولاً به صورت خودکار توسط ابزارهای موجود در سیستم تولید میشوند و ممکن است تغییرات شما هنگام راهاندازی مجدد این ابزارها نادیده گرفته شود. با این حال، اگر مجبور به ویرایش این فایلها شدید، میتوانید از ویرایشگر متنی دلخواه خود استفاده کنید. این فایلها به دلیل متنی بودن، میتوانند بدون مشکل در این ویرایشگرها ویرایش شوند.
جمعبندی
راهاندازی یک سرور DNS سفارشی در اوبونتو 20.04 یک فرایند ساده است که میتواند تجربه شما از اتصال اینترنتی را به میزان قابل توجهی بهبود بخشد. برای تغییر DNS در لینوکس چه روش رابط کاربری گرافیکی را انتخاب کنید و چه روش ترمینال، به راحتی میتوانید این کار را انجام دهید. با این کار میتوانید از مزایایی مانند مرور سریعتر، امنتر و مطمئنتر در اینترنت بهرهمند شوید.
سوالات متداول
سرور DNS چیست و چرا باید آن را در اوبونتو 20.04 تغییر دهم؟
سرور DNS نام دامنه را به آدرس IP ترجمه میکند. برای بهبود امنیت و سرعت اینترنت یا دسترسی به محتوای محدودشده در یک منطقه، باید DNS را در اوبونتو 20.04 تغییر دهید.
چگونه میتوان سرور DNS فعلی را در اوبونتو 20.04 پیدا کرد؟
با اجرای دستور «systemd-resolve –status» در ترمینال و جستوجوی ورودی «DNS Servers» میتوانید سرور DNS فعلی خود را پیدا کنید.
آیا میتوان با استفاده از Network Manager GUI سرور DNS را در اوبونتو 20.04 تغییر داد؟
بله، با دسترسی به تنظیمات اتصال شبکه، انتخاب اتصال مناسب و وارد کردن آدرسهای جدید سرور DNS میتوانید با استفاده از رابط کاربری گرافیکی Network Manager سرور DNS را در اوبونتو 20.04 تغییر داد.
چگونه میتوان با استفاده از خط فرمان سرور DNS اولیه (Primary) را در اوبونتو 20.04 تغییر داد؟
میتوانید با ویرایش فایلهای پیکربندی Netplan و مشخص کردن آدرس سرور DNS اولیهی جدید، سرور DNS اولیه را با استفاده از خط فرمان در اوبونتو 20.04 تغییر دهید.