شما هنوز به سیستم وارد نشده اید.

#1 2020-05-05 18:06:30

morealaz
Moderator
ثبت شده: 2016-03-19
ارسال ها: 363

آموزش راه اندازی و استفاده از سرویس Cloudflare Warp

سلام. ابتدا بهتر هست کمی در مورد سرویس ٌWarp که توسط شرکت Cloudflare ارائه میشه توضیح بدم که اصلا چی هست و به چه دردی میخوره.
شرکت Cloudflare که یکی از بزرگترین شرکتهای ارائه دهنده سرویسهای زیرساخت اینترنت و ابری (cloud) هست و شبکه گسترده ای در سرتاسر اینترنت و دنیا داره چند وقت پیش تصمیم گرفت که سرویس DNS امن خودش رو راه اندازی کنه و برای همین سرور DNS خودش رو با آدرس 1.1.1.1 در تاریخ اول آپریل 2018 راه اندازی کرد. این سرویس که به جز این آدرس چندتا آدرس دیگه هم داره از پروتکلهای امن DNS مثل DNS over TLS یا اصطلاحا DoT و همچنین DNS over HTTPS یا اصطلاحا DoH پشتیبانی میکنه و بدلیل زیرساخت قوی و گسترده ای که cloudflare داره این سرور کارایی بسیار بالایی نسبت به سایر سرورها دارد و همینجور تأخیر یا اصطلاحا latency بسیار کمی دارد که این موضوع اون رو تبدیل به یکی از بهترین و پرکاربرترین سرویس های DNS دنیا در کنار DNS سرورهایی مثل گوگل کرده است.
این شرکت برای اینکه استفاده از DNS سرور خودش را بر روی گوشی های موبایل راحت تر کنه اقدام به انتشار یک app برای سیستم های عامل اندروید و ios نمود به نام 1.1.1.1 که استفاده از سرویس DNS خودش را بر روی این سیستم عامل ها برای کاربران گوشی های اندرویدی و گوشی های شرکت اپل راحت میکرد.
بعد از این در تاریخ اول آپریل 2019 این شرکت سرویس Warp رو معرفی کرد که با استفاده از زیرساخت قوی و گسترده Cloudflare کلیه ترافیک رو از طریق زیرساخت خودش عبور میدهد و با اینکار امنیت و کارایی ترافیک رو به خصوص برای گوشی های موبایل بالا می برد. در ابتدا این سرویس فقط برای گوشی های هوشمند و از طریق اپلیکیشن 1.1.1.1 در دسترس بود. ولی به تازگی امکان استفاده برای سیستم عاملهای ویندوز و مک و لینوکس با استفاده از تکنولوژی Wireguard فراهم شده است.

حالا بریم سراغ روش راه اندازی و استفاده

برای استفاده از Warp نیاز داریم که یک VPN از نوع wireguard ایجاد کنیم. برای اینکار نیاز به دو گزینه داریم: اول یک فایل تنظیمات که در آن تنظیمات مربوط به اتصال به Warp را قرار میدهیم و دوم ایجاد VPN با استفاده از ابزارهای مختلفی که در ادامه بیان می شود.

نکته بسیار مهمی که بایستی مد نظر قرار گیرد این است که از نسخه 5.6 به بعد کرنل لینوکس ماژولهای لازم برای استفاده از وایرگارد را در خود دارد و نیازی به ماژول دیگری نیست ولی اگر از کرنل نسخه LTS استفاده میکنید باید بسته wireguard-lts را نصب کنید. برای سایر کرنلهای غیر رسمی بسته wireguard-dkms را می توانید برای ایجاد ماژولها استفاده کنید.

ایجاد فایل تنظیمات wireguard برای اتصال به Warp
قدم اول جهت اتصال به ٌWarp ایجاد یک فایل تنظیمات می باشد. وایرگارد نیاز به ساخت دوسری کلید عمومی و خصوصی بین دو طرف ارتباط دارد که از طریق این کلیدها ارتباط رمزگذاری و ایمن می شود.
برای ایجاد این کلیدها و انجام تنظیمات لازم جهت اتصال به Cloudflare Warp از برنامه wgcf استفاده میکنیم که یک فایل اجرایی هست که با زبان go نوشته شده وبه راحتی بر روی سیستم عاملهای مختلف قابل اجرا می باشد.
ابتدا از صفحه release برنامه wgcf در گیتهاب فایل کامپایل شده مربوط به سیستم عامل خودتان و معماری سخت افزاری آن را دانلود کنید. به عنوان نمونه برای سیستم عامل لینوکس معماری x64 که مربوط به سیستم های ۶۴ بیتی می باشد من فایل wgcf_1.0.6_linux_amd64 که مربوط به نسخه 1.0.6 این برنامه می باشد را دانلود میکنم.
بعد از دانلود فایل جهت راحتی نام فایل را به wgcf تغییر میدهیم. همچنین برای اجرای این فایل بایستی در سیستم عامل لینوکس به فایل مجوز اجرا از طریق دستور chmod داده شود.برای اینکار در دایرکتوری که فایل را ذخیره نموده اید یک ترمینال باز کرده و دستور زیر را اجرا کنید:

