How to use Argo Cloudflare tunnel with iSegaro

How to use Argo Cloudflare tunnel with iSegaro

iSegaro - 1402-09-25

سلام چطورید خوبید ؟ سگارو هستم با یه آموزش خیلی کوچیک اما بسیار بسیار کاربردی و عالی , سوالی پیشنهادی و ... بود با من فقط در توییترم در ارتباط بزارید و جز توییتر هیچ جای دیگه ای فعال نیستم

https://twitter.com/iSegaro

یه توییت در مورد تانل کلادفر که به اسم آرگو هم معروف هست زدم و گفتم برید خودتون بخونید , اما گویا یکم تنبلی کردید گفتم یخورده کاملترش کنم و یه ایده هم بدم شاید بکارتون اومد

آرگوی کلادفلر قابلیت این رو داره که هر نوع ترافیک از نوع TCP رو بر بستر وبسوکت از خودش منتقل کنه , یعنی شما میتونید این تانل رو روی سیستمتون که ویندوزی هست یا لینوکسی هست یا گوشی حتی نصب کنید و بعد از طریق یک ادرس به سرویسی که پشتش هست دسترسی داشته باشید

ساده ترش میگم براتون قابل درک بشه , من روی کامپیوتر خونم فرضا از طریق ای پی 192.168.1.50 که یک ای پی لوکال و پورت 80 هست یعنی فقط روی شبکه داخلی خونه من کار میکنه به دوربین های ساختمونمون دسترسی دارم و مثلا با اینترنت ایرانسل یا همراه یا هر کوفتی از راه دور نمیتونم دوربین های خونمون رو ببینم !! چیکار میتونم بکنم؟

میام تانل کلادفلر رو روی سیستم خونم نصب میکنم و بالا میارمش , در تانل مشخص میکنم که اگه درخواستی بهش اومد رو به ای پی 192.168.1.50 بفرسته , حتی پورت روهم میتونید تعیین کنید به چه پورتی بره , چه اتفاقی میوفته وقتی سیستم خونه من به اینترنت وصل هست و تانل کلادفلر بالا هست بهم از خود کلادفلر یک ساب دامین مجانی میده فرضا به اسم https://xxx-yyy-zzz.cloudflaretunnel.com مثلا , این ساب دامین چی میگه ؟ میگه هر درخواستی به این ساب دامین با پورت 443 رسید ( 443 بخاطر https هستا , حتی با 80 هم میتونید) رو بگیر و به ای پی 192.168.1.50 وپورت فرضا 80 برسون اوکی؟ الان دوربین های خونه من روی سرویس کلادفلر بالا هست و از هرجای دنیا میتونم بهش دسترسی داشته باشم , نمیخاید از ساب دامین کلادفلر استفاده کنید ؟ خودتون یه دامنه به کلادفلرتون اضافه کنید و دقیقا ساب دامینی که بهتون میده با ساب دامینی هست که خودتون انتخاب کردید , ترافیکشم نامحدوده

یه مثال دیگه بزنم که خودم انجام دادم ؟ با تانل کلادفلر من از هر جای دنیا میتونم کامپیوتر خودمو روشن کنم و بعد بهش ریموت دسکتاپ بزنم بدون اینکه نیاز به ای پی استاتیک باشه

یه مثال دیگه بزنم ؟ حتی میتونید رو موبایل اندرویدیتون فرضا یه وب سرور به صورت لوکال بالا بیارید که محتوی فولدر Downloads تون رو بتونید در اینترنت شیر کنید , خوب اوپراتور های موبایل که به هرکی ای پی استاتیک نمیدن , ای پی های دینامیک که به هر گوشی میدن پشت یک NAT هست یعنی قابل دسترسی از راه دور و اینترنت نیست , تانل کلادفلر رو روی گوشیتون با Termux بالا بیارید و لینکش کنید به پورت وب سرورتون و ادرسی که بهتون میده رو در اختیار هرکی میخاید بزارید , چی میشه؟ طرف ادرس رو تو مرورگرش تایپ میکنه کل فولدر Downloads شمارو میبینه !! نع؟ میتونید دوربین موبایل رو شیر کنید یا هر کار دیگه ای میگم که خلاق باید باشید یکم و بدونید در شبکه چی میکنید

یه مثال دیگه ؟ فرضا شما کارمند یه سازمانی هستید که کامپیوترتون به اینترنت وصل نیست , مدیرشبکه بهتون این اجازه رو نمیده و فرضا اگه میخواید به اینترنت وصل بشید باید یک وی پی ان سازمانی که فقط روی شبکه خود سازمان کار میکنه رو وصل بشین و اون زمان اینترنت دارید , حالا از راه دور میخاید به این کامپیوتر تو اداره وصل بشید میتونید از تانل ارگو استفاده کنید ریموت بشید به کامپیوتر اداره , البته فقط زمانی قابل دسترسی هست که کامپیوتر روشن و به وی پی ان سازمانی وصل و ارگو روی سیستم بالا باشها !! خلاصه ازین کارا زیاد میشه کرد خلاقیتش با خودتون

