تفکیک ترافیک داخل و خارج ایران در PassWall 2

✅ آپدیت ۱۳:۴۴-۱۴۰۳/۰۲/۱۱: اضافه شدن روش آپدیت فایل‌های جئو – لینک

مقدمه

روتینگ PassWall موضوع پست امروز است ولی لطفاً قبل از شروع پست زیر را مطالعه نمائید:

راه‌اندازی Home Server با VPN مرکزی – قسمت ۴ – نصب فیلترشکن PassWall 2

امروز می‌خواهیم در PassWall 2 امکانی را فراهم کنیم که به وب‌سایت‌ها و اپلیکیشن‌های ایرانی بدون اینکه از فیلترشکن عبور کنند مستقیم دسترسی داشته باشیم. بدون اینکه نیاز باشد اتصال را از Home Server قطع کنیم و به به وای‌فای ایران متصل شویم. داستان از این قرار است که ما یک لیست از دامین‌ها و IP های ایرانی را به PassWall 2 می‌دهیم و به او می‌گوئیم اگر درخواستی برای این دامین‌ها و IP ها آمد آنها را از فیلترشکن عبور نده و ارتباط آنها را مستقیم کن. این کار را روتینگ (Routing) و به شروط و قوانینی که برایش می‌گذاریم Rules می‌گویند.

روتینگ علاوه بر راحتی که برای ما فراهم می‌کند، با روتینگ PassWall صرفه‌جوییِ قابل توجهی در ترافیک مصرفی و نتیجتاً هزینه خواهیم داشت. زیرا معمولاً ترافیک مصرفی سایت‌ها و اپلیکیشن‌های داخلی نیم‌بهاء محاسبه خواهد شد. مزیت دیگر اینکه بار کمتری به سرور مجازی ما وارد می‌شود و در ترافیک مصرفی آن هم صرفه‌جویی خواهیم داشت.

در ویدئو ابتدا قسمت‌های مختلف محیط PassWall 2 را با شما مرور کرده‌ام تا با تنظیمات من آشنا شوید و اگر احتمالاً گزینه‌ای را تغییر داده‌اید، بهتر است با تنظیمات مشابه پیش برویم تا در انتهای کار نتیجه‌ی دلخواه را در روتینگ PassWall بگیریم. عملیات بسیار ساده و فقط در حد صدور دستورات در خط فرمان و چند تنظیم در PassWall 2 است. ویدئوی آموزش را با دقت مشاهده نمائید تمام مسیر در فیلم آمده است.

شروع آموزش:

روتینگ سایت‌های ایرانی در PassWall 2

از طریق یک ترمینال SSH به OpenWrt متصل می‌شویم. سپس همزمان با دیدن ویدئو دستورات را در خط فرمان بزنید، گام به گام.

(در سمت راست کادر هر دستور، یک آیکونِ کپی وجود دارد. آن را کلیک کنید کل دستور کپی می‌شود و می‌توانید در ترمینال پیست کنید)

پروتکل Brook

همیشه در OpenWrt قبل از هر کاری دستور زیر را بزنید. سپس بقیه‌ی کارها را انجام دهید.

opkg update

البته من در ویدئو قبل از اینکه ضبط را شروع کنم این دستور را زده بودم که در فیلم نیست.

سپس دستورات زیر را به ترتیب در خط فرمان پیست کرده و Enter بزنید:

opkg install wget-ssl
wget -O geoip.dat https://github.com/chocolate4u/Iran-v2ray-rules/releases/latest/download/geoip.dat
wget -O geosite.dat https://github.com/chocolate4u/Iran-v2ray-rules/releases/latest/download/geosite.dat
mv geoip.dat /usr/share/v2ray/geoip_IR.dat
mv geosite.dat /usr/share/v2ray/geosite_IR.dat

کار ما با ترمینال تمام شد. به پنل وب OpenWrt لاگین می‌کنیم.

تنظیمات در پنل PassWall 2

از منوی Services به PassWall 2 می‌رویم و از آنجا به تب Rule Manage می‌رویم. در قسمت Xray Shunt Rule در فیلد کنار دکمه‌ی Add یک نام مثل Iran وارد کرده و دکمه‌ی Add را می‌زنیم. این نام، نام شرایط و قوانینی (Rules) است که ما می‌خواهیم برای PassWall 2 بگذاریم تا ارتباط ما به سایت‌ها و IP های ایرانی را مستقیم کند.

۳ خط زیر را کپی کرده و در فیلد Domain گیست کنید. مثل ویدئو.