chmod +x ./wgcf

این برنامه پارامترهای مختلفی را به عنوان آرگومان دریافت میکند که برای آشنایی با این پارامترها از فلگ help استفاده کنید:

./wgcf help

برای ایجاد فایل تنظیمات ابتدا بایستی یک حساب جدید Warp برای دستگاه خودمان به صورت زیر ایجاد کنیم:

./wgcf register --accept-tos

اگر همه چیز به درستی انجام شود این کار سبب ایجاد یک فایل به نام wgcf-account.toml در دایرکتوری ای که برنامه را در آن اجرا کرده ایم می شود که در برگیرنده اطلاعات مربوط به حساب کاربری می باشد. بعد از آن جهت ساخت فایل تنظیمات دستور زیر را اجرا میکنیم:

./wgcf generate

این کار سبب ایجاد یک فایل دیگر به نام wgcf-profile.conf در دایرکتوری ما می شود که این فایل تنظیمات لازم برای ایجاد VPN وایرگارد جهت اتصال به Warp را شامل می شود.

محتوای این فایل شبیه به این می باشد:

[Interface]
PrivateKey = 2BIhSL6j5Kn9tLG69WoMs6mNS9hcoXKUUv0EoTTQ1Gs=
Address = 172.16.0.2/32
Address = fd01:5ca1:ab1e:862a:4b22:42bb:a071:dd22/128
DNS = 1.1.1.1

[Peer]
PublicKey = bmXOC+F1FxEMF9dyiK2H5/1SUtzH0JuVo51h2wPfgyo=
AllowedIPs = 0.0.0.0/0
AllowedIPs = ::/0
Endpoint = engage.cloudflareclient.com:2408

تنظیمات شامل دو بخش Interface و Peer می باشد. بخش Interface مربوط به سیستم شما و بخش Peer مربوط Cloudflare می باشد.

در بخش Interface موارد زیر مورد توجه قرار میگیرد:

  • دو فیلد Address برای تنظیم آدرس IPv4 و IPv6
    برای IPv4 معمولا مقدار 172.16.0.2/32 که ممکن است مقدار subnet آن 24 باشد.
    برای IPv6 یک آدرس IPv6 با مقدار subnet 128 که ممکن است مقدار subnet آن 120 قرار گرفته باشد. به عنوان نمونه fd01:5ca1:ab1e:8758:a1e1:a88a:4ad1:bcc4/128
    نکته اینکه مقدار subnet mask به عدد انتهای آدرس بعد از علامت / اشاره دارد.

  • فیلد Private Key که کلید خصوصی رمزنگاری سیستم شما را در خود دارد

  • فیلد DNS که آدرس مربوط به DNS سرور مورد نظر برای استفاده در آن قرار میگیرد.

در بخش Peer موارد زیر مورد توجه قرار میگیرد:

  • فیلد Public Key که کلید عمومی cloudflare در آن قرار می گیرد و مقدار آن به صورت زیر است:

    bmXOC+F1FxEMF9dyiK2H5/1SUtzH0JuVo51h2wPfgyo=
  • فیلد Allowed IPs که IP های مجازی که ما امکان استفاده از آنها و اتصال به آنها از طریق VPN را داریم نشان می دهد.

  • فیلد Endpoint آدرس نقطه اتصال در طرف مقابل ما را نشان می دهد که مقدار آن به صورت زیر است:

    engage.cloudflareclient.com:2408

قبل از استفاده تغییراتی کوچکی را در این فایل به شرح زیر اعمال میکنیم.
ابتدا این فایل را با ویرایشگر متن دلخواه خود باز کنید و تغییرات زیر را در فایل اعمال کنید:

  • پارامتر DNS را به صورت زیر تغییر دهید تا آدرس IPv6 سرور cloudflare را نیز شامل شود و در اولویت اول باشد:

    DNS = 2606:4700:4700::1111, 1.1.1.1
  • پارامترهای AllowedIPs در بخش [Peer] را با هم ترکیب کرده و به صورت زیر قرار میدهیم:

    AllowedIPs = ::/0, 0.0.0.0/0

    به این ترتیب امکان اتصال به تمام ّIP های نسخه 4 و 6 را داریم.

