نصب PassWall و هسته Xray روی OpenWrt و روتر Xiaomi Mi Router 4A Gigabit Edition

انتهای مطلب درباره روش های جایگزین توضیح دادم.
یک روتر Xiaomi Mi Router 4A Gigabit Edition دارم که روش OpenWrt نصب هست. OpenWrt یک فریمور روتر متن باز یا اوپن سورس هست که روی یکسری از روترهای تجاری مثل LinkSys یا همین شیائومی قابلیت نصب داره. نصب این فریمور علاوه بر مزایای زیادی که داره، برای ما ایرانیا و چینی ها مزیتی داره که میشه روش ماژول یا نرمافزار PasswWall رو نصب کرد و کل ترافیک شبکه رو از توی فیلترشکن گذروند. فرض رو بر این میذاریم که شما یک کانفیگ یا لینک سابسکرایبشن Vless دارید. فعلا تنها چیزی که خوب جواب میده Vless Reality هست. درباره این موضوع اینجا نوشتم.
اول از همه روتر به تنظیمات کارخونه ببرید که هیچ چیز نصب نباشه. و با خیال راحت جلو بریم. در این لینک گیتهاب آموزش کامل داده شده ولی من یه توضیح سریع میدم. درضمن نسخه OpenWRT من 22.03 هست و معماری روتر هم mipsel_24k هست.
از طریق SSH به OpenWrt وصل بشید و دستور زیر رو بزنید:
wget -O passwall.pub https://master.dl.sourceforge.net/project/openwrt-passwall-build/passwall.pub
opkg-key add passwall.pub
در ادامه این بخش رو کپی کنید و یکجا توی مرورگر توی بخش System سپس Software و سپس Configure opkg توی قسمت CustomFeeds.conf. مثل عکس پایین:
src/gz passwall_luci http://master.dl.sourceforge.net/project/openwrt-passwall-build/releases/packages-22.03/mipsel_24kc/passwall_luci
src/gz passwall_packages http://master.dl.sourceforge.net/project/openwrt-passwall-build/releases/packages-22.03/mipsel_24kc/passwall_packages
src/gz passwall2 http://master.dl.sourceforge.net/project/openwrt-passwall-build/releases/packages-22.03/mipsel_24kc/passwall2
همچنین توی opkg.conf خط آخر که نوشته Option Check_signature رو جلوش یه # بذارید تا کامنت بشه. در انتها ذخیره کنید.

برای نصب PassWall دستور زیر رو کلا کپی و وارد ترمینال کنید:
opkg update
opkg remove dnsmasq
opkg install ipset
opkg install ipt2socks
opkg install iptables
opkg install iptables-legacy
opkg install iptables-mod-conntrack-extra
opkg install iptables-mod-iprange
opkg install iptables-mod-socket
opkg install iptables-mod-tproxy
opkg install kmod-ipt-nat
opkg install dnsmasq-full
opkg install luci-app-passwall
بعد از نصب توی پنل تحت وب Luci، قسمت Services میتونید PassWall رو ببنید و چنین محیطی داره:

