أدلة ذات صلة
تمرير خادم لينكس وأدوات سطر الأوامر عبر المسار
آخر تحديث
على لينكس طريقان، تختار بينهما حسب الحاجة. لتمرير الجهاز كله (سحب صور Docker، والخدمات التي تحتاج إلى الوصول إلى الخارج، والأجهزة التي تعمل دون مراقبة) استخدم OpenVPN: ملف تعريف واحد في /etc/openvpn/client/ يبدأ عند الإقلاع. ولتمرير بضعة أوامر فقط (git وpip وnpm وcurl) استخدم بروكسي الويب: ضع عنوان البروكسي في المتغير http_proxy ولا يتغير شيء آخر. ويمكن أيضًا على لينكس المكتبي الاستيراد عبر مدير الشبكة. يتناول هذا الدليل الطرق الثلاث، وملف بيانات الدخول، وأوامر التحقق.
الطريق الأول: تمرير الجهاز كله (OpenVPN)
- ثبّت التطبيق. على Debian/Ubuntu:
sudo apt install openvpnوعلى Fedora:sudo dnf install openvpnوعلى Arch:sudo pacman -S openvpn - سجّل الدخول إلى الموقع ونزّل ملف .ovpn لمنطقة ما من صفحة OpenVPN. ملف التعريف الخاص بلينكس لا يتضمن بيانات الدخول (فمديرو الشبكة يرفضون الملفات التي تتضمنها)، لذا أنشئ ملف بيانات دخول من سطرين: بريدك المسجّل في الموقع ثم كلمة المرور. ثم قيّد صلاحياته بحيث لا يقرؤه أحد غيرك:
chmod 600 <credentials-file> - انسخ ملف .ovpn إلى /etc/openvpn/client/<region>.conf وأضف داخله مسار ملف بيانات الدخول بعد auth-user-pass.
- فعّله وشغّله:
sudo systemctl enable --now openvpn-client@<region>وافحص الحالة:systemctl status openvpn-client@<region>وتحقّق من المخرج، ويجب أن يظهر المنطقة التي اخترتها:curl -s https://ipinfo.io/country - لمنطقة أخرى، نزّل ملف تعريف آخر وفعّل وحدة أخرى؛ وشغّل واحدة فقط في كل مرة.
الطريق الثاني: تمرير أدوات سطر الأوامر فقط (بروكسي الويب)
عنوان البروكسي من صفحة بروكسي الويب في هذا الموقع وبيانات دخولك توضع مباشرة في متغيرات البيئة (رمّز الأحرف الخاصة في كلمة المرور بترميز URL): export https_proxy=https://user:password@proxy-address export http_proxy=$https_proxy ومن حينها تمر curl وwget وgit وpip وnpm في تلك الجلسة عبر المسار، ولا يتأثر شيء آخر.
خدمة Docker لا تقرأ متغيرات الجلسة: ضع أسطر Environment= في الملف /etc/systemd/system/docker.service.d/proxy.conf وأعد تشغيل docker؛ ولـ apt اضبط Acquire::https::Proxy في /etc/apt/apt.conf.d/proxy.conf.
في هذا الطريق لا يوجد بطبيعته اتصال ينقطع؛ ولا يحتاج إلى صلاحيات root ولا يغيّر جداول التوجيه، فهو مناسب لخوادم الشركات ولتسريع السحب فقط؛ ويغطي البرامج التي تحترم متغيرات البروكسي.
الطريق الثالث: لينكس المكتبي عبر مدير الشبكة
- ثبّت network-manager-openvpn-gnome (نقرة واحدة في صفحة OpenVPN في هذا الموقع تفتح مركز البرمجيات).
- الإعدادات ← الشبكة ← VPN ← «+» ← الاستيراد من ملف (Import from file)، واختر ملف .ovpn، وأدخل بريدك في الموقع وكلمة المرور، واحفظ.
- شغّل الـ VPN وأطفئه من الشريط العلوي أو منطقة الإشعارات. وللاتصال عند الإقلاع، فعّل «الاتصال تلقائيًا بالـ VPN» (Automatically connect to VPN) في إعدادات الاتصال السلكي أو اللاسلكي.
التحقق وحل المشكلات
- المخرج: يجب أن يكون الحقل country في الناتج هو المنطقة التي اخترتها:
curl -s https://ipinfo.io - DNS: يجب أن تُظهر واجهة الـ VPN خادم DNS الذي يدفعه المسار:
resolvectl statusوإن حدث تسرّب، فأضف dhcp-option DNS إلى ملف التعريف أو استخدم سكربت update-systemd-resolved. - AUTH_FAILED: ملف بيانات دخول خاطئ أو حساب منتهٍ؛ وبعد تغيير كلمة المرور حدّث الملف.
- انتهاء مهلة مصافحة TLS: حركة UDP إلى الخادم لا تمر؛ غيّر المنطقة أو الشبكة، وعلى الخوادم السحابية اسمح بحركة UDP الصادرة في مجموعة الأمان (security group).
- خادم داخل الصين يحتاج إلى المرايا الصينية مباشرة: بعد الاتصال يخرج كل شيء عبر المسار، فوجّه apt وpip وnpm إلى مرايا محلية، أو استخدم الطريق الثاني لتمرير أوامر معيّنة فقط.
أمور ينبغي معرفتها
- جهاز لينكس يُحسب جهازًا واحدًا من عدد الأجهزة المتصلة المسموح به في باقتك (2 في شخصي، و4 في عائلي، و8 في مؤسسات)، ويتشاركه مع أجهزتك الأخرى؛ وبروكسي الويب في الطريق الثاني يُحسب أيضًا لكل اتصال.
- ملف التعريف وملف بيانات الدخول هما حسابك نفسه؛ فلا ترفعهما أبدًا إلى مستودع git ولا تضمّنهما في صورة.
- تغيير كلمة المرور يُبطل ملفات التعريف القديمة فورًا بحكم التصميم؛ فحدّث ملف بيانات الدخول.
- تشغيل المسار على خادم سحابي يخضع لشروط مزوّد السحابة؛ والخدمة تسجّل فقط مدة الاتصال وإجمالي حجم البيانات.
FAQ
لماذا لا يتضمن ملف تعريف لينكس بيانات الدخول؟
مديرو الشبكة يرفضون ملفات التعريف التي تتضمن بيانات الدخول فيفشل الاستيراد، لذا يتركها ملف لينكس لتدخلها بنفسك؛ ومع systemd توضع في ملف بيانات الدخول.
هل يمكن أن يمر Docker وحده عبر المسار؟
نعم: أعطِ خدمة Docker متغيرات بروكسي خاصة بها (الطريق الثاني)، أو شغّل حاوية فيها OpenVPN خاص بها (gluetun) بحيث لا تمر عبر المسار إلا حاويات معيّنة.
وماذا عن «خاصة» (Tailscale) على لينكس؟
السكربت الرسمي يثبّته بسطر واحد؛ ثم سجّل الدخول بهذا الأمر: tailscale up --login-server=<this site’s control server> (ضع مكان العبارة بين القوسين عنوان خادم التحكم في هذا الموقع). يناسب حين يجب أن يكون الجهاز متاحًا من الخارج أو أن يبقى متصلًا بعد ضبطه مرة؛ أما لتسريع السحب وحده فـ OpenVPN أو البروكسي أبسط.
هل OpenWrt على الراوتر بالطريقة نفسها؟
ثبّت luci-app-openvpn على OpenWrt وارفع ملف .ovpn، فتمر الشبكة المحلية كلها عبر المسار؛ أما الراوتر الذي يعمل بالبرنامج الثابت لهذا الموقع فلا يحتاج إلى شيء من ذلك، يكفي تسجيل الدخول بالحساب.