در نهایت فایل تنظیمات بایستی چیزی شبیه به این باشد:

[Interface]
PrivateKey = cCoDmFrw4kG3nPEf90a+PJFo8fr8nwRKH2/HdifaW2o=
Address = 172.16.0.2/32
Address = fd01:5ca1:ab1e:8fe8:68b:c1bc:b870:28b1/128
DNS = 2606:4700:4700::1111, 1.1.1.1

[Peer]
PublicKey = bmXOC+F1FxEMF9dyiK2H5/1SUtzH0JuVo51h2wPfgyo=
AllowedIPs = ::/0, 0.0.0.0/0
Endpoint = engage.cloudflareclient.com:2408

بسته wireguard-tools ابزارهای لازم برای راه اندازی و تنظیم وایرگارد را فراهم میکند. این بسته تمام ابزارهای لازم برای ایجاد vpn را در اختیار ما قرار میدهد که کلیه این کارها از طریق دو برنامه wg و wg-quick که از طریق خط فرمان انجام می شوند، قابل اجرا می باشد. برنامه های  systemd-networkd و networkmanager نیز امکان ایجاد رابط وایرگارد را به صورت توکار دارند و تنها نیاز به فراهم بودن ماژولهای وایرگارد برای راه اندازی و استفاده از این نوع VPN را دارند.


ساخت VPN با استفاده از ابزار wg-quick

در حال حاضر بهترین و ساده ترین روش ساخت اتصال وایرگارد با استفاده از ابزار wg-quick می باشد که از طریق بسته wireguard-tools فراهم می شود. برای اینکار ابتدا فایل wgcf-profile.conf را که در مرحله قبل ایجاد کردم در دایرکتوری etc/wireguard/ کپی میکنیم.برای راحتی کار نام این فایل را به wg0 تغییر میدهیم:

sudo cp -v wgcf-profile.conf /etc/wireguard/wg0

در مرحله بعد در صورتیکه از networkmanager برای مدیریت شبکه استفاده میکنید باید مدیریت اتصال vpn جدید را که با wg-quick می سازید از کنترل networkmanager خارج کنید تا اختلالی در کار آن ایجاد نشود. برای اینکار فایل etc/NetworkManager/conf.d/unmanaged.conf/ را با محتویات زیر بسازید:

[keyfile]
unmanaged-devices=interface-name:wg*

به این ترتیب به networkmanager میگوییم که interface هایی که اول نام آنها wg است را مدیریت نکند و چون نام فایل تنظیمات خود را به wg0 تغییر دادیم، بعد از ساخت vpn توسط wg-quick نام interface ایجاد شده برای آن wg0 قرار میگیرد و برای همین networkmanager آن را مدیریت نمیکند. دقت شود که بعد از ساخت فایل سیستم را ریستارت یا سرویس networkmanager را ریستارت کنید تا تنظیمات جدید اعمال گردد.

نکته بعدی و مهمی که باید در نظر داشته باشید این است که برای تنظیم DNS بایستی یکی از برنامه های openresolv یا systemd-resolvconf نصب باشد تا امکان ست کردن DNS توسط wg-quick وجود داشته باشد.

در نهایت برای ساخت و استفاده از اتصال وایرگارد توسط wg-quick از دستور زیر استفاده میکنیم:

sudo wg-quick up wg0

همچنین برای قطع اتصال از پارامتر down به صورت زیر استفاده میکنیم:

sudo wg-quick down wg0


NetworkManager

برای راه اندازی و تنظیم راحت تر وایرگارد توسط networkmanager ابتدا بسته networkmanager-wireguard-git را از طریق AUR نصب میکنیم تا امکان ویرایش تنظیمات وایرگارد را از طریق networkmanager connection editor برای ما فراهم کند در غیر این صورت بایستی از طریق رابط خط فرمان networkmanager کلیه کارها را انجام دهیم که توضیحات آن در ویکی آرچ مربوط به وایرگارد آورده شده است. دقت کنید که بعد از نصب این بسته بایستی حتما سیستم ریستارت شود.

در مرحله بعد از طریق networkmanager connection editor اقدام به ساخت یک vpn جدید از طریق import کردن فایل تنظیمات wgcf-profile.conf می نماییم. شیوه دسترسی به networkmanager connection editor جهت ساخت vpn در محیطهای دسکتاپ مختلف متفاوت هست و معمولا از طریق ایکون این برنامه در بخش task manager یا از طریق settings یا تنظیمات دسکتاپ بخش مربوط به network قابل دسترسی می باشد.
به عنوان نمونه در دسکتاپ گنوم در پنجره settings تب Network را انتخاب نموده و در آنجا در بخش VPN بر روی علامت + برای ایجاد یک VPN جدید کلیک میکنیم. در پنجره باز شده گزینه Import from file را انتخاب کرده وسپس فایل wgcf-profile.conf را import میکنیم تا تنظیمات لازم را وارد کنیم.


