نحوه پنهان کردن ترافیک OpenVPN خود با یک تونل SSH

تونل (2)
بنابراین شما آموزش ما را در مورد نحوه تنظیم سرور VPN خود با استفاده از OpenVPN و یک سرور EC2 آمازون دنبال کردید ، و بسیار عالی بود. یعنی تا اینکه ناگهان مسدود شد. شاید شما نمونه را مجدداً راه اندازی کرده و یک آدرس IP جدید بدست آورید. این کار دوباره برای چند روز دیگر خوب است ، سپس مسدود می شود. به نظر می رسد دفتر ، ISP یا دولت شما به طور فعال سرورهای OpenVPN را مسدود می کند. پس چیکار میکنی?

فایروال های پایه اتصالات را بر اساس پورت استفاده شده و آدرس IP مقصد مسدود می کنند ، اما فایروال های پیشرفته تر از بازرسی بسته های عمیق (DPI) و / یا بازرسی بسته های حالتدار (SPI) برای تمایز بین انواع مختلف الگوریتم های رمزگذاری و پروتکل های VPN استفاده می کنند. این بدان معنی است که آنها می توانند ترافیک OpenVPN را شناسایی کرده و آن را پرچم گذاری کنند تا سرپرست بتواند سرور را مسدود کند.

سه راه برای حل این مسئله وجود دارد: یک پروکسی انسداد ، تونل سازی SSL و تونل زنی SSH. در این آموزش ، درباره آخرین مورد بحث خواهیم کرد. تونل سازی SSH اتصال قبلاً رمزگذاری شده خود را در یک لایه دیگر رمزگذاری می گذارد تا فایروال نتواند این تمایز را ایجاد کند. هر یک از این روشها باید از دیواره های آتش DPI و SPI که توسط شرکت ها یا دولت های سنگین سانسور مانند دولت چین استفاده می شود ، دور بزنند..

OpenVPN بیش از SSH دارای نزولی دو طرفه است. اول یک عملکرد به دلیل رمزگذاری مضاعف است. دوم ، اثر انگشت OpenVPN در هنگام تونل زدن از طریق SSH دیگر قابل شناسایی نیست ، اما برخی از فایروال ها همچنین ترافیک SSH را مسدود می کنند. این مورد برای خدماتی مانند Netflix ، که استفاده از هر نوع پروکسی رمزگذاری شده ، OpenVPN ، SSH یا موارد دیگر را متوقف می کند. در این حالت ، توصیه می کنیم به جای آن Obfsproxy را تنظیم کنید ، که باعث می شود ترافیک رمزگذاری شده عادی و رمزگذاری نشده باشد. Obfsproxy به همین دلیل بسیار قدرتمندتر است ، اما همچنین راه اندازی و اجرای آن نیز پیچیده تر است.

متأسفانه ، Obfsproxy همراه با OpenVPN در حال حاضر فقط بر روی دسک تاپ کار می کند ، تا آنجا که ما می دانیم. تونل سازی SSH را می توان در دستگاه تلفن همراه Android یا iOS استفاده کرد.

این آموزش فرض می کند شما قبلاً یک سرور OpenVPN را تنظیم کرده اید و می توانید با استفاده از برنامه OpenVPN GUI یا OpenVPN Connect به آن متصل شوید. شما همچنین باید با استفاده از Terminal در Mac یا PuTTy بر روی رایانه ، SSH را به سرور خود وارد کنید. برای اهداف تظاهرات ، ما از PuTTy استفاده خواهیم کرد. اگر همه این موارد را تنظیم نکردید ، لطفاً به آموزش قبلی ما مراجعه کنید.

OpenVPN را روی SSH تنظیم کنید

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

