در این مقاله، قصد داریم یکی از ترفندهای پرکاربرد جهت مشاهده سایت بدون نیاز به تنظیم DNS سرور را به صورت گام به گام آموزش دهیم.
گاهی نیاز است که بدون تغییر نیم سرور دامنه یا همان DNS، سایت خود را از هاست یا سروری به جز هاست و سرور اصلی لود کنیم و یا در حین انتقال سرویس هاست، لازم است که قبل از تنظیم نیم سرور مطمئن شویم که موردی روی سایت اشتباه نیست و همه موارد به درستی انجام شده است.
در تمامی سیستمعاملها (اعم از ویندوزی، لینوکسی و …)، فارغ از اینکه اون سیستمعامل روی سیستم شخصی شما نصب شده یا سرور، یک فایل با نام hosts وجود دارد که در زمان لود یک وبسایت از طریق مرورگر، پیش از استعلام IP مقصد دامنه (DNS Query)، از فایل hosts استعلام میشود و در صورتی که آدرس مشخصی را برای دامنه مدنظرتان مشخص کردهباشید، اطلاعات دامنه از همان آدرس IP درون فایل hosts لود میشود.
با تغییر فایل hosts خود میتوانید در حالی که سایتتان روی سروری وجود دارد که کاربرانتان از طریق آن سایت شما را مشاهده میکنند، شما سایت را روی سرور دیگری مشاهده و ویرایش کنید. در این صورت شما میتوانید در زمان اصلاح سایت، تغییرات آن را روی سرور دیگری انجام دهید و در انتها، سایت را به سرور اصلی منتقل کنید.
باتوجه به این امکان، تغییر فایل هاست یک راهکار بسیار کاربردی و ضروری شناخته میشود. با استفاده از این روش میتوانید قبل از اینکه DNSها را بروز کنید، همه موارد سایت را چک و اصلاح کنید و سپس سایت خود را به سرور اصلی انتقال دهید. از این رو، کاربرانتان با مشکلات کمتری مواجه خواهند شد.
با این راهنمای گام به گام مشاهده سایت بدون نیاز به تنظیم DNS سرور، مسیر بسیار سادهای را طی خواهید کرد. در ابتدا، بیایید نگاهی به یک نمونه فایل hosts بیندازیم:
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
1.1.1.1 bertina.ir www.bertina.ir
در این مثال، سه ورودی اول به صورت پیشفرض برای پیکربندی یا همان کانفیگ رابط local network استفاده میشوند. ممکن است برخی از ورودیهای local را در فایل هاست خود داشته باشید. ورودیهای سفارشی در پایین فایل قرار میگیرند؛ به طور مثال، عبارت زیر که در انتهای فایل است، ورودی سفارشی است که قبلا اضافه کردهایم:
bertina.ir www.bertina.ir 1.1.1.1
همانطور که در ابتدای مقاله گفته شد، در تمامی سیستمعاملها یک فایل با نام hosts وجود دارد که در زمان لود وبسایت از طریق مرورگر، پیش از استعلام IP مقصد دامنه (DNS Query)، از فایل hosts استعلام گرفته میشود و در صورتی که آدرس مشخصی را برای دامنه مدنظرتان مشخص کردهباشید، اطلاعات دامنه از همان آدرس IP درون فایل hosts لود میشود.
باتوجه به مثال بالا، در واقع ورودی سفارشی مشخص میکند که هر درخواستی از سیستم شما (از طریق مرورگر وب یا SSH ،email یا FTP client) به bertina.ir یا www.bertina.ir فرستاده شود، محتوای آدرس IP که مشخص کردهاید (1.1.1.1) به شما نمایش داده میشود. برای تغییر مسیر (redirect) درخواست سفارشی خود، باید ورودی سفارشی خود را با همان فرمت به انتهای فایل hosts اضافه کنید.
عبارت ورودی سفارشی شما باید در یک خط و شامل سه بخش زیر باشد:
اگر پلتفرم خود را به سرورهای برتینا منتقل میکنید، مسئول بخش فنی شما، اطلاعاتی را که باید به فایل hosts اضافه کنید، در اختیار شما قرار میدهد و شما باید باتوجه به دستور بالا، آنها را وارد فایل هاست (hosts) سیستم خود کنید. اگر تغییر سرور شما شامل چندین آدرس IP باشد، صرف نظر از اینکه چند دامنه آن را به اشتراک میگذارند، برای هر آدرس IP، باید یک خط جداگانه داشته باشید.
توجه: هیچ ورودی لوکال موجود در فایل هاست خود را حذف یا تغییر ندهید. شما فقط یک خط یا خطوط جدید در انتهای فایل اضافه کنید و پس از اتمام کار خود، خطوطی که اضافه کردهاید را حذف کنید.
مکان فایل hosts به سیستمعامل سیستمتان بستگی دارد. از آنجایی که این یک فایل محافظت شده است و باید با administrative privileges ویرایش شود، روش ویرایش نیز براساس سیستمعامل متفاوت است.
در ادامه، روش ویرایش فایل hosts را در سه سیستم عامل Windows ،Mac OS X و Linux را آموزش میدهیم. برای مشاهده سایت بدون دامنه در سیستمی با هر یک از این سیستمعاملها، با ما همراه باشید.
نکته:
فایرفاکس به طور پیشفرض از DNS روی HTTPS یا DOH استفاده میکند. به این معنی که فایرفاکس به جای بررسی فایل local hosts یا حتی DNS resolver خود، درخواست DNS را از طریق HTTPS از داخل مرورگر انجام میدهد. این کار تضمین میکند که وبسایت نمایش داده شده به آدرس IP که اینترنت برای آن دامنه معتبر میداند، متصل شده است. دو راه اصلی برای جلوگیری از این کار هنگام مشاهده سایت بدون نیاز به تنظیم DNS دامنه وجود دارد.
روش اول: از مرورگر دیگری مانند Chrome، Edge، Safari استفاده کنید زیرا این تنظیمات در دیگر مرورگرها به طور پیشفرض فعال نیستند.
روش دوم: غیرفعال کردن DOH در مرورگر فایرفاکس روش دیگری است که برای این کار باید دستورات زیر را انجام دهید:
۱. مرورگر فایرفاکس خود را باز کنید.
۲. روی دکمه menu کلیک کرده و گزینهها Options را انتخاب کنید.
۳. در پنل General، به قسمت Network Settings بروید و روی دکمه Settings کلیک کنید.
۴. در dialog box که باز می شود، در پایین به Enable DNS over HTTPS بروید.
۵. علامت کادر کنار Enable DNS over HTTPS را بردارید.
۶. برای ذخیره تغییرات خود روی OK کلیک کنید و پنجره را ببندید. اکنون میتوانید فایل Hosts خود را ویرایش کنید. توصیه میشود پس از اتمام کار خود، دوباره این ویژگی را فعال کنید زیرا امنیت شما را در فضای وب بیشتر میکند.
در ویندوز، فایل hosts در آدرس C:\Windows\System32\drivers\etc\hosts قرار دارد. شما باید فایل را با administrative privileges ویرایش کنید. برای باز کردن و ویرایش این فایل، نیاز داریم که حتما دسترسی administrator یا root داشته باشیم.
مرحله ۱:
با کلید ترکیبی Ctrl+R صفحهی run را باز میکنید و با تایپ کردن عبارت drivers و کلیک روی دکمهی enter، وارد مسیر زیر میشوید:
c:\windows\system32\drivers
مرحله ۲:
پوشهی etc و سپس فایل hosts را باز کنید.
مرحله ۳:
در این روش، شما باید نرمافزار notepad++ را نصب کرده باشید. با کلیک راست روی فایل و انتخاب گزینه edit with notepad++ میتوانید فایل hosts را تغییر دهید.
در صفحهی نوتپد کامنت هایی را مشاهده میکنید که توسط علامت # مشخص شده اند و در واقع این خطوط فاقد عملکرد بوده و صرفا برای نمایش توضیحات قرار داده شده اند.
مرحله ۴:
برای ارجاع یک آدرس به یک IP خاص (به طور مثال، IP سرور جدید)، باید آدرس IP مورد نظر، یک فاصله، دامنه یا آدرسی که میخواهید به آن IP اشاره کند را در یک خط به انتهای notepad اضافه و سپس آن را ذخیره کنید.
مرحله ۵:
در نهایت، پیامی ظاهر میشود که به شما اعلام میکند برای تغییر فایل hosts باید با دسترسی ادمین وارد شوید و با کلیک کردن روی گزینهی yes، یکبار notepad++ بسته و باز میشود، سپس باید دوباره دکمه ذخیره یا Ctrl+S را بزنید.
با یک مثال مراحل بالا را باهم مرورمیکنیم:
به طور مثال، میخواهیم آدرس bertina.ir را به آدرس IP 1.1.1.1 متصل کنیم.
در انتهای فایل hosts عبارت زیر را وارد میکنیم:
bertina.ir www.bertina.ir 1.1.1.1
مرحله ۱:
روی دکمه Windows کلیک کنید و “Notepad” را در کادر جستجو تایپ کنید.
مرحله ۲:
روی Notepad راست کلیک کرده و سپس روی Run as Administrator کلیک کنید.
مرحله ۳:
در پاپآپ User Account Control، گزینه “Yes” را انتخاب کنید.
مرحله ۴:
در Notepad» ،File» و سپس «Open» را انتخاب کنید.
مرحله ۵:
روی نوار آدرس در بالا کلیک کنید،C:\Windows\System32\drivers\etc\hosts را وارد کنید و سپس “Enter” را فشار دهید.
مرحله ۶:
Notepad را از لیست انتخاب کرده و سپس OK کنید.
مرحله ۷:
IP و hostname (داده شده توسط تیم فنی) را در انتهای فایل هاست خود اضافه کنید،Save را انتخاب کنید و فایل را ببندید.
مرحله ۸:
در این مرحله، کش DNS خود را پاک کنید تا مجبور نشوید برای اعمال تغییرات از سیستم خارج و دوباره وارد شوید.
مرحله ۹:
در آخر، یک خط فرمان elevated را مانند بالا باز کنید و دستور زیر را وارد کنید:
root@host:# ipconfig /flushdns
طبیعتا اگر روی 1.1.1.1 دامنه bertina.ir تعریف شده باشه، مرورگر اطلاعات موجود در آن سرور را نمایش خواهد داد و دیگر سراغ سرور اصلی سایت برتینا نخواهد رفت.
پس هنگامی که صحبت از آدرس اینترنتی یا URL میکنیم دقیقا منظور ما آن مسیری است که مرورگر برای نمایش یک سایت یا لینک باز میکند و این مورد شامل پروتکل استفاده شده یا www هم میشود. مثالهای زیر را ببینید:
پس برای اینکه مطمئن شویم دامنه یا آدرس سایت ما به IP مورد نظر روی سیستم خودمان متصل شده یا نه، از ping میتوانیم کمک بگیریم.
اگر بعد از اینکه دستور ping را اجرا کردیم، تغییری مشاهده نشد و مطمئن بودیم که فایل hosts را درست تنظیم کردیم، دستور زیر را در CMD وارد میکنیم:
ipconfig /flushdns
این دستور باعث میشود که کش مربوط به DNS سیستم شما خالی شده و با استعلام دامنه، روند پیدا کردن IP متناظر از ابتدا شروع شود.
همچنین، زمانی که میخواهید دامنه خود را در مرورگر باز کنید، یا کش مرورگر را خالی کنید یا از Private window / Incognito window استفاده کنید.
برای مشاهده سایت بدون نیاز به تنظیم DNS سرور در سیستمعامل Mac OS X، باید وارد فایل hosts به آدرس: /private/etc/hosts شوید. برای ویرایش این فایل نیاز به administrative privileges دارید که میتوانید به صورت دستی یا با پیوست کردن ورودی جدید مستقیماً از طریق command line اقدام کنید.
مرحله ۱:
ابتدا، ترمینال (Terminal) را از طریق جستجوی Spotlight (از طریق دستور Command+Space یا کلیک روی نماد ذرهبین در نوار منو) یا پوشه Utilities در Applications اجرا کنید.
مرحله ۲:
برای ویرایش دستی فایل، دستور زیر را در ترمینال وارد کنید.
sudo nano /private/etc/hosts
مرحله ۳:
رمز عبور خود را پس از مشاهده درخواست، وارد کنید و سپس برای احراز هویت و باز کردن فایل، Enter را فشار دهید.
مرحله ۴:
اکنون خط جدید اطلاعات را اضافه کنید. آدرس IP و نام وبسایتی را که میخواهید، وارد کنید (یا جایگذاری کنید).
مرحله ۵:
برای ذخیره فایل،Control+O را فشار دهید. سپس Enter را فشار دهید تا فایل موجود بازنویسی شود و در نهایت،Control+X را برای خروج فشار دهید.
برای اضافه کردن ورودی به فایل موجود، میتوانید این کار را با یک دستور ساده انجام دهید، آدرس IP سرور و دامنه خود را به جای مواردی که در مثال زیر آمده است جایگزین کنید و سپس رمز عبور خود را وارد کنید.
echo "1.1.1.1 test.com www.test.com" | sudo tee -a /private/etc/hosts >/dev/null
هنگامی که در ترمینال هستید، باید کش DNS را پاک کنید تا مجبور به خروج از سیستم و دوباره ورود به آن جهت اعمال تغییرات نشوید. برای نسخه فعلی Mac OS X، میتوانید این کار را با دستور زیر انجام دهید.
dscacheutil -flushcache; sudo killall -HUP mDNSResponder
توجه داشته باشید:
در چند نسخه اول Mac OS X Yosemite (نسخههای 10.10 تا 10.10.3)، دستور لازم برای پاککردن کش به شرح زیر است.
sudo discoveryutil mdnsflushcache; sudo discoveryutil udnsflushcaches
در لینوکس، میتوانید فایل hosts را در آدرس: /etc/hosts پیدا کنید و برای ویرایش آن، نیاز به administrative privileges خواهید داشت.
میتوانید فایل را به صورت دستی با vi،vim یا nano ویرایش کنید یا ورودی جدیدی را مستقیماً از خط دستور (command line) اضافه کنید.
مرحله ۱:
ترمینالی را باز کرده و دستور زیر را وارد کنید. سپس رمز عبور خود را وارد کنید که در صورت صحیح بودن رمز شما تایید میشود.
sudo vim /etc/hosts
مرحله ۲:
ورودی جدید را در انتهای فایل اضافه کنید، سپس عبارت:wq را تایپ کنید و در ادامه فایل را ذخیره کرده و ببندید.
نکته: در vim، میتوانید “i” یا “a” را فشار دهید تا وارد حالت درج متن شوید. با فشار دادن کلید escape (Esc) روی صفحه کلید، به حالت کامند (command) باز میگرداند.
مرحله ۱:
اگر ترجیح میدهید به سادگی ورودی را به فایل موجود اضافه کنید، میتوانید این کار را با یک دستور انجام دهید و آدرس IP و دامنه سرور خود را با موارد موجود در مثال زیر جایگزین کنید. اگر به عنوان کاربر اصلی وارد نشدهاید، ممکن است لازم باشد رمز عبور root را برای تکمیل دستور وارد کنید.
echo "1.1.1.1 test.com www.test.com" | sudo tee -a /etc/hosts >/dev/null
مرحله ۲:
پس از اجرای دستور بالا، باید کش DNS را فلاش (flush the DNS cache) کنیم. این دستور بسته به ورژن سیستمعامل شما میتواند بسیار متفاوت باشد.
دستور اکثر ورژنهای اوبونتو (Ubuntu) و دبیان (Debian-derived):
sudo service dns-clean restart
سایر ورژنهای لینوکس که از NSCD (Name Service Caching Daemon) استفاده میکنند، لازم است یکی از دستورات زیر را وارد کنند:
sudo service nscd restart
sudo systemctl restart nscd.service
nscd -I hosts
جمعبندی:
تغییر فایل hosts، روشی عالی برای بررسی سایت خود روی سرور دیگری به غیر از سرور اصلی وبسایت شما است. این روش به شما در هنگام انتقال سایت از روی سروری به سرور دیگر بسیار کمک میکند. در این آموزش گام به گام مشاهده سایت بدون نیاز به تنظیم DNS سرور، به صورت کامل مراحل را برای تنظیم IP سفارشی توضیح دادهایم. در صورتی که با هرگونه مشکل رو به رو شدید، میتوانید با پشتیبانان فنی برتینا از طریق شماره ۶۱۰۶۴-۰۲۱ به صورت ۲۴ ساعته تماس بگیرید.
برتینا، ارائهدهنده انواع سرویسهای هاستینگ با بالاترین سرعت، کیفیت و امنیت است. تمامی سرویسهای برتینا با آپتایم ۹۹.۹٪ و پشتیبانی ۲۴ ساعته ارائه میشوند. جهت اطلاع از سرویسهای برتینا، میتوانید به وبسایت برتینا (bertina.ir) مراجعه کنید.
این مطلب چقدر برای شما مفید بود؟
امتیاز 4.7 / 5. تعداد نظرات : 19
اولین نظر را شما ثبت کنید!