اما از اونجایی که همه درگیر VPN سرور و ... هستید این اموزش رو برای وی پی ان میزارم چون خیلی کوتاه میشه و قابل درک هست براتون بعدش خواستید برید مستندات رو بخونید و خودتون کارای اداریش رو برای خودتون بکنید

برای ساختن چندین مدل VPN ابتدا لینک زیر رو بخونید تا بفهمید اصن در مورد چی صحبت میکنیم

https://telegra.ph/How-to-create-a-VPN-with-iSegaro-10-22

برای خوندن مستندات و .. از دو لینک زیر استفاده کنید

https://github.com/cloudflare/cloudflared
https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/get-started/

نکته خیلی مهم : این که شما یه سرویسی که به صورت لوکال روی سیستم خونه یا گوشیتون هست رو انلاین میکنید یعنی در معرض انواع و اقسام تهدیدات هست !! همین دوربین خونتون رو شاید دوست ندارید کسی ببینه پس حواستون باشه هرچیزی رو انلاین نکنید یا حتما امنیتش رو هم مطمن باشید

فرضا شما یک کانفیگ Vless یا Vmess ساده با ترنسپورتر TCP یا WS وبسوکت با پنل ایرانی یا چینی یا حتی به صورت دستی بدون هیچ اطلاعات اضافه ای زدید (ریلیتی با این روش نمیشه) و فرضا این کانفیگ روی پورت مثلا 9443 سرورتون هست(مثل عکس زیر) , حالا میخایم با تانل کلادفلر بهش دسترسی داشته باشیم و فرض که دامین هم ندارید اصن !! میخواید ببرید کانفیگتون رو پشت کلادفلر ( این کارو قبلا هم کردید ها , با دامین شخصی خودتون همونجایی که یک سابدامین با ای پی سرورتون زدید و تیک پروکسی کلادفلر رو روشن میکردید , فرقش اینجا اینه که نیازی به دامین نیست و خیلی کارای دیگه میشه کرد)

یک کانفیگ ساده

به سرورتون لاگین بشید و وارد محیط ترمینال بشید و باهم دستورات زیر رو بزنیم

روش اول فرضا دامین نداریم :

mkdir Argo && cd Argo
wget https://github.com/cloudflare/cloudflared/releases/download/2023.10.0/cloudflared-linux-amd64 && chmod +x cloudflared-linux-amd64
tmux

خوب با دستورات بالا ما یک فولدر به اسم Argo ساختیم و فایل اجرایی تانل رو در اون دانلود کردیم و اجازه اجرا هم بهش دادیم , وارد محیط tmux شدیم که دستور اخر رو بزنیم , کار اینجا تمومه فقط میمونه یه دستور ساده برای اجرا و اون چیه ؟ دستور زیر (دقت کنید کانفیگ تست من روی پورت 9443 هست و شما اگه پورت دیگه زدید پورت رو باید تغییر بدید)

./cloudflared-linux-amd64 tunnel --url localhost:9443 --edge-ip-version auto --no-autoupdate -protocol http2

دستور بالا میگه تانل کلادفلر هرچی به سمتش اومد رو به پورت 9443 بفرسته ( باقی دستور رو دست نزنید مثل ای پی ورژن و اتواپدیت و پروتکل رو) وقتی دستور بالا رو که بزنید چه اتفاقی میوفته مثل عکس زیر رو باید ببینید

خوب در عکس بالا اون ادرس مستطیلی که مشخص کردم همون سابدامینی هست که کلادفلر به ما میده و به پورت 9443 ما بر روی سرورمون وصله پس حالا باید کانفیگ خودتون رو ادیت کنید و بر اساس اون ادرس بالا تغییر بدید دقت کنید ادرس به صورت https هست پس پورتتون باید 443 باشهااا

بجای ادرس میتونید یک ای پی تمیز یا یک دامین از وبسایتی که روی کلادفلر هست و ای پیش تمیزه یا وایت لیست هست رو بزارید , پورت رو حتما 443 بزارید !! در قسمت host حتما ادرس ساب دامینی که بهتون داده رو بزارید همینطور tls رو روشن کنید در قسمت SNI هم همینطور ادرس دامینی که بهتون داده رو بزارید و باقی رو مثل عکس تنظیم کنید و ذخیره بزنید , و متصل بشید , کانفیگ ساده شما الان پشت کلادفلر هست , این روش مخصوص کسانی هست که دامین ندارن و میخان سرویسشون رو ببرن پشت کلادفلر

یک نکته مهم : تا وقتی شما سرویس تانل کلادفلر رو نبندید یا سرورتون ریست نشه این ادرس دامین مجانی متعلق به شما هست به محض بستن یا ریست شدن سرورتون باید دوباره وارد فولدر ارگو بشید و دستور اخر رو بزنید و اینجا به شما یک ساب دامین تصادفی موقت دیگه میده که باید روی کانفیگاتون ادیت بزنید و قرارش بدید , اگه با دامین خودتون تانل رو بسازید این اتفاق نمیوفته