PuTTy را باز کنید و پیکربندی سرور VPN خود را بارگیری کنید. در نوار کناری ، به Connection بروید > SSH > تونل ها اطمینان حاصل کنید که D8080 در لیست گنجانده شده است. در غیر این صورت ، 8080 را در “پورت منبع” تایپ کرده و Auto و Dynamic را بررسی کنید. سپس Add را بزنید. اکنون یک پروکسی SSH دارید که از طریق پورت 8080 در حال اجرا است. اگر می خواهید برگه Session درخت ناوبری را برگردانید ، می توانید آن را به عنوان یک پیکربندی جلسه جداگانه ذخیره کنید..

openvpn ssh putty 8080

بر روی Open کلیک کرده و وارد سرور خود شوید. به یاد داشته باشید که در جدیدترین Amazon Linux AMI ، نام کاربری “ec2-user” است.

به پرونده openvpn.conf خود بروید و محتویات را با استفاده از این دستورات بررسی کنید

cd / etc / openvpn
گربه openvpn.conf

این باید محتوای فایل پیکربندی سرور OpenVPN شما را نشان دهد. می بایست شبیه به این باشه:

بندر 1194
سرور proto tcp
dev tun1
ifconfig 10.4.0.1 10.4.0.2
وضعیت سرور-tcp.log
فعل 3
مخفی ovpn.key

پیکربندی سرور openvpn ssh

نکته مهم این است که خط دوم روی TCP تنظیم می شود ، نه UDP. در صورت نیاز به تغییر ، می توانید با این دستور آن را ویرایش کنید:

sudo nano openvpn.conf

سپس بر روی CTRL + O (حرف “o” ، نه صفر) کلیک کنید تا پرونده ذخیره شود ، سپس CTRL + X را بزنید تا از ویرایشگر خارج شوید.

پیکربندی مشتری

در دستگاه محلی خود ، به پرونده های پیکربندی مشتری OpenVPN خود بروید. اگر از دایرکتوری نصب پیش فرض استفاده کرده باشید ، این C: / فایلهای برنامه / OpenVPN / پیکربندی خواهد بود.

از آخرین آموزش ، یک نسخه از پیکربندی OpenVPN موجود خود ایجاد کنید یا یک نسخه جدید ایجاد کنید. دفترچه یادداشت یا ویرایشگر متن ساده را پیدا کنید و برای اجرای به عنوان سرور آن را راست کلیک کنید. پرونده پیکربندی جدید خود را باز کنید یا ایجاد کنید ، که باید به صورت زیر باشد:

پروتکل TCP-مشتری
localhost از راه دور 1194
بندر 1194
dev tun1
مخفی ovpn.key
تغییر مسیر-دروازه def1
ifconfig 10.4.0.2 10.4.0.1
جوراب-پروکسی-دوباره امتحان کنید
جوراب-پروکسی 127.0.0.1 8080

توجه داشته باشید که خط “از راه دور” دوم به جای IP سرور OpenVPN از localhost استفاده می کند ، به علاوه دو خط در پایان که OpenVPN را برای استفاده از پروکسی SOCKS پیکربندی می کند. همه چیز دیگر مانند گذشته است.

پرونده پیکربندی جدید خود را در پوشه پیکربندی فهرست دایرکتوری OpenVPN خود ذخیره کنید.

تنظیم برنامه ها

آخرین مرحله پیکربندی برنامه های شما برای استفاده از پروکسی درگاه 8080 است. این مشابه کاری است که ما با آخرین پروکسی SSH از آخرین آموزش انجام دادیم. بسیاری از برنامه ها یک تنظیم پروکسی در تنظیمات موجود دارند و برخی حتی ممکن است آن را به صورت خودکار تشخیص دهند. اگر نیاز دارید که آن را به صورت دستی تنظیم کنید ، سه بخش از اطلاعات مورد نیاز شما عبارتند از:

  • میزبان: 127.0.0.1
  • بندر: 8080
  • نوع پروکسی: SOCKS5 (یا SOCKS v5)

در اینجا دستورالعمل های Firefox و Chrome آورده شده است:

در Firefox:

  • به ابزارها بروید > گزینه ها > پیشرفته > شبکه > ارتباط > تنظیمات > پیکربندی دستی پروکسی
  • میزبان SOCKS را به عنوان 127.0.0.1 و پورت را به عنوان 8080 تنظیم کنید (یا هر آنچه که پورت تونل را روی PuTTy تنظیم کنید).
  • برای ذخیره ، روی تأیید کلیک کنید

در Chrome Proxy Switchy

  • یک صفحه تنظیم به محض نصب برنامه افزودنی باید ظاهر شود ، یا روی نماد در سمت راست بالای Chrome کلیک کرده و گزینه ها را کلیک کنید.
  • نمایه را هر آنچه دوست دارید نام ببرید. در زیر تنظیمات دستی ، میزبان SOCKS را بر روی 127.0.0.1 و پورت را روی 8080 (یا هر آنچه که پورت تونل را در PuTTy قرار دهید) تنظیم کنید..
  • آمار را ذخیره کنید ، سپس دوباره روی نماد کلیک کنید تا نمایه پروکسی خود را انتخاب کنید.

جایگزین پروکسی کروم obfsproxy

اکنون ابتدا با استفاده از پیکربندی بالا با PuTTy به سرور خود متصل شوید ، سپس با استفاده از فایل پیکربندی جدیدی که ایجاد کرده ایم با VPN استفاده کنید..

اکنون با OpenVPN از طریق SSH به اینترنت متصل شده اید!

سیار

ما در اینجا می خواهیم نحوه تطبیق تونل OpenVPN + SSH را برای Android توضیح دهیم ، هر چند iOS نباید متفاوت باشد.

قبل از شروع ، یک زن و شوهر بر حذر داریم. اول ، این روش فقط برای مرور وب کار می کند. دلیل این امر است که ، بر خلاف دسک تاپ ، شما نمی توانید فقط در صورت تمایل در دستگاه Android یا iOS پورت ها را باز کنید. این بدان معناست که پورت های مورد استفاده سایر برنامه ها از طریق پروکسی SSH هدایت نمی شوند. برای غلبه بر این ، می توانید دستگاه خود را ریشه کن یا فرار از زندان کنید و از برنامه ای مانند برنامه های ProxyDroid یا Cydia Unix برای پیکربندی پروکسی استفاده کنید.

این یک آموزش برای یک روز بعد است. در حال حاضر ، بیایید آن را بصورت Android و Firefox با سیستم عامل اجرا کنیم. باید برنامه های زیر را نصب کنید:

  • OpenVPN for Android (توجه داشته باشید: NOT OpenVPN Connect ، که در مورد تأیید هویت بیشتر مورد توجه است)
  • ConnectBot یا یک برنامه ترمینال SSH معادل آن (JuiceSSH خوب است اما برای ارسال بنادر هزینه اضافی دارد)
  • مدیر فایل مانند File Commander
  • Firefox یا مرورگر دیگری که به شما امکان پیکربندی پروکسی را می دهد

برای انتقال پرونده ها از رایانه به تلفن خود نیز به برخی روش ها نیاز خواهید داشت. یک کابل USB خوب است. من از پوشه همگام سازی IBackup استفاده کردم.

پرونده پیکربندی ovpn.key و پرونده پیکربندی .ovpn را که در بالا ایجاد کردید ، روی دسک تاپ خود پیدا کنید و آنها را روی حافظه داخلی تلفن یا کارت SD منتقل کنید. همچنین فایل کلید .pem تهیه شده توسط میزبان سرور خود را جابجا کنید. این احتمالاً در همان مکان با پرونده .ppk شما برای تأیید اعتبار با PuTTy واقع شده است. اگر آن را گم کرده اید ، باید یک مورد دیگر را در داشبورد Amazon EC2 یا هر سرویس میزبانی سرور مورد استفاده خود ایجاد کنید..

به صورت اختیاری ، می توانید پرونده پیکربندی استاندارد .ovpn را که برای اتصال بدون SSH استفاده می کنید ، بگیرید. سپس می توانید به جای فقط مرورگر ، از VPN خود با همه برنامه ها استفاده کنید ، و برای عیب یابی مفید است.

راه اندازی ConnectBot

ConnectBot را بر روی تلفن خود اجرا کنید. روی سه نقطه در گوشه بالا سمت راست کلیک کنید و به سمت مدیریت Pubkeys بروید. مجدداً روی صفحه بعد روی نقاط کلیک کرده و وارد کردن (Import) را کلیک کنید. این باید مدیر پرونده ای را که نصب کرده اید راه اندازی کند. پرونده .pem را که به تازگی به تلفن خود منتقل کرده اید ، پیدا کنید و آن را انتخاب کنید. اکنون باید در لیست کلیدهای عمومی با یک قفل قرمز در کنار آن ظاهر شود. روی آن ضربه بزنید تا سبز شود. دکمه برگشت را بزنید تا به صفحه اصلی ConnectBot برگردید.

اتصال

در قسمت پایانه پایینی کنار “ssh” ، جزئیات SSH خود را وارد کنید. می بایست شبیه به این باشه:

ec2-user @: 22

با آدرس IP سرور OpenVPN خود جایگزین کنید. روی کلید enter SSH در سرور خود ضربه بزنید. همه این موارد باید ذخیره شود ، بنابراین مجبور نیستید دوباره آن را وارد کنید ، اما ممکن است در آینده مجبور شوید دوباره کلید عمومی را تغییر دهید.

پس از اتصال موفقیت آمیز ، دوباره به سه نقطه ضربه بزنید و جدا شوید. نمایه شما باید در صفحه اصلی ConnectBot ذخیره شود. طولانی آن را فشار دهید تا یک منوی زمینه باز شود ، و به “ویرایش پورت به جلو” ضربه بزنید. در صفحه بعدی ، روی سه نقطه ضربه بزنید و “افزودن پورت رو به جلو” را انتخاب کنید.

اسمش را هرچه دوست داری Type را روی پویای Dynamic (SOCKS) و منبع منبع قرار دهید تا 8080 (یا هر آنچه در خط پروکسی جوراب پرونده پیکربندی OpenVPN شماست) قرار دهید. روی “ایجاد پورت به جلو” ضربه بزنید.

ConnectBot آماده رفتن است ، اما ما هنوز ارتباط برقرار نمی کنیم. بیایید ابتدا OpenVPN را تنظیم کنیم.

OpenVPN برای راه اندازی Android

OpenVPN را برای Android اجرا کنید.

بر روی دکمه مربع با یک فلش به سمت پایین در آن در گوشه بالا سمت راست کلیک کنید تا یک نمایه وارد شود. به پرونده پیکربندی .ovpn بروید و آن را انتخاب کنید. در صفحه بعد ، دکمه ای که می گوید “انتخاب” را بزنید.

openvpn برای اندروید

این بار به پرونده ovpn.key خود بروید و آن را انتخاب کنید. دکمه ذخیره زرد را در گوشه سمت راست پایین فشار دهید.

نمایه جدید شما هم اکنون باید در لیست در صفحه اصلی برنامه ظاهر شود.

قبل از اتصال ، بگذارید دوبار فایروال سرور خود را بررسی کنیم. به AWS وارد شوید ، موارد را انتخاب کنید و سرور OpenVPN خود را برجسته کنید. در قسمت Security Groups ، روی مورد استفاده برای این مثال کلیک کنید. روی آن کلیک راست کرده و “ویرایش قوانین ورودی” را انتخاب کنید.

قوانین TCP سفارشی را برای درگاههای 22 ، 1194 و 8080 اضافه کنید و تنظیمات لازم را برای تنظیمات شخصی خود انجام دهید.

اکنون زمان آن رسیده که ارتباط برقرار کنیم. ابتدا ConnectBot را باز کنید. روی نمایه ای که اخیراً برای SSH ایجاد کرده ایم روی سرور خود ضربه بزنید. مطمئن شوید که pubkey روشن شده است ، در غیر اینصورت در مورد رمز عبور خطایی دریافت خواهید کرد. پس از اتصال موفقیت آمیز ، به برنامه OpenVPN بروید. برای اتصال به نمایه خود در آنجا ضربه بزنید.

موفقیت آندروید openvpn ssh

در پایان ورود به سیستم OpenVPN که هنگام اتصال به آن باز می شود ، باید پیامی را مشاهده کنید که می گوید “اتصال ، موفقیت”.

توجه داشته باشید که چون ما از همان پرونده های .pem و .key مانند دسک تاپ خود استفاده می کنیم ، شما می توانید همزمان از این اعتبارنامه ها در یک دستگاه استفاده کنید. حتماً ابتدا به دسک تاپ خود متصل نیستید. اگر می خواهید همزمان به چندین دستگاه وصل شوید ، باید اعتبار جدید ((کلید و .pem)) را برای هر یک تولید کنید.

Firefox را برای استفاده از پروکسی پیکربندی کنید

درنهایت ، برای استفاده از پروکسی باید فایرفاکس را پیکربندی کنیم. Chrome و Safari در تلفن همراه گزینه های پیکربندی پروکسی را ندارند ، به همین دلیل توصیه می کنیم Firefox را توصیه کنیم. می توانید پروکسی را در تنظیمات wi-fi تنظیم کنید ، اما پس از آن باید هر بار که می خواهید بدون پروکسی به آنها وصل شوید ، آنها را تغییر دهید.

پیکربندی پروکسی firefox

در نوار URL Firefox ، “about: config” را تایپ کنید. در نوار جستجو در آن صفحه ، “network.proxy” را تایپ کنید. این باعث می شود همه زمینه هایی که به آنها نگران هستیم. تنظیمات زیر را در قسمت های نشان داده شده وارد کنید:

  • network.proxy.socks: 127.0.0.1
  • network.proxy.socks_port: 8080 (یا هر آنچه را که در پیکربندی OpenVPN و ConnectBot خود تنظیم کرده اید)
  • network.proxy.type: 1

باید مسیر مرورگر Firefox را از طریق OpenVPN و SSH مسیریابی کند. اکنون می توانید بدون ترس از بازرسی بسته های عمیق ، از طریق یک VPN از طریق دستگاه تلفن همراه در وب گشت و گذار کنید!

اگر می خواهید از طریق پروکسی SSH بدون OpenVPN وصل شوید ، فقط SSH را با ConnectBot به سرور خود وصل کنید و با OpenVPN ارتباط برقرار نکنید. در مقابل ، می توانید پرونده پیکربندی اولیه غیر SSH .ovpn خود را در برنامه OpenVPN وارد کرده و با آن پروکسی SSH بدون ssh ارتباط برقرار کنید.

“تونل” توسط jo.sau تحت مجوز CC BY 2.0 مجاز است

About the author

Comments

  1. این آموزش بسیار مفید و کاربردی بود. با استفاده از OpenVPN و یک سرور EC2 آمازون ، توانستم سرور VPN خود را تنظیم کنم. اما متأسفانه ، سرور من مسدود شد و به نظر می رسد دفتر ، ISP یا دولت من سرورهای OpenVPN را مسدود می کند. این مسئله را با استفاده از تونل سازی SSH حل کردم. این آموزش بسیار جامع و کامل بود و به من کمک کرد تا مشکلات خود را حل کنم. من به همه کسانی که به دنبال راه حل برای مسدود شدن سرور OpenVPN خود هستند ، این آموزش را توصیه می کنم. با تشکر از شما.

Comments are closed.