پروتکل Brook
قبلاً آموزش ساخت VPN با پروتکل Brook با روش اتصال مستقیم به سرور (با IP تمیز، بدون دامین و بدون کلاودفلر) را آموزش دادهام. از این لینک میتوانید مطالعه کنید. اتصال مستقیم نیاز به IP تمیز دارد.
امروز میخواهیم با Brook روی یک سرور با IP فیلتر شده یک VPN بسازیم. همانطور که قبلاً گفتم حدود ۳ ماه است در کنار روشهای دیگر از روش بروک هم استفاده میکنم. راه اندازی آن راحت است و پینگ قابل قبول و سرعت بسیار خوبی در حد ماکزیمم سرعت خط را هم در اختیار ما میگذارد.
روش Brook را میتوانید در کنار پنل x-ui به خوبی استفاده کنید و اتفاقاً اگر برای دامین پنل x-ui سرتیفیکیت گرفته باشید، میتوانید از همان سرتیفیکیت در این روش استفاده کنیم.
البته پینگ روش امروز به دلیل استفاده از دامین و CDN کلاودفلر اندکی از پینگ روش Brook مستقیم بالاتر است که طبیعی ست. ولی یکی از بهترین راه حل ها برای استفاده در سرور با IP فیلتر شده است.
مواد لازم:
- سرور مجازی شخصی (VPS) با اوبونتو ۲۰ به بالا
- IP فیلتر شده
- یک دامین
- اکانت کلاودفلر
از این روش با خطوط فیبر نوری مخابرات، همراه اول و ایرانسل در روزهای مختلف با مصرف ترافیک روزمره و همیشگیام استفاده کردهام. از آنجائیکه روش های دیگر را هم دائم بصورت روزانه وصل میشوم، پس اینطور نیست که بگویم تمام ترافیک فعلیام بر دوش بروک است.
خوشبختانه اپلیکشن مخصوص به خود را دارد و برای اندروید، آیفون، ویندوز و مکبوک در دسترس و راهاندازی آن هم ساده است.
این روش به گواهینامه SSL نیاز دارد. آموزش دریافت گواهینامه SSL از لینک زیر:
دریافت گواهینامه SSL (Certificate) برای دامین و سابدامین
آموزش نصب پروتکل Brook با IP فیلتر شده:
(در سمت راست کادر هر دستور، یک آیکونِ کپی وجود دارد. آن را کلیک کنید کل دستور کپی میشود و میتوانید در ترمینال پیست کنید)
شروع آموزش:
از طریق یک ترمینال SSH به سرور متصل میشویم. مثل همیشه ابتدا دستور زیر را بزنید:
apt update && apt upgrade -y
حالا دستور زیر را بزنید تا بُروک دانلود شود:
bash <(curl https://bash.ooo/nami.sh)
سپس دستور زیر که بُروک را نصب میکند:
nami install brook
نوبت به نصب اَپ tmux میرسد، دستور زیر:
apt install tmux
حالا با تایپ tmux و زدن Enter وارد محیط آن میشویم:
tmux
در کلاودفلر یک ساب دامین با Proxy روشن ایجاد کنین. با IPv4 یا IPv6 یا هر دو فرقی نمی کند.
با دستور زیر، سرور Brook ران میشود. ولی قبل از انجام، آن را کپی و در Notepad تان پیست کنید. اصلاحات را مطابق توضیحات زیر انجام داده و سپس دستور نهایی را کپی و در خط فرمان لینوکس پیست کرده و Enter بزنید.
به جای sub.domain.com، سابدامین خود را قرار دهید و عدد ۸۴۴۳ هم همان پورتی است که ما میخواهیم Brook را روی این پورت فعال کنیم و لازم است یکی از ۶ پورت HTTPS کلاودفلر (۴۴۳، ۸۴۴۳، ۲۰۵۳، ۲۰۸۳، ۲۰۸۷ و یا ۲۰۹۶) را بگذارید. به جای kevin هم پسورد مد نظرتان را قرار دهید.
به جای آدرس زیر، آدرس سرتیفیکیت را جایگزین کنید
/root/cert/sub.domain.com/fullchain.pem
و به جای آدرس زیر هم آدرس کلید خصوصی را قرار داده و Enter بزنید.
/root/cert/sub.domain.com/privkey.pem
(احتمالاً شما اعداد را بصورت فارسی مشاهده میکنید ولی اعداد باید بصورت انگلیسی وارد شود. دکمهی کپی را بزنید بهتر است)
brook wssserver --domainaddress sub.domain.com:۸۴۴۳ --password kevin --cert /root/cert/sub.domain.com/fullchain.pem --certkey /root/cert/sub.domain.com/privkey.pem
کار سرور تمام شد. ترمینال SSH را هم ببندید مشکلی پیش نمیآید. استفاده از tmux باعث میشود سرور ما حتی با بستن ترمینال هم همچنان در حالت اجرا بماند.
نکته مهم: هر گاه به هر دلیلی سرور را Reboot کردید، مجدداً باید ۲ دستور آخریِ بالا را اجرا کنید. یعنی دوباره وارد محیط tmux شوید و سرور بروک (که شامل سابدامین، پورت و پسورد است) را مجدداً ران کنید.
دانلود اپلیکیشن کلاینت Brook:
از لینک زیر، سایت رسمی Brook، اپلیکیشن مناسب برای سیستمعامل خود را دانلود و نصب نمائید.
پس از نصب اپلیکیشن، دکمه + بالا سمت راست را بزنید و از منو گزینهی brook wssserver (3 تا s دارد) را انتخاب کنید. حالا سابدامین و پورت را (همان پورتی که در آخرین دستورِ بالا به همراه پسورد زدید) در فیلد اول با فرمت زیر وارد کنید:
wss://sub.domain.com:8443
پسورد را هم در فیلد دوم در قسمت Password وارد کرده و دکمهی Add را بزنید. سرور شما به اپلیکیشن اضافه شده است. با زدن روی دکمهی Connect متصل شوید. به بقیهی گزینههای اَپ کلاینت هم تا اطلاع ثانوی دست نزنید!
تمام.
احتمالاً این پست هم برای شما جذاب است:
ساخت VPN با پروتکل Brook؛ بدون نیاز به دامنه، بدون نیاز به کلاودفلر!
سلام
روی همراه اول تست کردم، نمیدونم چرا کار نمیکنه. وصل میشه ولی سایتها رو باز نمیکنه..
سلام، ۱-ببینین روی خط دیگه چطوره؟ ۲-مطمئن بشین که دامنهتون فیلتر نیست. ۳-با کامپیوتر و اپلیکیشن مخصوص سیستم عامل تون هم چک کنین. ۴-تو تنظیمات کلاودفلر، قسمت ssl هم روی flexible و هم با full تست کنین. ۵-زمانی که ترمینال بروک بازه و شما با vpn ش متصل میشین ببینین چه پیغامی میده.
به من خطای network is unreacheable میده توی ترمینال بروک روی سرور که باز
نا مفهومه این پیام. اگر اسکرین شات از دستوری که میزنین و پیامی که دریافت میکردین داشتیم، بهتر میشد نتیجهگیری کرد.
خیلی ممنون، حل شد. مثل اینکه دامنهم فیلتر شده بود. الان بدون مشکل وصل میشم. فقط برای passwall چطور باید این کانفیگ رو وارد کنیم. گزینهای تحت عنوان brook wssserver رو نداره.
بروک مستقیم با passwall2 عالی کار میکنه. ولی متاسفانه هنوز نتونستم با wssserver استفاده کنم.
سلام مهندس ارادت روی اندروید عالی جواب میده ولی روی ویندوز این ارور میگیرم
cannot get local link ipv6 from tun.?
سلام بر شما دوست گرامی و پوزش از تاخیر در پاسخ. نمی دونم چرا دنبال IPv6 شماست! با ایرانسل یا رایتل متصل شدین؟
سلام و وقت بخیر
میخواستم بپرسم این روش هنوز بدون مشکل برای شما کار میکنه؟
من ای پیم فیلتر شده و میخواستم از این روش استفاده کنم وصل میشه ولی time out زیاد داره
سلام آقا محمد. اوقات شما هم بخیر.
این روش نیاز به ip تمیز کلادفلر داره، اونم نه هر ip تمیزی 😁 . ip که خود کلادفلر با درخواست از ایران اتوماتیک برمیگردونه، نه اینکه ما بهش ip کلادفلر تمیز بدیم. خودم چند ماه هست که به همین دلیل ازش استفاده نکردم و بیشتر روی روش Brook مستقیم هستم. ارادت 🌺
سلام
اولا ممنون بابته تمام زحمات
من ای پی سرورم فیلتر شده و از این روش استفاده کردم بطور کلی وصل میشه ولی تایم اوت خیلی داره
میخواسم ببینم مشکل از منه یا کلا این روش این مشکلا داره؟
سلام آقا محمد. عرض کردم در کامنت قبلی که این روش فعلا بخاطر اختلالاتی که روی کلادفلر هست، کیفیت خروجی خوبی نداره.