regexp:.*\.ir$
regexp:.*\.xn--mgba3a4f16a$
ext:geosite_IR.dat:ir

حالا کد زیر را کپی کرده و در فیلد IP پیست کنید.

ext:geoip_IR.dat:ir

در پایان دکمه Save & Apply را بزنید.

حالا به تب Node List بروید و دکمه Add را بزنید. در قسمت Remark یک نام برای روتینگ مثل Iran Routing بدهید. فیلد Type را حتما باید روی Xray یا Sing-Box بگذارید. البته معنی این کار این نیست که ما فقط به استفاده از کانفیگ‌های Xray و Sing-Box محدود می‌شویم، خیر. در همین حالت از بقیه‌ی کانفیگ‌ها از جمله Brook و غیره هم می‌توانیم استفاده کنیم. رابط کاربری PassWall 2 اینگونه طراحی شده و احتمالا در آپدیت‌ها تغییر خواهد کرد.

از منوی Protocol گزینه‌ی Shunt را انتخاب کنید. حالا از منوی روبروی گزینه‌ی Iran ، مورد Direct Connection را انتخاب کنید. انتخاب Direct Connection برای رول Iran یعنی دامین‌ها و IP هایی که در رول Iran (در تب Rule Manager) تعریف کردیم بطور مستقیم وصل کن و از فیلترشکن عبور نده.

برای گزینه‌ی Default هم یکی از کانفیگ‌هایی که قبلا در قسمت Node List وارد کرده‌ایم انتخاب می‌کنیم. این گزینه یعنی بطور کل کلیه درخواست‌ها را از این کانفیگ عبور بده مگر آنهایی که رول دیگری برای آنها تعریف شده است، مثل رول Iran.

دکمه‌ی Save & Apply را می‌زنیم.

به تب Basic Settings می‌رویم و از آنجا در تب Main، در منوی Node گزینه‌ی Xray_Shunt: [Iran Routing] را انتخاب می‌کنیم و دکمه‌ی Save & Apply را می‌زنیم.

📌 نکته مهم: توصیه می‌کنم هر بار در تب Basic Settings، تب Main، کانفیگ Node را تغییر می‌دهید و Save & Apply می‌کنید، پس از آن حتماً وارد تب DNS شوید و دکمه‌ی Clear IPSET را بزنید و حدود ۱۰ ثانیه صبر کنید تا روتینگ نهایی شود. می‌توانید در تب Watch Logs نتیجه را مشاهده کنید.

✅ آپدیت ۱۳:۴۴-۱۴۰۳/۰۲/۱۱: برای آپدیت فایل های جئو کافی است که در ترمینال SSH آن ۴ دستوری که با wget و mv شروع می‌شوند را دوباره اجرا کنید.

پایان قسمت پنجم.

این مقاله را در شبکه‌های اجتماعی به اشتراک بگذارید

