يمنح Cloudflare WARP خادمك عنوان خروج تابعًا لـ Cloudflare، وهو مفيد للوصول إلى موارد IPv6 فقط أو لتغيير عنوان IP الصادر الظاهر. على الأجهزة البعيدة يكمن الفخ المعروف في أن وضع WARP الافتراضي يستولي على جدول التوجيه ويقطع جلسة SSH. يعرض هذا الدليل طريقتين آمنتين على VPS Linux Infrawire: العميل الرسمي بوضع الوكيل، وwgcf مع WireGuard وتوجيه جزئي.
📋 المتطلبات
- خادم VPS بنظام Ubuntu 24.04 أو Debian 12 مع وصول SSH بصلاحية root (من منطقة العميل تجد عنوان IP وكلمة مرور root الخاصة بالـ VPS).
- عنوان IP العام للـ VPS مدوَّنًا على حدة (
VPS_IP). - طريقة لفتح وحدة تحكم VPS إذا أقفلك تغيير في الشبكة.
- تثبيت الحزم
curlوgpgوlsb-release.
📦 تثبيت العميل الرسمي
أضف مستودع Cloudflare ثم ثبّت الحزمة:
Bashapt update && apt install -y curl gpg lsb-release curl -fsSL https://pkg.cloudflareclient.com/pubkey.gpg | gpg --yes --dearmor --output /usr/share/keyrings/cloudflare-warp-archive-keyring.gpg echo "deb [signed-by=/usr/share/keyrings/cloudflare-warp-archive-keyring.gpg] https://pkg.cloudflareclient.com/ $(lsb_release -cs) main" > /etc/apt/sources.list.d/cloudflare-client.list apt update && apt install -y cloudflare-warp systemctl enable --now warp-svc
🛡️ وضع الوكيل: إبقاء SSH حيًّا
في وضع الوكيل لا يلمس WARP جدول التوجيه، بل يفتح منفذ SOCKS5 محليًا تستخدمه عند الحاجة. اضبط الوضع قبل الاتصال وليس بعده.
Bashwarp-cli --accept-tos registration new warp-cli mode proxy warp-cli proxy port 40000 warp-cli connect warp-cli status
يستمع الوكيل على 127.0.0.1:40000 فقط. لتمرير أمر عبره:
Bashcurl -x socks5h://127.0.0.1:40000 https://www.cloudflare.com/cdn-cgi/trace
المخطط socks5h مهم: فهو يجعل تحليل DNS يمر عبر الوكيل أيضًا. للإيقاف نفّذ warp-cli disconnect.
🔀 بديل: wgcf وWireGuard
إذا كنت تفضل واجهة WireGuard على مستوى النواة، فإن wgcf ينشئ حساب WARP ويولّد إعدادًا قياسيًا. نزّل إصدار wgcf المناسب لمعماريتك من صفحة إصدارات المشروع على GitHub، ثم:
Bashapt install -y wireguard-tools chmod +x wgcf_linux_amd64 && mv wgcf_linux_amd64 /usr/local/bin/wgcf cd /root && wgcf register && wgcf generate cp wgcf-profile.conf /etc/wireguard/wgcf.conf
لا تشغّله بعد: الملف المولَّد يمرر كل شيء عبر النفق وسيقطع SSH.
✂️ التوجيه الجزئي وIPv6 فقط
حرّر الملف /etc/wireguard/wgcf.conf. لتمرير حركة IPv6 فقط عبر WARP وترك IPv4 (وجلسة SSH) دون مساس، قيّد AllowedIPs واحذف سطر DNS وخفّض MTU:
INI1[Interface] 2MTU = 1280 3PostUp = ip rule add from VPS_IP lookup main 4PostDown = ip rule del from VPS_IP lookup main 5 6[Peer] 7AllowedIPs = ::/0 8Endpoint = engage.cloudflareclient.com:2408
أبقِ سطور المفاتيح وAddress التي أنشأها wgcf. يضمن زوج ip rule أن الردود الصادرة من VPS_IP تستخدم الجدول الرئيسي دائمًا، مما يحمي الاتصالات الواردة. إذا كنت تتصل عبر IPv4 فقط فيمكنك لاحقًا استبدال ::/0 بـ 0.0.0.0/0, ::/0 لتمرير كل شيء عبر النفق. فعّل الواجهة:
Bashsystemctl enable --now wg-quick@wgcf
✅ التحقق
تأكد من أن WARP يعمل على المسار الصحيح:
Bashcurl -s https://www.cloudflare.com/cdn-cgi/trace | grep warp curl -6 -s https://www.cloudflare.com/cdn-cgi/trace | grep -E 'ip=|warp=' wg show wgcf
ظهور warp=on في طلب IPv6 مع مصافحة حديثة في wg show يعني أن النفق يعمل. ويجب أن يظهر في طلب IPv4 العادي warp=off كما كان.
🛠️ استكشاف الأخطاء
فُقد وصول SSH بعد الاتصال مباشرة. كان WARP في وضع النفق الكامل. افتح وحدة تحكم VPS ونفّذ warp-cli disconnect (أو systemctl stop wg-quick@wgcf)، ثم انتقل إلى warp-cli mode proxy قبل إعادة الاتصال. وإذا كنت تصل إلى الخادم عبر IPv6 فلا تستخدم ::/0 في AllowedIPs.
توقف DNS عن التحليل. يعيد wg-quick كتابة المحلِّل عند وجود سطر DNS. احذف هذا السطر من الملف أو استخدم وكيل socks5h ليتم التحليل من جهة Cloudflare.
الصفحات الكبيرة تتعلق أو يتوقف TLS. هذه في الغالب مشكلة MTU. أبقِ MTU = 1280 في ملف WireGuard واختبر بالأمر ping -M do -s 1200 1.1.1.1.
🎉 يستطيع الـ VPS الآن استخدام Cloudflare WARP عند الطلب دون قطع جلسة SSH.