آیا هنوز برای دسترسی به سرویسهای خودمیزبانتان از آدرسهای IP و شماره پورت استفاده میکنید؟ وقت آن رسیده که این کار را کنار بگذارید. شما به یک نام دامنه برای هوملبتان نیاز دارید، چرا که این کار دسترسی به سرویسهایی مانند Scrypted، Calibre یا هر نرمافزار دیگری که داخل شبکه خانگیتان اجرا میکنید را بسیار سادهتر میکند.
آدرسهای IP دردسرسازند. دامنه زندگی را سادهتر میکند
وقتی برای اولین بار هوملب خودم را راهاندازی کنید،احتمالا همهچیز با IP و پورت اجرا میشود. اگر بخواهید به Nginx Proxy Manager دسترسی پیدا کنید، باید به آدرس ۱۹۲.۱۶۸.۰.۶:۷۸۱۸ بروید. برای Scrypted هم آدرس ۱۹۲.۱۶۸.۰.۱۵۲:۱۰۴۴۳ است(چون دستگاهها روی IPهای مختلفی بودند).
میتوانید تصور کنید که اجرای ۱۰، ۲۰، ۳۰ یا حتی بیشتر سرویس روی یک شبکه چقدر میتواند گیجکننده باشد، بهویژه وقتی پورتها روی IPهای مختلف برای سرویسهای متفاوت یکسان باشند. در کل، فقط یک آشفتگی از IP و پورت است که باید تلاش کنید به خاطر بسپارید — و این اصلاً خوب جواب نمیدهد.
استفاده از دامنه برای هوملبتان باعث می شود بتوانید رزولوشن DNS برای IPهای محلی را راهاندازی کنید. حتی اگر از IP عمومی استفاده میکنید، ولی شما میتوانید دامنه را طوری پیکربندی کنید که فقط روی IP محلی عمل کند — یعنی فقط در شبکه داخلی (LAN) قابل دسترسی باشد.
حالا، به جای اینکه بخواهم به آدرس ۱۷۲.۱۶.۰.۱۵۱:۷۸۱۸ برای NPM (مدیر پراکسی Nginx) بروید، فقط کافیست در مرورگر تایپ کنید: npm.mydomain.com
. این خیلی راحتتر به خاطر سپرده میشود، و اگر IP یا پورت شبکه داخلیتان به هر دلیلی تغییر کند، دیگر نیازی نیست مغزتان را مجبور کنید که اطلاعات جدید را حفظ کند. فقط کافیست رکورد DNS را بهروزرسانی کنید و باز هم از همان آدرس قدیمی به همان سرویس دسترسی داشته باشید، حتی اگر در پشت صحنه مکانش تغییر کرده باشد.
خودمیزبانی با دامنه راحتتر است
چیزی که خیلی زود بعد از شروع هوملب به آن علاقهمند خواهید شد، خودمیزبانی (Self-Hosting) وبسایتها است. از وبسایت شخصیاتان گرفته تا سرویسهای خودمیزبان مثل Calibre برای کتابهای الکترونیکی یا AudioBookshelf برای کتابهای صوتی — اگر بخواهید راهی آسان برای دسترسی به آنها در خارج از خانهاتان داشته باشید.
میتوانید با پورت فورواردینگ (port forwarding) و انتقال پورتهای خاص، به آن سرویسها دسترسی پیدا کنید. اما این روش همیشه با گواهیهای SSL خوب کار نمیکند، و اگر IP عمومی شما تغییر کند، باید دوباره با IP جدید سر و کله بزنید. اما با استفاده از Nginx Proxy Manager (یا هر اپ مدیریت پراکسی دیگر)، میتوانید گواهیهای SSL را بهدرستی تنظیم کنید تا حتی هنگام مرور از راه دور، بهصورت امن و از طریق HTTPS به سرویسها دسترسی داشته باشید.
با داشتن یک دامنه برای هوملبتان، به راحتی میتوانید از بیرون شبکه محلیتان به سرویسها دسترسی پیدا کنید.
اگر آدرس IP شما به ندرت تغییر میکند، کافی است آن IP را در سرویس DNS وارد کنید و از طریق برنامهای مثل Nginx Proxy Manager، دسترسی به شبکه محلی را برقرار کنید.با این حال، برخی افراد IPهایی دارند که مکرراً تغییر میکنند — خوشبختانه این مشکل سختی نیست.
DNS پویا (Dynamic DNS) همهچیز را سادهتر میکند
اگر IP شما مرتباً تغییر میکند، DNS پویا یا DDNS برای شما ایدهآل است. این ابزار به شما امکان میدهد IP آدرس سرور DNS خود را بهطور خودکار و مداوم بهروز نگه دارید، بدون اینکه نیازی به تغییر دستی داشته باشید.
همهی سرویسهای DNS از DDNS پشتیبانی نمیکنند، بنابراین باید مطمئن شوید که جایی که دامنهی خود را از آن تهیه کردهاید (یا هر نامسروری که انتخاب کردهاید) از آن پشتیبانی میکند. Cloudflare سروری است که راههای مختلفی برای دسترسی به سرویسهای خانگی ارائه میدهد.
یکی از گزینهها تونلهای Cloudflare است، عموما افراد DDNS را با دامنههای کاملاً مشخص ترجیح میدهند چون سادهتر راهاندازی میشود و افراد دیگر نیز راحتتر میتوانند به سرویسهای شما دسترسی پیدا کنند.
DDNS معمولاً یک سرویس محلی روی یکی از کامپیوترهای داخل شبکه اجرا میکند تا به طور مداوم IP خارجی را بررسی کند. اگر IP تغییر کند، این سرویس بلافاصله آدرس IP دامنهی شما را از طریق اتصال با DNS Provider بهروز میکند.
از کانتینر Docker می توان برای بهروز نگه داشتن IP استفاده کرد. البته میتوانید از هر نرمافزار DDNS دیگری که ترجیح میدهید استفاده کنید. مثلاً Unifi بهصورت پیشفرض از چند ارائهدهنده DDNS پشتیبانی میکند و برخی روترها نیز سرویس مشابهی دارند که نیاز به اجرای Docker را از بین میبرد.
در هر صورت، اگر IP شما حتی بهصورت نیمهمنظم تغییر میکند، داشتن DDNS ضروریست تا سرویسهای خودمیزبانیشدهتان همیشه از طریق دامنه قابل دسترسی باشند.
DNS داخلی برای سرویسهای امن
همه نمیخواهند سرویسهایشان از بیرون شبکه قابل دسترسی باشد — و این موضوع قابل درک است.
پیشتر اشاره کردیم که میتوانید سرور DNS خارجی را طوری تنظیم کنید که به IP داخلی اشاره کند. اما همچنین میتوانید Nginx Proxy Manager را در کنار سرویسی مثل Pi-hole راهاندازی کنید تا فقط در داخل شبکه محلی DNS را حل کند.
در این روش، Pi-hole به عنوان DNS سرور عمل میکند و Nginx Proxy Manager تعیین میکند که هر دامنه به کجا هدایت شود. وقتی بهدرستی تنظیم شود، میتوانید آدرسی مثل myservice.domain.com
را تایپ کنید و Pi-hole آن را بهصورت محلی و بدون ارسال درخواست به بیرون از شبکه، حل میکند.
با این امنیت اضافی، میتوانید از نام دامنه برای تمام سرویسهایتان استفاده کنید بدون اینکه نیاز به باز کردن چیزی به بیرون از شبکه داشته باشید. این امنترین روش برای استفاده از دامنه در شبکهی داخلی است — و بهترین نکته این است که میتواند رایگان هم باشد.
گرفتن دامنه راحتتر از چیزی است که فکر میکنید (و حتی شاید رایگان)
راههای زیادی برای گرفتن نام دامنه وجود دارد.دامنههای .com معمولاً حدود ۱۰ دلار در سال هزینه دارند. دامنههایی با پسوندهایی مثل .me، .co، .wiki، .media یا حتی .lol و .tech ممکن است گرانتر باشند.
اما یک نکته جالب اینجاست: اگر فقط از DNS داخلی استفاده میکنید، از نظر فنی نیازی به خرید دامنه ندارید. سیستم شما فقط دنبال رکورد محلی میگردد و مسیر را بر اساس آن پیدا میکند. البته این میتواند عواقب ناخواستهای داشته باشد.
مثلاً میتوانید google.com
را به موتور جستجوی خودمیزبانتان هدایت کنید. اما این باعث میشود همه افراد داخل شبکه هنگام ورود به آن آدرس به موتور جستجوی شما هدایت شوند — نه به گوگل واقعی.
همچنین ممکن است دامنهای را برای هوملبتان انتخاب کنید که بعداً توسط شخص یا شرکتی دیگر بهصورت رسمی ثبت شود. در این صورت، احتمال دارد با تعارضاتی مواجه شوید، چون مرورگر شما به جای آن وبسایت جدید، شما را به هوملبتان هدایت کند.
پس در نهایت، بهترین کار این است که دامنهای را که میخواهید برای هوملبتان استفاده کنید، واقعاً خریداری کنید. بله، میتوانید از چیزی مثل service.local
استفاده کنید، اما قابل اعتمادترین و توصیهشدهترین روش این است که یک دامنه واقعی بخرید. این تضمین میکند که فقط شما از آن دامنه استفاده میکنید و همهچیز همیشه درست کار میکند. شاید رایگان نباشد، اما با حدود ۱۰ دلار در سال، ارزشی که یک دامنه برای هوملبتان فراهم میکند واقعاً بیقیمت است.