در صورتی که میخواهید سرور Termux شما که روی گوشی اجرا میشود در اینترنت به عنوان یک سرور وب عمومی با دامنهتان قابل دسترس باشد، معمولاً نیاز است که یک DNS Server مانند BIND روی سرور نصب و تنظیم شود یا از یک DNS هاستینگ مانند Cloudflare استفاده کنید که کار شما را سادهتر میکند.
در اینجا نکات مهمی که باید در نظر بگیرید آورده شده است:
۱. استفاده از Cloudflare برای مدیریت DNS
با توجه به اینکه از Cloudflare برای رکوردهای DNS خود استفاده میکنید، نیازی نیست BIND را روی Termux نصب کنید، چرا که خود Cloudflare نقش DNS سرور را بر عهده میگیرد. به جای نصب BIND، کافی است:
- رکوردهای A دامنه خود را روی آیپی عمومی گوشی خود تنظیم کنید.
- از پروکسی کردن رکوردها در Cloudflare اطمینان حاصل کنید (گزینه Proxied فعال باشد).
۲. نیاز به آیپی عمومی و پورت فورواردینگ
برای اینکه سرور شما از اینترنت قابل دسترس باشد، گوشی شما باید به آیپی عمومی متصل باشد و پورتهای لازم (مانند پورت 80 برای HTTP و 443 برای HTTPS) روی شبکه شما به آن هدایت شوند. در شبکههای خانگی یا موبایل، اغلب به دلیل NAT (Network Address Translation) و محدودیتهای ارائهدهندگان اینترنت، آیپی عمومی بهطور مستقیم به دستگاه شما متصل نمیشود.
راهحلها:
- استفاده از سرویسهای Dynamic DNS: این سرویسها آیپی عمومی شما را بهروزرسانی کرده و شما را با تغییر آیپی عمومی هماهنگ میکنند.
- Port Forwarding: اگر به مودم خانگی یا روتر دسترسی دارید، میتوانید پورتهای مورد نیاز را به آیپی محلی گوشی خود هدایت کنید.
۳. استفاده از تونل Cloudflare (Cloudflare Tunnel)
Cloudflare سرویس Cloudflare Tunnel را ارائه میدهد که به شما امکان میدهد بدون نیاز به آیپی عمومی، سرور محلی خود را از اینترنت قابل دسترس کنید. شما میتوانید یک تونل امن از سرور محلی (روی گوشی) به Cloudflare ایجاد کنید و از دامنه و زیر دامنههای Cloudflare استفاده کنید.
راهاندازی تونل Cloudflare:
- Cloudflare Tunnel را بررسی کنید و دستورالعمل نصب آن را دنبال کنید.
- با این تونل، میتوانید ترافیک HTTP و HTTPS را از دامنه خود به گوشی خود هدایت کنید، حتی اگر آیپی عمومی نداشته باشید.
نتیجهگیری
برای راهاندازی یک سرور Termux در اینترنت:
- نیازی به BIND ندارید چون Cloudflare DNS را مدیریت میکند.
- میتوانید از Port Forwarding یا Cloudflare Tunnel برای دسترسی به سرور محلی استفاده کنید.
Cloudflare Tunnel (که قبلاً به عنوان Argo Tunnel شناخته میشد) برای استفادههای پایه و دسترسی به سرورهای محلی، در حال حاضر رایگان است. میتوانید به کمک Cloudflare Tunnel به سرور خود دسترسی پیدا کنید بدون اینکه نیازی به آیپی عمومی یا Port Forwarding داشته باشید و هزینهای هم ندارد.
مراحل راهاندازی رایگان Cloudflare Tunnel
برای راهاندازی تونل رایگان به Termux، مراحل زیر را دنبال کنید:
-
ثبت نام و تنظیم دامنه در Cloudflare:
- دامنه خود را به Cloudflare اضافه کنید و DNS خود را روی Cloudflare تنظیم کنید.
-
نصب Cloudflare Tunnel در Termux:
- ابتدا باید Cloudflare's cloudflared را روی Termux نصب کنید. برای این کار، از لینک مستقیم یا دستورات زیر استفاده کنید:
in teminalpkg install wget wget https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-arm mv cloudflared-linux-arm cloudflared chmod +x cloudflared
-
ایجاد و تنظیم تونل:
- با استفاده از دستور زیر در Termux تونل خود را ایجاد کنید (لازم است که توکن احراز هویت Cloudflare را داشته باشید):
in teminal./cloudflared tunnel login
این دستور یک لینک به شما میدهد. لینک را در مرورگر باز کنید و به حساب Cloudflare خود وارد شوید تا احراز هویت کنید.
-
ایجاد تونل جدید:
- پس از احراز هویت، میتوانید با دستور زیر یک تونل جدید ایجاد کنید و نام دلخواهی برای آن تعیین کنید:
in teminal./cloudflared tunnel create my-tunnel
-
اجرای تونل:
- با دستور زیر تونل را اجرا کنید و ترافیک را به پورت مورد نظر خود (مثلاً پورت 80 برای HTTP) هدایت کنید:
in teminal./cloudflared tunnel --url http://localhost:80
این دستور سرور محلی شما را از طریق Cloudflare به دامنهتان متصل میکند.
-
تنظیمات DNS:
- به حساب Cloudflare بروید و یک CNAME یا A رکورد ایجاد کنید که به تونل شما اشاره کند. Cloudflare بهطور خودکار درخواستهای این رکورد را به سرور محلی شما هدایت میکند.
نکات مهم
- برای اجرای خودکار تونل، میتوانید از crontab یا یک اسکریپت ساده bash استفاده کنید.
- این روش کاملاً رایگان است و Cloudflare هزینهای برای این تونلها در استفادههای پایه دریافت نمیکند.
اکنون سرور Termux شما از طریق دامنهتان و با امنیت و سرعت بالا بهصورت رایگان قابل دسترسی خواهد بود!
Comments
Post a Comment