اینجا مسیر دو بخش میشه، بخش اول اینه که بیاید و Xray رو نصب کنید و کانفیگ های Vless رو توی Passwall وارد کنید. بخش دوم کاریه که من کردم. اگر از هسته Sing-Box استفاده میکنید یا مثل من با هسته Sing-Box و مخصوصا از ShadowTLS استفاده میکنید، دیگه Xray جواب نمیده و باید فکر دیگه کنید که توی بخش دوم میگم.
بخش اول:
بعد اینکه PassWall نصب شد باید Xray نصب بشه.
دستور زیر رو بزنید که Xray ورژن 1.8.3 براتون نصب بشه. (باتوجه به اینکه حافظه داخلی روتر Xiaomi Mi Router 4A Gigabit Edition هشت مگ بیشتر نیست، نصبش به همین راحتی نیست اما امیرحسین یه اسکریپت نوشته که این کار رو برامون آسون کرده. برای اطلاعات بیشتر گیتهابش رو ببینید. )
wget https://raw.githubusercontent.com/amirhosseinchoghaei/mi4agigabit/main/amirhossein.sh && chmod 777 amirhossein.sh && sh amirhossein.sh
بعد از نصب کامل پیام Done میاد و همه چی تمومه. توی PassWall قسمت Node کانفیگتون رو اضافه کنید. (یا دستی یا با Share URL) بعد توی همون صفحه اصلی PassWall، گزینه MainSwitch رو تیک بزنید و TCP و UDP رو روی کانفیگتون قرار بدید. در ضمن توی قسمت Mode دوتای اول رو روی Global Proxy بذارید. بعد از ذخیره کردن، کل شبکه از فیلترشکن رد میشه.
بخش دوم:
من یک Raspberry PI 3 دارم که روی اون کلاینت Sing-Box و ShadowTLS اجرا کرده بودم که روی شبکه داخلی یه Socks ایحاد کرده بود. اینجوری توی مثلا کامپیوتر یا گوشی یا فقط تلگرام یه Socks باز میکردم و به اون که توی شبکه داخلی بود وصل میشدم. از اونجا اون به اینترنت وصل میشد و تمام Route ها رو فقط توی یک دستگاه تنظیم میکردم. به همین دلیل کاری کردم که کل سایتها و آی پی های ایرانی از فیلترشکن رد نشن.
مودم <—-> رسپبری (192.168.1.2)
مودم <—–> (192.168.1.3) پورت WAN روتر Xiaomi Mi Router 4A Gigabit Edition <—-> پورت Lan روتر برای دیوایس ها (192.168.2.0/24)
خلاصه کلی تنظیمات روش داشتم که نمی خواستم از دست بدم. چون سیستم مستقلی و تقریبا قدرتمندی هست و در آینده آپدیت کردنش و جابجا شدن بین پروتکل ها برام راحته نخواستم قطعش کنم. به همین دلیل تمام ترافیک رو از طریق اون رد کردم اینجوری دیگه نیازی به Xray ندارم.
توی قسمت Node List یه سرور Socks اضافه کنید و آی پی محلی رسپبری و پورتی که روش اجرا شده رو بدید. بعد توی همون صفحه اصلی PassWall، گزینه MainSwitch رو تیک بزنید و TCP و UDP رو روی کانفیگتون قرار بدید. در ضمن توی قسمت Mode دوتای اول رو روی Global Proxy بذارید. بعد از ذخیره کردن، کل شبکه از فیلترشکن رد میشه. قسمت سایت و آی پی های ایرانی هم توی Raspberry جدا میشه.
روش های جایگزین:
1- من بخش دوم رو خیلی دوست دارم چون انعطاف پذیری بالایی داره و نیاز نیست منتظر بمونم که ورژن جدید Xray یا Sing-Box بیاد یا وقتی هم اومد ببینم آیا روی روترم نصب میشه یا نه. در نتیجه شما میتونید بجای رسپبری پای از یه کامپیوتر که همیشه روشنه استفاده کنید. نیاز نیست حتما یه کامپیوتر قوی باشه یا لینوکس باشه روی ویندوز هم روی V2rayN قسمت تنظیمات Allow From Lan رو فعال کنید و آی پی داخلی سیستم رو بجای رسپبری بزنید.
2- اگر هم رسپبری یا یه سیستم دارید ولی دسترسی به OpenWrt ندارید میتونید توی گوشی مثلا توی همون برنامه V2rayNG دستی یه Socks درست کنید و آی پی داخلی اون سیستم بدید. حتی میتونید به غیر از Socks یه سرویس http بالابیارید و توی تنظیمات وایفای گوشی، قسمت Proxy آیپی و پورت اون سیستم رو بدید.
3-1- روش دیگه اینه که روی سیستم یا روی رسپبری OpenWrt و Xray نصب کنید. بدون مشکل حافظه. در نتیجه مثلا توی رسپبری میشه از طریق پورت LAN به مودم وصل بشه (بشه پورت WAN) و از طریق وای فای اینترنت بدون فیلتر به دستگاه ها بده. عملا کار همون روتر شیائومی رو انجام بده. البته اینکه آنتن داخلی رسپبری ضعیفه و باند 5GHz نداره از معایب این روشه. (یا حتی برعکس؛ با وایفای وصل شه به مودم و از طریق سیم بده به یه Access Point مثل روترهای ارزون Tenda)
3-2- برای PC هم همین کار رو میتونید انجام بدید و یه کارت شبکه وایرلس یا یه کارت شبکه اضافی، WAN و LAN رو جدا کنه.
4- بخش دوم رو روی Android Box هم میتونید پیاده کنید که با V2rayNG به سرور وصل شه و از طریق آیپی داخلی یه سرویس Socks براتون اجرا کنه.
5- روی روترهای میکروتیک هم میتونید OpenWrt نصب کنید.
4 نظرات
روش هایی که فرمودید پیچیده است روش بهتر برای جداسازی ترافیک ایران استفاده از geosite و geoip هست که روش اجراش داخل لینک زیر هست
https://github.com/bootmortis/iran-hosted-domains
بله حرف شما درسته. اما مثلا من چندتا سرور دارم که آی پی هرکدومشون رو میذارم تو لیست ترافیک ایران و حتی مثلا سایت بانک سپه آی پی 10.3.77.116 داره که جرو آی پی ها لوکال حساب میشه. تاجایی که یادمه اونو از لوکال مسیریابی میکنه و سایت بالا نمیاد.
درود
این روش رو همه ی روتر ها یکسانه ؟!
مدل روترم Linksys EA8300 هستش
اگه openwrt نصب باشه، همه مثل همن تقریبا. قبلش به سایت openwrt سربزنید و اسم روتر رو جستجو کنید ببنید فریمور برای اون روتر رو منتشر کردن یا نه