دقت شود که تنظیمات شما به صورت ذکر شده در فایل تنظیمات باشد. بعد از ساخت VPN میتوانید از طریق آیکون مربوط به networkmanager آن را فعال کنید و از آن استفاده کنید.
این راهنما به مرور در صورت نیاز آپدیت می شود. در صورت بروز مشکل لطفا به ویکی آرچ مربوط به wireguard مراجعه نمایید یا در همین صفحه مشکل خود را بیان کنید.

آخرین ویرایش توسط morealaz (2020-05-08 12:28:51)

آفلاین

#2 2020-05-06 02:00:44

mk990
عضو
ثبت شده: 2016-11-15
ارسال ها: 2

پاسخ: آموزش راه اندازی و استفاده از سرویس Cloudflare Warp

سلام وصل میشه اما بعد مدتی نت کلا از کار میوفته کسی مثل من همین مشکل رو داره ؟

آفلاین

#3 2020-05-06 07:08:47

morealaz
Moderator
ثبت شده: 2016-03-19
ارسال ها: 363

پاسخ: آموزش راه اندازی و استفاده از سرویس Cloudflare Warp

mk990 نوشته است که:

سلام وصل میشه اما بعد مدتی نت کلا از کار میوفته کسی مثل من همین مشکل رو داره ؟

اینجا روچک کنید:
https://wiki.archlinux.org/index.php/Wi … leshooting

آفلاین

#4 2020-05-06 10:36:09

AmiNimA
عضو
ثبت شده: 2015-11-27
ارسال ها: 238
وب سایت

پاسخ: آموزش راه اندازی و استفاده از سرویس Cloudflare Warp

ممنون از این آموزش عالی. انجام دادیم و به خوبی فعال شد. سوالم اینه که آیا امکان داره این مورد در آینده از طرف کمیته مصادیق فلان از کار بیفته؟


لینوکس یک فرهنگ است. یک فرهنگ خوب

آفلاین

#5 2020-05-06 12:20:57

AmiNimA
عضو
ثبت شده: 2015-11-27
ارسال ها: 238
وب سایت

پاسخ: آموزش راه اندازی و استفاده از سرویس Cloudflare Warp

چند تا مشکل هست:

یوتیوب کامل باز میشه، ولی ویدیوها پلی نمیشن.
فیسبوک باز میشه ولی از fbcdn.com هیچ چیزی لود نمیشه. عملا سایت بدون استایل
وردپرس.کام و توییتر اصلا باز نمیشن.

بلاگر گوگل کامل باز میشه.

در قسمت Allowed IPs اگر 0.0.0.0/0 باشه، دسترسی به نت کلا قطع میشه. به محض اینکه حذفش میکنم، نت بر میگرده.
وقتی DNS روی 2606:4700:4700::1111 باشه، فیسبوک و یوتیوب و بلاگر دیگه لود نمیشن. ولی سایت های عادی لود میشن.


لینوکس یک فرهنگ است. یک فرهنگ خوب

آفلاین

#6 2020-05-07 08:17:58

morealaz
Moderator
ثبت شده: 2016-03-19
ارسال ها: 363

پاسخ: آموزش راه اندازی و استفاده از سرویس Cloudflare Warp

AmiNimA نوشته است که:

ممنون از این آموزش عالی. انجام دادیم و به خوبی فعال شد. سوالم اینه که آیا امکان داره این مورد در آینده از طرف کمیته مصادیق فلان از کار بیفته؟

ممنون از لطفت امین جان
در مورد کمیته مصادیق فلان باید بگم که فکر میکنم بتونند چون این ارتباط یک طرفش ما هستیم و یک طرفش endpoint شرکت cloudflare حالا اگر دسترسی به cloudflare رو محدود کنند ارتباط قطع میشه
به امید روزی که دیگه نیازی به این چیزا برای دسترسی آزاد به اطلاعات نباشه

آفلاین

#7 2020-05-07 08:34:59

morealaz
Moderator
ثبت شده: 2016-03-19
ارسال ها: 363

پاسخ: آموزش راه اندازی و استفاده از سرویس Cloudflare Warp

AmiNimA نوشته است که:

چند تا مشکل هست:

یوتیوب کامل باز میشه، ولی ویدیوها پلی نمیشن.
فیسبوک باز میشه ولی از fbcdn.com هیچ چیزی لود نمیشه. عملا سایت بدون استایل
وردپرس.کام و توییتر اصلا باز نمیشن.

بلاگر گوگل کامل باز میشه.

در قسمت Allowed IPs اگر 0.0.0.0/0 باشه، دسترسی به نت کلا قطع میشه. به محض اینکه حذفش میکنم، نت بر میگرده.
وقتی DNS روی 2606:4700:4700::1111 باشه، فیسبوک و یوتیوب و بلاگر دیگه لود نمیشن. ولی سایت های عادی لود میشن.

امین جان راستش من خودم هم هنوز گهگاه مشکلاتی دارم و هنوز دارم باهاش سر و کله میزنم تا از مکانیزمش سر در بیارم. در مورد اون بخش Allowed IPs میدونم که هم باید رنج ّIPv4 باشه و هم رنج IPv6 تا دسترسی کامل به هر دو نوع IP داشته باشی به خصوص اگر DNS رو IPv6 قرار بدی باید حتما رنج IPv6 در دسترس باشه. Allowed IP در واقع مشخص میکنه که کاربر یعنی ما اجازه دسترسی به چه IP هایی رو داریم که وقتی به صورت ::/0, 0.0.0.0/0 مقدارش رو قرار میدیم یعنی اینکه تمام IP های v4 و v6.
نکته بعدی اینه تا اونجایی که من تا حالا فهمیدم یکی از مشکلات اصلی در باز نشدند بعضی سایتها مشکل dns هست که هنوز نتونستم درستش کنم و راه کار درستی براش پیدا کنم. اگر تنظیمات dns سیستم درست نباشه نمیتونید هیچ وب سایتی رو درست باز کنید. در ویکی آرچ صفحه wireguard یک سری توضیحات در مورد DNS داده که بهتره یه نگاهی به اونها بکنید به خصوص بخش troubleshooting . مشکل اصلی که من دارم اینه که بعد از قطع و وصل کردن اتصال به دلیل کار نکردن dns ممکن هست نتونم به جایی وصل بشم. که دلیلش همون dns است. چون فایل resolv.conf به درستی باز نویسی نمیشه. نکته دیگه ای که فهمیدم اینه که IPv6 بهتر جواب میده برای همین هم هست که توصیه کردم از DNS نسخه IPv6 کلودفلر کنیم. به عنوان نمونه تنها برنامه ای که به درستی و بدون مشکل تا حالا برام تحت این پیکربندی کار کرده برنامه تلگرام بوده. اون هم به دلیل اینکه گزینه استفاده از IPv6 رو در تنظیماتش فعال کردم. بعد از هر بار قطع و وصل شدن warp تلگرام بدون مشکل باز میشه ولی بقیه برنامه ها ممکن است به دلیل کار نکردن dns باز نشوند.
فعلا دارم روی مشکل dns کار میکنم تا راه کاری براش پیدا کنم. البته اگر مشکل dns باشه!!!

آفلاین

#8 2020-05-28 20:03:35

AmiNimA
عضو
ثبت شده: 2015-11-27
ارسال ها: 238
وب سایت

پاسخ: آموزش راه اندازی و استفاده از سرویس Cloudflare Warp

جالبه که برنامه warp رو که در آندروید نصب میکنی عین یک فیلــتر شـکن عمل میکنه و به خوبی کار میکنه.


لینوکس یک فرهنگ است. یک فرهنگ خوب

آفلاین

#9 2020-05-29 13:19:01

morealaz
Moderator
ثبت شده: 2016-03-19
ارسال ها: 363

پاسخ: آموزش راه اندازی و استفاده از سرویس Cloudflare Warp

AmiNimA نوشته است که:

جالبه که برنامه warp رو که در آندروید نصب میکنی عین یک فیلــتر شـکن عمل میکنه و به خوبی کار میکنه.

خود پروژه Wireguard هم یک کلاینت اندروید داره که میشه ازش برای اتصال به Warp با استفاده از فایل کانفیگی که در این آموزش ساختیم استفاده کرد. به تازگی اپلیکیشن Warp بر روی اندروید به درستی کار نمیکنه ولی کلاینت Wireguard مشکلی نداره و هنوز به خوبی به Warp متصل میشه و محدودیتهای اپلیکیشن Warp رو که برای بعضی اپلیکیشن ها مثل youtube وجود داره رو هم نداره.

آفلاین

پانوشت انجمن

پشتیبانی توسط تیم آرچ لینوکس ایران و نیرو گرفته با FluxBB