تنظیم DNS بر روی سرور مجازی Debian
شاید بارها برای شما پیش آمده باشد که قصد داشته باشید درون برنامه خود از API یا ویژگیهای خاص دیگری استفاده کنید؛ اما به هر نحوی (مانند تحریمها) نتوانستهاید ارتباط موفقی را در سرور مجازی خود شکل دهید. در این صورت شما بایستی DNS خاصی را بر روی VPS خود تنظیم کنید.
شما میتوانید به دو شکل DNS خود را تنظیم کنید. در صورتی که قصد دارید بهصورت موقتی و تا زمانی که سرور مجازی شما روشن است، DNS فعال باشد، میتوانید از روش Temporary استفاده کنید. اما در صورتی که قصد دارید DNS خود را بهصورت دائمی و برای همیشه بر روی سرور مجازی خود فعال داشته باشید، میتوانید از روش Permanent استفاده کنید.
در ابتدا، دستور زیر را اجرا کنید:
ip link showبا استفاده از دستور فوق، میتوانید لیست شبکههای موجود در سرور مجازی خود را مشاهده کنید.
بهعنوان مثال، ens33، نام رابط شبکهای است که در خروجی دستور فوق، قرار گرفته است. در صورتی که نام رابط شبکه شما متفاوت بود، باید از آن استفاده کنید. در ادامه، بایستی دستور زیر را اجرا کنید:
resolvectl dns ens33 8.8.8.8 8.8.4.4در دستور فوق، به جای ens33، نام رابط شبکه خود و به جای 8.8.8.8 و 8.8.4.4، DNS مورد نظر خود را قرار دهید. تمامی کارها انجام شده است و اکنون برای بررسی استفاده از DNS خود، میتوانید دستور زیر را اجرا کنید:
resolvectl statusبا انجام کارهای فوق، DNSها بهصورت موقت بر روی سرور مجازی Debian شما تنظیم شده و تا زمان reboot شدن سرور مجازی، باقی میمانند.
در ابتدا، با اجرای دستور زیر، بررسی کنید که آیا سرویس systemd-resolved فعال است یا خیر:
systemctl is-active systemd-resolvedدر صورتی که خروجی دستور فوق، inactive بود، دستور زیر را اجرا کنید تا سرویس systemd-resolvedنصب و فعال شود؛ در غیر اینصورت، میتوانید به مرحله بعدی بروید:
sudo apt update && sudo apt install -y systemd-resolved && sudo systemctl enable --now systemd-resolvedبرای تنظیم DNS در ادامه، بایستی فایل etc/systemd/resolved.conf/ را ویرایش کنید. برای این کار، میتوانید از ویرایشگر nano استفاده کنید:
sudo nano /etc/systemd/resolved.confدر این فایل، بایستی خط =DNS# و =FallbackDNS# را پیدا کرده، از حالت کامنت خارج کنید (با حذف # از ابتدای آن) و سپس مقادیر آنها را مانند شکل زیر، تغییر دهید:
[Resolve]
DNS=8.8.8.8 8.8.4.4
FallbackDNS=1.1.1.1 1.0.0.1
در قطعه کد فوق، به جای 8.8.8.8 و 8.8.4.4 آدرسهای DNSهای خود را قرار دهید. در نظر داشته باشید که متغیر FallbackDNS، شامل DNSهای پشتیبان شما هست که در صورت عدم دسترسی به DNS اصلی، از آنها استفاده میشود.
در ادامه، بایستی سرویس systemd-resolved را مجدداً راهاندازی کنید. برای این کار، میتوانید از دستور زیر استفاده کنید:
sudo systemctl restart systemd-resolvedدر نهایت، برای بررسی DNSهای تنظیم شده، میتوانید از دستور زیر استفاده کنید:
resolvectl status