۵۰ دیدگاه

  1. درود
    در passwall2 و در بخش rule manange ، به طور پیشفرض لینک های DB های Loyalsoldier درج شده است. آیا می توان لینک های پیش‌فرض را به لینک های chocolate4u تغییر داد؟

    اگر ممکن است امتحان کنید و نتیجه را اطلاع رسانی کنید

    سپاس

  2. سلام. من تمام مراحل رو رفتم و الان همه چی اوکی هست. آیا راهی هست که بتونم یکی از دستگاه های متصل به اینترنت رو جزو استثنا قرار بدم؟ مثلا میخوام ps5 اینترنت فیلتر نشکسته رو فقط دریافت کنه.

    • سلام. برای دیوایس در PassWall نمیشه Rule تعریف کرد. ولی اگر بتونید IP و یا URL ای که PS5 استفاده می‌کنه پیدا کنید میشه براش یه Rule گذاشت.
      یا اینکه اون دیوایس مشخص رو در تنظیمات شبکه‌ش DNS و Gateway رو براش آدرس مودم ایران رو بدید. (یا روتر ایران)

  3. سلام و وقت بخیر و تشکر از شما و زحمات شما
    من فایل .dat را دانلود کردم و نصفه دانلود شد
    الان چطور می تونم کش و یا تمپ روتر رو پاک کنم و مجددا نصب کنم
    ممنون میشم راهنمایی بفرمایید

  4. سلام. من تنظیمات رو انجام دادم همه چی درست کار میکنه فقط وقتی وارد سایت آپارات میشم نت قطع میشه و سایت هم باز نمیشه وقتی میبندم سایت رو نت وصل میشه. بارها امتحان کردم و فقط آپارات باعث این میشه. میدونید علت چیه؟

  5. سلام، خیلی ممنون بابت آموزش ولی برای من درست کار نمی‌ده. همه چی بدون مشکل نصب می شه و پراکسی ها پینگ می ده. حتی در سایتهای تست سرعت هم نشون می ده که آی پی خارجی شده و سایتهای داخلی هم مثلا تامین اجتماعی معلومه که مستقیم شده و باز می شه ولی سایتهای فیلتر شده همچنان فیلتر هستند.
    خیلی با تنظیمات سروکله زدم، بنظر با تنظیمات دی‌ان‌اس ارتباط داره ولی بازم مشکل برطرف نشد
    از سابها هم مطمئن هستم روی ویندوز بدون مشکل کار می کنه ولی روی اوپن دبلیوآرتی اینجوری می شه

      • مشکل حل شد! و‌ همونطور که حدس میزدم مشکل از dns بود، نکته اینجا بود که من در یکی از کامنتها دیدم که گفته بود چطور dns رو‌برای کلاینت‌ها روی روتر تنظیم کنیم و انجام داده بودم، همین باعث میشد روی کلاینت‌ها و برای آدرسهای فیلتر شده کار نکنه.
        چیزی که من فهمیدم: نیازی نیست هیچ تنظیماتی روی dns انجام بشه و همه چیز پیش فرض باشه و فقط مواردی که در راهنما گفته شده انجام بشه کافیه.
        من از نسخه ۲۳.۰۵ استفاده کردم روی یک arm sbc که دو‌پورت شبکه داره.

  6. سلام یک مشکل دارم تو openwrt
    یک کارت شبکه لن دارم
    و یک بیسیم جدید نصب کردم
    می‌خوام از بیسیم‌ اینترنت بگیره و از lan خروجی بده
    v2raya نصب کردم

    • سلام. تابحال خودم این کار رو انجام ندادم. اول باید مطمئن بشین که کارت وایرلس رو روترتون شناسایی می‌کنه و درایورش نصب شده. یه داستان مفصله، ولی راه حلش هست. تو یوتیوب سرچ کنین.
      در ضمن هیچ خیری به غیر از ساپورت juicity در v2rayA نیست. چون WebRTC Leak داره. اگر نکته‌ی مفیدی پیدا کردید، بگید که اطلاع‌رسانی کنم.

    • من سرویس دهنده اینترنت و مودم رو عوض کردم مشکلم برگشت! حتی در حالت بدون جدا کردن اینترنت هم فیلترشکن کار نمیکنه. مشکل هم اینطور که بنظر میاد همچنان dns هست. یعنی با تنظیمات دیفالت و گذاشتن کانفیگی که مطمئن هستم درسته روی Passwall کار نمی‌کنه.
      وقتی به قسمت
      network/diagnostics
      می رم حتی nslookup
      برای گیتهاب هم کار نمی‌کنه! فقط وقتی درست می شه که به صورت دستی در تنظیمات شبکه lan برم و مثلا ۸.۸.۸.۸ رو اضافه کنم.
      خلاصه که حسابی گیج شدم. آیا بسته به سرویس دهنده نیاز به تنظیمات خاصی برای dns روی خود openwrt هست؟ یا تنیمات dns روی passwall باید تغییر کنه؟

      • تنها پیشنهادی که بهتون دارم اینه که اصلا تنظیمات dns رو در OpenWrt دست نزنین. در PassWall2 هم برید توی تب FAQ و گزینه‌ی Restore to default configuration رو بزنید تا پسوال ریست بشه و دوباره تنظیم کنید. در تنظیمات مودم dns رو برای امتحان هم که شده بذارید روی ۲۰۸.۶۷.۲۲۲.۲۲۲ و ۲۰۸.۶۷.۲۲۰.۲۲۰ و ببینید اوضاع چطوره.
        اگر مشکل حل نشد، از نصب دوباره‌ی OpenWrt هم نترسید. دوباره از نو نصب کنید و تنظیمات را مطابق آموزش جلو ببرید.
        من اولین باره مشکلی مشابه مشکل شما میشنوم.

  7. کوین جان یک مدتی هست که برای بعضی از سایتهای داخلی مثلاً سایت گلستان پیام نور (https://reg.pnu.ac.ir) دیگه با این روش کار نمیکه و سایت باز نمیشه، بنظر یک اسکریپتی رو ران میکنن که IP رو دقیق تشخیص میده ولی هرچی گشتم پیدا نکردم. میشه راهنمایی بفرمایید که چکار کنیم. تعداد این دسته از سایتها داره بیشتر هم میشه.

    • در مود دولوپر کروم دنبال یک لینک بگرد که یه اسکریپت داره ران میکنه. دامین اون لینک رو هم بذار تو رول ایران، حل میشه. برخی سایت ها برای تشخیص ip از یه سری سرویس های خارجی دارن استفاده میکنن که اون سرویس طبیعتا چون تو رول نیست ip خارجی رو نشون میده.

      • بله، خیلی بررسی کردم ولی اسکریپت خاصی نتونستم پیدا کنم. اگر تونستید به همون سایت پیام نور که بعنوان نمونه فرستادم یک نگاه بنداز، ببین میتونی اسکریپت خاصی پیدا کنی.
        ممنون از لطفتان

  8. سلام دوست عزیز
    من linksys e8100 دارم
    روی فریمور فابریکی که امکان نصب vpn وجود نداره احتمال زیاد که اگه بشه خیلی عالیه
    فریمور openwrt نصب کردم ولی نتونستم دستورات vpn یا برنامه نصب هارد به روتر انجام بدم
    البته بخاطر اطلاعات پایین بنده هستش در این ضمینه

    آیا کسی هستن که آموزش ۰تا ۱۰۰ اینها رو بهم بده یا اینکه برام انجام
    ممنون میشم پاسخ بنده رو بدین
    با تشکر

  9. سلام کوین جان، امیدوارم حالت خوب باشه. ممنون بابت آموزش های مفیدی که بدون منت در اختیار هموطنانت قرار می دی. خسته نباشی.
    امکانش هست که به صورت دستی خودمون سایتی رو به rule ها اضافه کنیم. چون بعضی سایت ها هستن که تو فایل geo ها قرار ندارن و در نتیجه متوجه استفاده مون از فیلترشکن میشن. ممنون میشم اگر در این زمینه کمک کنی.
    پاینده باشی.

    • سلام بر شما. خواهش میکنم. بله خیلی ساده‌س. رول ایران رو باز کنین و دامنه مورد نظر تون رو در قسمت دامنه‌ها اضافه و ذخیره کنین. بعد در تب DNS در Main Settings دکمه‌ی Clear IPSet رو بزنین. تمام. همین کار رو برای IP هم می‌تونین انجام بدین. با این تفاوت که در قسمت IP های رول اضافه می‌کنین. موفق باشین.

  10. سلام ، میتونید راهنمایی کنید چطور همزمان Adguard و passwall رو همزمان استفاده کنیم ؟ روی موبایل از برنامه فیلترشکن به صورت پروکسی مود استفاده میکنیم و میدیم داخل ادگارد و ادگارد روی vpn سرویس میده . روی openwrt چطور میشه اینارو همزمان استفاده کرد ؟

    • سلام. اگر منظورتون dns ادگارد هستش که می‌تونید در تب dns پسوال، dns ادگارد رو بذارید. یا در همون جا فیلد Remote DNS Protocol رو بذارید روی DOH و سپس از لیست زیرش یعنی Remote DOH DNS گزینه‌ی AdGuard رو انتخاب کنید.

  11. نه ، منظورم پکیج های passwall و adguard Home همزمان هست . من روتر Gl-inet دارم و وقتی adguard home رو فعال میکنم پیغام میده که تا وقتی ادگارد فعال هست vpn ها و dns هایی که ست کردید disable میشن .

  12. درود بر شما
    خیلی آموزنده هست نوشته ها و آموزش ها با راهنمایی شما من که مبتدی هست پسوال ۲ را نصب کردم و سایتهای داخلی را روتینگشا انجام دارم
    سپاس بیکران فقط یک پرسش
    میشه پروتکل بروک را به شکل جداگانه روی openwrt نصب کنم زیرا پسوال ۲ من بروک نداره

    • درود بر شما. خواهش می‌کنم. خوشحالم که براتون مفید بوده.
      میشه ولی توصیه نمی‌کنم. در تست‌های من به خوبی کار نکرده. پیشنهادم اینه که در آموزش مربوط به نصب پسوال، ورژنی که بروک رو ساپورت میکنه رو نصب کنین. با Downgrade پسوال چیز خاصی از دست نمیدین، نگران نباشین.
      فقط قبلش باید با دستور زیر PassWall2 رو حذف کنین و بعد اون ورژن رو نصب کنین:
      opkg update
      opkg remove luci-app-passwall2

      اینم لینک مقاله:
      https://ivpn.pro/openwrt/how-to-install-passwall-2-on-pc-or-router/

      موفق باشید.

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *