راهکار وصل شدن به اینترنت در شرایط قطعی
برای #مهسا_امینی⛔️🔅 در شرایطی که اینترنت قطع میشه و دسترسی به سرورهای خارجی قطع میشه، تنها راه اتصال به اینترنت از طریق vps های داخلی هست که هنوز اتصال اینترنت دارند.
در این سناریو ما به وسیله یک vpn به سرور داخلی وصل میشیم و سرور داخلی با یک vpn به سرور خارجی وصل میشه.
من در این آموزش از ابزار openconnect برای وصل شدن به سرور داخلی استفاده می کنم و برای وصل شدن سرور داخلی به سرور خارجی از openvpn استفاده می کنم.
❌ آموزش برای سرورهای اوبونتو 20.04 به بالاتر است.
✅ مرحله 1️⃣: کانفیگ سرور خارجی (در صورتی که پروفایل openvpn آماده دارید، مرحله دو رو شروع کنید)
به سرور وصل شید:
ssh root@ip
به جای عبارت ip باید آیپی سرور خارج رو وارد کنید. سپس پسورد داده شده رو (دقت کنید که موقع تایپ پسورد در صفحه چیزی دیده نمیشه)
بعد از ورود دستورات زیر را به ترتیب وارد کنید:
apt update wget https://raw.githubusercontent.com/angristan/openvpn-install/master/openvpn-install.sh bash openvpn-install.sh
همه تنظیمات پیشفرض مورد قبل هستند پس در هر مرحله اینتر رو وارد کنید که وارد مرحله بعد بشید تا جایی که به پرسش Client name برسید که باید یک نام برای پروفایل خود انتخاب کنید مثل myvpn
دوباره اینتر وارد کنید.
در مرحله بعد میتونید پسورد انتخاب کنید که بهتره خالی بذارید تا بقیه هم بتونن از این پروفایل استفاده کنند.
حال فایلی به نام myvpn.ovpn ایجاد شده که در شرایط وصل بودن اینترنت میتواند همه فیلترها رو دور بزند. برای دانلود این فایل، ابتدا دستور exit رو تایپ و از سرور خارج شید و بعد:
sftp root@ip
و بعد:
get myvpn.ovpn
به جای عبارت ip باید آیپی سرور خارج رو وارد کنید. سپس پسورد داده شده رو (دقت کنید که موقع تایپ پسورد در صفحه چیزی دیده نمیشه)
حال پروفایل دانلود شده و وارد مرحله دو میشیم.
✅ مرحله 2️⃣: وصل کردن سرور ایران به سرور خارج
ابتدا فایل myvpn.ovpn رو به سرور ایران منتقل می کنیم:
sftp root@ip
و بعد:
put myvpn.ovpn
به جای عبارت ip باید آیپی سرور داخل رو وارد کنید. سپس پسورد داده شده رو (دقت کنید که موقع تایپ پسورد در صفحه چیزی دیده نمیشه)
بعد سرور داخل رو به سرور خارج وصل می کنیم:
ssh root@ip
به جای عبارت ip باید آیپی سرور داخل رو وارد کنید. سپس پسورد داده شده رو (دقت کنید که موقع تایپ پسورد در صفحه چیزی دیده نمیشه)
apt update && apt install screen openvpn -y screen -R VPN
حال اینتر وارد کنید و در صفحه مشخص شده، ابتدا باید با فایروال از پروکسی شدن ssh جلوگیری کنیم. اگر آدرس ip سرور ایران به این شکل باشد:
123.45.6.7
ما در نظر میگیریم که به این شکله:
a.b.c.d
که a برابر با ۱۲۳ و b برابر با ۴۵ و c برابر با ۶ و d برابر با ۷ است.
حال این دستورات رو وارد کنید:
ip rule add table 128 from a.b.c.d ip route add table 128 to a.b.c.0/24 dev eth0 ip route add table 128 default via a.b.c.1
دقت کنید که حتما به جای a و b و c و d در هر خط اعداد مناسب رو وارد کنید
الان میتونیم به وسیله myvpn.ovpn سرور ایران رو به سرور خارج وصل کنیم:
openvpn --config myvpn.ovpn دقت کنید که برای خروج از این حالت ابتدا کلیدctrl
رو فشار بدید و اول کلید A و بعد کلید D رو فشار بدید.
✅ مرحله 3️⃣: تنظیم openconnect روی سرور داخلی
wget https://raw.githubusercontent.com/iw4p/OpenConnect-VPN-Server/master/ocserv-install.sh bash ocserv-install.sh
عدد یک و بعد اینتر رو بزنید.
اول Y بنویسید و بعد اینتر رو بزنید.
دوباره Y بنویسید و بعد اینتر رو بزنید.
حال یک نام کاربری بنویسید مثل freeiran و یک پسورد انتخاب کنید.
تمام❗️❕
با این نام کاربری و پسورد هر لحطه دو کاربر همزمان میتونن وصل شن. برای افزودن نام کاربری جدید:
bash ocserv-install.sh
۳ رو بزنید و کاربر جدید اضافه کنید.
🔰 حال میتونید کلاینت های openconnect و openvpn رو در همه سیستم عامل ها اندروید، ios، ویندوز، مک و لینوکس نصب کنید و در شرایطی که اینترنت وصل باشه با myvpn.ovpn و اوپن وی پی ان وصل شید و در شرایط اینترانت با openconnect وصل شید.
⛔️ این آموزش رو به اشتراک بذارید تا همه بتونن استفاده کنند.