روش دوم برای کسایی که دامین روی سرویس کلادفلر دارن (از قبل اضافه کردن) و میخوان این فرایند با ساب دامین خودشون اتفاق بیوفته , چیکار میکنن؟ باهم پیش بریم مثل بالا اول فولدر ارگو رو میسازیم و فایل تانل رو دانلود میکنید

mkdir Argo && cd Argo
wget https://github.com/cloudflare/cloudflared/releases/download/2023.10.0/cloudflared-linux-amd64 && chmod +x cloudflared-linux-amd64

حالا بریم برای لاگین کردن دستورات زیر رو بزنید که به ترتیب یک تانل به اسم دلخواه خودمون میسازیم و لاگین میکنیم و سابدامین مشخص میکنیم

./cloudflared-linux-amd64 tunnel login

وقتی دستور بالا رو زدید بهتون یک لینک جهت تایید و شناسایی لاگین و گرفتن سرتیفیکیت به کلادفلر میده که کپی کنید و در مرورگرتون وارد کنید , بعدش به اکانت کلادفلرتون متصل میشید و لیست دامین یا دامین هایی که دارید رو به شما نشون میده و اون دامینی که مایل هستید تانل باهاش زده بشه رو انتخاب میکنید و روی Authorize کلیک میکنید , پیغام موفقیت Success برای شما نشون میده و همون لحظه در محیط ترمینال هم به شما پیام موفقیت میده و حتی ادرس ذخیره شدن سرتیفیکیتی که از کلادفلر گرفته شده رو به شما نشون میده مثل عکس زیر

خوب کارمون اینجا یک مرحله تمومه حالا بیایم یک تانل بسازیم و یک اسم براش انتخاب کنیم با دستور(زیر من اینجا اسم تانلم رو گذاشتم argo01 شما هر اسم دیگه دوست داشتید انتخاب کنید):

./cloudflared-linux-amd64 tunnel create argo01

حالا وقتشه که تانلی که ساختیم رو به ساب دامین دلبخواهیمون وصل کنیم با دستور زیر اینکارو انجام بدید فقط یادتون باشه اسم تانل argo01 و سابدامین رو تغییر باید بدید (به هر سابدامینی که دوست دارید) به اسم و ساب دامین خودتون :

./cloudflared-linux-amd64 tunnel route dns argo01 your.subdomain.com

وقتی دستور بالا رو زدید و درست باشه به شما پیام میده که ساب دامینتون به تانلتون وصل شده و حالا نوبت دستور اخر

tmux
./cloudflared-linux-amd64 tunnel --url localhost:9443 run argo01

تو دستور بالا میگم که پورت 9443 رو به تانل argo01 وصل کن و میدونیم که تانل argo01 رو هم به سابدامین انتخابی خودمون وصل کردیم , تمام

وقتی دستور بالا رو زدید همچین صفحه ای میبینید که با دو لوکیشن و 4 ای پی به سرور ما متصله , حالا کافیه کانفیگتون رو ادیت بزنید و مثل عکس بالا جای ساب دامین کلادفلر فقط سابدامین انتخابی خودتون رو با پورت 443 قرار بدید

یک نکته , کلادفلر به صورت اتوماتیک خودش از دو لوکیشن به سرور شما متصل میشه بهترین سرعت رو داشته باشه که من با مستطیل زرد رنگ انتخاب کردم , شما میتونید خودتون به صورت دستی با یک کامند روی دستور اخر لوکیشن رو هم خودتون انتخاب کنید اگه از اون ارتباط مطمن باشید , اینو میزارم تمرین در خانه :)) تمرین کنید , کلی دستور و کامند مختلف داره که با هرکدوم میتونید کلی کارای جالب بکنید بسته به نیازتون

خوب اینجا آموزش فقط برای VPN بود که تمومه که فقط بدونید چطوری باید با تانل آرگوی کلادفلر کار کنید حالا هر سرویسی داشته باشید مثل همین دستورات بالا میتونید ببرید پشت کلادفلر و بهش دسترسی داشته باشید , شما همه اینکارهارو از داشبورد کلادفلر هم میتونید بکنید ولی من دستی رو ترجیح میدم :)) که دلایل خودش رو داره

راستی ما تمامی دستورات اخر رو در محیط tmux زدیم که بعد از بستن ترمینال درحالت اجرا بمونه و با ریست شدن سرور باید دوباره دو دستور اخر رو بزنید , یا اینکه برای دستور اخر یک سرویس فایل درست کنید که تو آموزشای قبلی هست برید کپی کنید کاری نداره

برای دانلود تانل برای سیستم عامل های مختلف هم از خود پنل کلادفلر یا صفحه گیتهابش میتونید استفاده کنید


خیلی مخلصیم شب بخیر


Report Page