با افزایش سانسور اینترنت توسط رژیمهای مستبد، تعداد فزایندهای از منابع و سایتهای مفید اینترنتی مسدود میشوند. از جمله اطلاعات فنی.
بنابراین، استفاده کامل از اینترنت غیرممکن می شود و حق اساسی آزادی بیان، مندرج در اعلامیه جهانی حقوق بشر.
مقاله 19
هر کس حق آزادی عقیده و بیان دارد. این حق شامل آزادی داشتن عقاید بدون مداخله و جستجو، دریافت و انتشار اطلاعات و عقاید از طریق هر رسانه و بدون توجه به مرزها می شود.
در این راهنما، ما نرم افزار رایگان* خود را در 6 مرحله اجرا می کنیم. سرویس VPN بر اساس تکنولوژی محافظ سیم، در زیرساخت ابری آمازون خدمات وب (AWS)، با استفاده از یک حساب رایگان (به مدت 12 ماه)، در یک نمونه (ماشین مجازی) مدیریت شده توسط سرور اوبونتو 18.04 LTS.
من سعی کردهام این راهنما را تا حد امکان برای افراد غیر IT دوستانه کنم. تنها چیزی که لازم است پشتکار در تکرار مراحل توضیح داده شده در زیر است.
یادداشت
AWS فراهم می کند ردیف استفاده رایگان برای مدت 12 ماه با محدودیت 15 گیگابایت ترافیک در ماه.
ثبت نام برای یک حساب رایگان AWS به یک شماره تلفن واقعی و یک کارت اعتباری معتبر Visa یا Mastercard نیاز دارد. توصیه می کنم از کارت های مجازی که به صورت رایگان ارائه می شوند استفاده کنید Yandex.Money یا کیف پول کیوی. برای بررسی اعتبار کارت در هنگام ثبت نام 1 دلار کسر می شود که بعدا برگردانده می شود.
در این مرحله شماره تلفن تأیید می شود و 1 دلار مستقیماً از کارت پرداخت برداشت می شود. یک کد 4 رقمی روی صفحه کامپیوتر نمایش داده می شود و تلفن مشخص شده از آمازون تماس دریافت می کند. در حین تماس، باید کد نشان داده شده روی صفحه را شماره گیری کنید.
1.6. انتخاب طرح تعرفه
انتخاب - طرح اولیه (رایگان)
1.7. وارد کنسول مدیریت شوید
1.8. انتخاب مکان مرکز داده
1.8.1. تست سرعت
قبل از انتخاب یک مرکز داده، توصیه می شود از طریق آن تست کنید https://speedtest.net سرعت دسترسی به نزدیکترین مراکز داده، در مکان من نتایج زیر است:
سنگاپور
شهر پاریس
فرانکفورت
استکهلم
لندن
مرکز داده در لندن بهترین نتایج را از نظر سرعت نشان می دهد. بنابراین من آن را برای سفارشی سازی بیشتر انتخاب کردم.
2. یک نمونه AWS ایجاد کنید
2.1 یک ماشین مجازی ایجاد کنید
2.1.1. انتخاب نوع نمونه
به طور پیش فرض، نمونه t2.micro انتخاب شده است، همان چیزی است که ما نیاز داریم، فقط دکمه را فشار دهید بعدی: پیکربندی جزئیات نمونه
2.1.2. تنظیم گزینه های نمونه
در آینده، یک IP عمومی دائمی را به نمونه خود متصل خواهیم کرد، بنابراین در این مرحله، اختصاص خودکار یک IP عمومی را خاموش می کنیم و دکمه را فشار می دهیم. بعدی: افزودن فضای ذخیره سازی
2.1.3. اتصال ذخیره سازی
اندازه "هارد دیسک" را مشخص کنید. برای اهداف ما 16 گیگابایت کافی است و دکمه را فشار می دهیم بعدی: اضافه کردن برچسب ها
2.1.4. تنظیم برچسب ها
اگر چندین نمونه ایجاد کنیم، میتوان آنها را با برچسبها گروهبندی کرد تا مدیریت را تسهیل کند. در این مورد، این قابلیت اضافی است، بلافاصله دکمه را فشار دهید بعدی: پیکربندی گروه امنیتی
2.1.5. باز کردن پورت ها
در این مرحله با باز کردن پورت های مورد نیاز فایروال را پیکربندی می کنیم. مجموعه پورت های باز را Security Group می نامند. ما باید یک گروه امنیتی جدید ایجاد کنیم، به آن یک نام، توضیحات بدهیم، یک پورت UDP (قانون سفارشی UDP) اضافه کنیم، در قسمت Rort Range، یک شماره پورت از محدوده اختصاص دهیم. پورت های پویا 49152-65535. در این مورد شماره پورت 54321 را انتخاب کردم.
پس از پر کردن اطلاعات مورد نیاز، روی دکمه کلیک کنید بررسی و راه اندازی
2.1.6. نمای کلی همه تنظیمات
در این صفحه یک نمای کلی از تمام تنظیمات نمونه ما وجود دارد، ما بررسی می کنیم که آیا همه تنظیمات مرتب هستند یا خیر، و دکمه را فشار می دهیم راه اندازی
2.1.7. ایجاد کلیدهای دسترسی
سپس یک کادر محاوره ای ارائه می شود که یک کلید SSH موجود را ایجاد یا اضافه می کند، که بعداً از راه دور به نمونه خود متصل خواهیم شد. برای ایجاد یک کلید جدید گزینه «ایجاد جفت کلید جدید» را انتخاب می کنیم. اسمش را بگذارید و روی دکمه کلیک کنید دانلود جفت کلیدبرای دانلود کلیدهای تولید شده آنها را در مکانی امن در رایانه محلی خود ذخیره کنید. پس از دانلود، روی دکمه کلیک کنید. نمونه ها را راه اندازی کنید
2.1.7.1. ذخیره کلیدهای دسترسی
در اینجا مرحله ذخیره کلیدهای تولید شده از مرحله قبل نشان داده شده است. بعد از اینکه دکمه را فشار دادیم دانلود جفت کلید، کلید به عنوان یک فایل گواهی با پسوند *.pem ذخیره می شود. در این مورد من آن را یک نام گذاشتم wireguard-awskey.pem
2.1.8. مروری بر نتایج ایجاد نمونه
در مرحله بعد، پیامی درباره راهاندازی موفقیتآمیز نمونهای که به تازگی ایجاد کردهایم میبینیم. با کلیک بر روی دکمه می توانیم به لیست نمونه های خود برویم مشاهده نمونه ها
2.2. ایجاد یک آدرس IP خارجی
2.2.1. شروع ایجاد یک IP خارجی
در مرحله بعد، باید یک آدرس IP خارجی دائمی ایجاد کنیم که از طریق آن به سرور VPN خود متصل می شویم. برای انجام این کار، در پنل ناوبری در سمت چپ صفحه، مورد را انتخاب کنید IP های الاستیک از دسته شبکه و امنیت و دکمه را فشار دهید تخصیص آدرس جدید
2.2.2. پیکربندی ایجاد یک IP خارجی
در مرحله بعد باید گزینه را فعال کنیم استخر آمازون (به طور پیش فرض فعال است) و روی دکمه کلیک کنید اختصاص دادن
2.2.3. مروری بر نتایج ایجاد یک آدرس IP خارجی
صفحه بعدی نشانی IP خارجی دریافتی ما را نشان می دهد. توصیه می شود آن را حفظ کنید و حتی یادداشت کنید بهتر است. بیش از یک بار در فرآیند راه اندازی و استفاده بیشتر از سرور VPN مفید خواهد بود. در این راهنما، من از آدرس IP به عنوان مثال استفاده می کنم. 4.3.2.1. پس از وارد کردن آدرس، دکمه را فشار دهید نزدیک
2.2.4. لیست آدرس های IP خارجی
در مرحله بعد، فهرستی از آدرسهای IP عمومی دائمی (IP elastics) به ما ارائه میشود.
2.2.5. اختصاص IP خارجی به یک نمونه
در این لیست، آدرس IP دریافتی را انتخاب می کنیم و دکمه سمت راست ماوس را فشار می دهیم تا یک منوی کشویی ظاهر شود. در آن، مورد را انتخاب کنید آدرس همکارتا آن را به نمونه ای که قبلا ایجاد کردیم اختصاص دهیم.
2.2.6. تنظیم تخصیص IP خارجی
در مرحله بعد، نمونه ما را از لیست کشویی انتخاب کنید و دکمه را فشار دهید وابسته
2.2.7. مروری بر نتایج تخصیص IP خارجی
پس از آن، می بینیم که نمونه ما و آدرس IP خصوصی آن به آدرس IP عمومی دائمی ما متصل است.
اکنون میتوانیم از خارج، از طریق رایانهمان از طریق SSH، به نمونه جدید ایجاد شده خود متصل شویم.
3. به یک نمونه AWS متصل شوید
SSH یک پروتکل امن برای کنترل از راه دور دستگاه های کامپیوتری است.
3.1. اتصال از طریق SSH از رایانه ویندوز
برای اتصال به کامپیوتر ویندوزی ابتدا باید برنامه را دانلود و نصب کنید بتونه.
3.1.1. وارد کردن کلید خصوصی برای Putty
3.1.1.1. پس از نصب Putty، برای وارد کردن کلید گواهی در قالب PEM به فرمتی مناسب برای استفاده در Putty، باید ابزار PuTTYgen همراه با آن را اجرا کنید. برای انجام این کار، مورد را در منوی بالا انتخاب کنید تبدیل -> کلید واردات
3.1.1.2. انتخاب کلید AWS در قالب PEM
بعد، کلیدی را که قبلاً در مرحله 2.1.7.1 ذخیره کرده بودیم، در مورد ما نام آن را انتخاب کنید wireguard-awskey.pem
3.1.1.3. تنظیم گزینه های واردات کلید
در این مرحله باید یک نظر برای این کلید (توضیحات) مشخص کنیم و یک رمز عبور و تایید برای امنیت تعیین کنیم. هر بار که وصل می شوید درخواست می شود. بنابراین، ما کلید را با رمز عبور از استفاده نامناسب محافظت می کنیم. شما نیازی به تعیین رمز عبور ندارید، اما اگر کلید به دست اشتباهی بیفتد، امنیت کمتری دارد. بعد از اینکه دکمه را فشار دادیم ذخیره کلید خصوصی
3.1.1.4. ذخیره یک کلید وارد شده
یک گفتگوی ذخیره فایل باز می شود و ما کلید خصوصی خود را به عنوان یک فایل با پسوند ذخیره می کنیم .ppkمناسب برای استفاده در برنامه بتونه.
نام کلید را مشخص کنید (در مورد ما wireguard-awskey.ppk) و دکمه را فشار دهید ذخیره.
3.1.2. ایجاد و پیکربندی یک اتصال در Putty
3.1.2.1. ارتباط ایجاد کنید
برنامه Putty را باز کنید، یک دسته را انتخاب کنید جلسه (به طور پیش فرض باز است) و در فیلد نام میزبان آدرس IP عمومی سرور خود را که در مرحله 2.2.3 دریافت کردیم را وارد کنید. در زمینه جلسه ذخیره شده یک نام دلخواه برای اتصال ما وارد کنید (در مورد من wireguard-aws-london) و سپس دکمه را فشار دهید ذخیره برای ذخیره تغییراتی که ایجاد کردیم.
3.1.2.2. تنظیم خودکار ورود کاربر
بیشتر در دسته بندی اتصال، یک زیر مجموعه را انتخاب کنید داده ها و در میدان نام کاربری ورود خودکار نام کاربری را وارد کنید اوبونتو کاربر استاندارد نمونه در AWS با اوبونتو است.
3.1.2.3. انتخاب یک کلید خصوصی برای اتصال از طریق SSH
سپس به زیر مجموعه بروید اتصال/SSH/Auth و در کنار میدان فایل کلید خصوصی برای احراز هویت دکمه را فشار دهید مرور کردن… برای انتخاب یک فایل با گواهی کلید.
3.1.2.4. باز کردن کلید وارداتی
کلیدی را که قبلاً در مرحله 3.1.1.4 وارد کرده بودیم، مشخص کنید، در مورد ما یک فایل است. wireguard-awskey.ppk، و دکمه را فشار دهید باز.
3.1.2.5. ذخیره تنظیمات و شروع اتصال
بازگشت به صفحه دسته جلسه دوباره دکمه را فشار دهید ذخیره، برای ذخیره تغییراتی که قبلا در مراحل قبلی (3.1.2.2 - 3.1.2.4) ایجاد کردیم. و سپس دکمه را فشار می دهیم باز کن برای باز کردن اتصال SSH راه دور که ایجاد و پیکربندی کردیم.
3.1.2.7. ایجاد اعتماد بین هاست
در مرحله بعد، اولین باری که سعی میکنیم وصل شویم، به ما اخطار داده میشود، اعتماد بین دو رایانه پیکربندی نشده است و میپرسد که آیا به رایانه راه دور اعتماد کنیم یا خیر. ما دکمه را فشار می دهیم بله، به این ترتیب آن را به لیست میزبان های قابل اعتماد اضافه می کند.
3.1.2.8. برای دسترسی به کلید رمز عبور را وارد کنید
پس از آن، یک پنجره ترمینال باز می شود که در آن از شما رمز عبور کلید خواسته می شود، اگر آن را زودتر در مرحله 3.1.1.3 تنظیم کرده باشید. هنگام وارد کردن رمز عبور، هیچ عملی روی صفحه انجام نمی شود. اگر اشتباه کردید، می توانید از کلید استفاده کنید Backspace.
3.1.2.9. پیام خوش آمدگویی در ارتباط با موفقیت
پس از وارد کردن موفقیت آمیز رمز عبور، یک متن خوشامدگویی در ترمینال به ما نشان داده می شود که به ما می گوید که سیستم راه دور برای اجرای دستورات ما آماده است.
اسکریپت نصب Wireguard را به عنوان مدیر (کاربر ریشه) اجرا کنید
sudo ./initial.sh
فرآیند نصب، داده های خاصی را که برای پیکربندی Wireguard لازم است، درخواست می کند
4.1.3.1. ورودی نقطه اتصال
آدرس IP خارجی و پورت باز سرور Wireguard را وارد کنید. ما آدرس IP خارجی سرور را در مرحله 2.2.3 دریافت کردیم و پورت را در مرحله 2.1.5 باز کردیم. ما آنها را با هم نشان می دهیم، به عنوان مثال آنها را با یک دو نقطه از هم جدا می کنیم 4.3.2.1:54321و سپس کلید را فشار دهید وارد خروجی نمونه:
Enter the endpoint (external ip and port) in format [ipv4:port] (e.g. 4.3.2.1:54321): 4.3.2.1:54321
4.1.3.2. آدرس IP داخلی را وارد کنید
آدرس IP سرور Wireguard را در زیرشبکه امن VPN وارد کنید، اگر نمی دانید چیست، فقط کلید Enter را فشار دهید تا مقدار پیش فرض را تنظیم کنید (10.50.0.1) خروجی نمونه:
Enter the server address in the VPN subnet (CIDR format) ([ENTER] set to default: 10.50.0.1):
4.1.3.3. تعیین سرور DNS
آدرس IP سرور DNS را وارد کنید یا فقط کلید Enter را فشار دهید تا مقدار پیش فرض را تنظیم کنید 1.1.1.1 (DNS عمومی Cloudflare) خروجی نمونه:
Enter the ip address of the server DNS (CIDR format) ([ENTER] set to default: 1.1.1.1):
4.1.3.4. تعیین رابط WAN
در مرحله بعد، باید نام رابط شبکه خارجی را وارد کنید که به رابط شبکه داخلی VPN گوش می دهد. فقط Enter را فشار دهید تا مقدار پیش فرض AWS را تنظیم کنید (eth0) خروجی نمونه:
Enter the name of the WAN network interface ([ENTER] set to default: eth0):
4.1.3.5. تعیین نام مشتری
نام کاربر VPN را وارد کنید. واقعیت این است که تا زمانی که حداقل یک کلاینت اضافه نشده باشد، سرور Wireguard VPN نمی تواند راه اندازی شود. در این مورد، نام را وارد کردم Alex@mobile خروجی نمونه:
Enter VPN user name: Alex@mobile
پس از آن، یک کد QR با پیکربندی کلاینت تازه اضافه شده باید روی صفحه نمایش داده شود که برای پیکربندی آن باید با استفاده از کلاینت موبایل Wireguard در اندروید یا iOS خوانده شود. و همچنین در زیر کد QR متن فایل پیکربندی در صورت پیکربندی دستی کلاینت ها نمایش داده می شود. نحوه انجام این کار در زیر مورد بحث قرار خواهد گرفت.
4.2. اضافه کردن یک کاربر جدید VPN
برای افزودن یک کاربر جدید، باید اسکریپت را در ترمینال اجرا کنید add-client.sh
sudo ./add-client.sh
اسکریپت یک نام کاربری می خواهد: خروجی نمونه:
Enter VPN user name:
همچنین، نام کاربران را می توان به عنوان پارامتر اسکریپت ارسال کرد (در این مورد Alex@mobile):
sudo ./add-client.sh Alex@mobile
در نتیجه اجرای اسکریپت، در دایرکتوری با نام مشتری در طول مسیر /etc/wireguard/clients/{ИмяКлиента} فایل پیکربندی مشتری ایجاد خواهد شد /etc/wireguard/clients/{ИмяКлиента}/{ИмяКлиента}.confو صفحه ترمینال یک کد QR برای راه اندازی کلاینت های موبایل و محتویات فایل پیکربندی نمایش می دهد.
4.2.1. فایل پیکربندی کاربر
برای پیکربندی دستی کلاینت با استفاده از دستور می توانید محتویات فایل .conf را روی صفحه نمایش دهید. cat
[Interface]
PrivateKey = Приватный ключ клиента
Address = IP адрес клиента
DNS = ДНС используемый клиентом
[Peer]
PublicKey = Публичный ключ сервера
PresharedKey = Общи ключ сервера и клиента
AllowedIPs = Разрешенные адреса для подключения (все - 0.0.0.0/0, ::/0)
Endpoint = IP адрес и порт для подключения
4.2.2. کد QR برای پیکربندی مشتری
میتوانید با استفاده از دستور، یک کد QR پیکربندی برای یک کلاینت که قبلاً ایجاد شده است را در صفحه پایانه نمایش دهید qrencode -t ansiutf8 (در این مثال از کلاینت با نام Alex@mobile استفاده شده است):
پس از آن، باید پیکربندی را با خواندن کد QR با پیکربندی کلاینت وارد کنید (به بند 4.2.2 مراجعه کنید) و نامی به آن بدهید:
پس از وارد کردن موفقیت آمیز پیکربندی، می توانید تونل VPN را فعال کنید. اتصال موفقیت آمیز با ذخیره کلید در سینی سیستم Android نشان داده می شود
5.2. راه اندازی سرویس گیرنده ویندوز
ابتدا باید برنامه را دانلود و نصب کنید TunSafe برای ویندوز کلاینت Wireguard برای ویندوز است.
5.2.1. ایجاد یک فایل پیکربندی واردات
برای ایجاد یک فایل متنی روی دسکتاپ کلیک راست کنید.
5.2.2. کپی کردن محتویات فایل پیکربندی از سرور
سپس به ترمینال Putty برمی گردیم و محتویات فایل پیکربندی کاربر مورد نظر را مطابق مرحله 4.2.1 نمایش می دهیم.
بعد، روی متن پیکربندی در ترمینال Putty کلیک راست کنید، پس از اتمام انتخاب، به طور خودکار در کلیپ بورد کپی می شود.
5.2.3. کپی کردن پیکربندی در یک فایل پیکربندی محلی
در این قسمت به فایل متنی که قبلاً در دسکتاپ ایجاد کرده بودیم برمی گردیم و متن پیکربندی را از کلیپ بورد در آن قرار می دهیم.
5.2.4. ذخیره یک فایل پیکربندی محلی
فایل را با پسوند ذخیره کنید تأیید کنید (در این مورد به نام london.conf)
5.2.5. وارد کردن یک فایل پیکربندی محلی
در مرحله بعد، باید فایل پیکربندی را به برنامه TunSafe وارد کنید.
5.2.6. راه اندازی اتصال VPN
این فایل پیکربندی را انتخاب کرده و با کلیک روی دکمه متصل شوید اتصال.
6. بررسی موفقیت آمیز بودن اتصال
برای بررسی موفقیت آمیز بودن اتصال از طریق تونل VPN، باید یک مرورگر را باز کنید و به سایت بروید https://2ip.ua/ru/
آدرس IP نمایش داده شده باید با آدرسی که در مرحله 2.2.3 دریافت کردیم مطابقت داشته باشد.
اگر چنین است، پس تونل VPN با موفقیت کار می کند.
از ترمینال لینوکس، می توانید آدرس IP خود را با تایپ کردن چک کنید:
curl http://zx2c4.com/ip
یا اگر در قزاقستان هستید فقط می توانید به پورنو هاب بروید.