دليل النشر

OpenVPN على VPS: التثبيت والأمان واستكشاف الأخطاء

انشر على VPS Cloud ←

دليل عملي

OpenVPN على VPS: التثبيت والأمان واستكشاف الأخطاء

الأمان والمراقبة8 دقائق للقراءةعدد الخطوات: 5

يبقى OpenVPN مرجعاً عندما يتعيّن ربط الفرق أو المتعاقدين أو المواقع البعيدة بملفات مضبوطة. على خادم VPS من ServOrbit، تدير الخادم والشهادات وقواعد الوصول دون المرور عبر VPN موجّه للجمهور العام. يغطّي هذا الدليل التثبيت الكامل عبر المسار المجتمعي (حزمة openvpn وEasy-RSA)، وإعداد الخادم وملفات العميل، وإعدادات الأمان الأساسية، وحل الأخطاء الأكثر شيوعاً.

المحتويات· لماذا تستضيف OpenVPN Server على خادم VPS؟1/13
  1. 01لماذا تستضيف OpenVPN Server على خادم VPS؟
  2. 02ما يمكنك فعله بـ OpenVPN Server
  3. 03المتطلبات المسبقة: الخادم والشبكة
  4. 04تثبيت OpenVPN وEasy-RSA (المسار المجتمعي)
  5. 05إعداد server.conf
  6. 06النفق الكامل أو النفق المقسّم: اختيار الوضع المناسب
  7. 07إنشاء وتوزيع ملف عميل ‎.ovpn
  8. 08الأمان: fail2ban وufw وتعطيل IPv6
  9. 09الأداء: MTU واختيار التشفير
  10. 10استكشاف الأخطاء: الأخطاء الشائعة
  11. 11OpenVPN مقابل WireGuard: أيّهما تختار؟
  12. 12VPS من ServOrbit كخادم OpenVPN خاص
  13. 13الوثائق الرسمية

لماذا تستضيف OpenVPN Server على خادم VPS؟

تفرض حلول VPN التجارية المشتركة الوثوق بمزوّد خارجي يمكنه تسجيل بيانات اتصالك أو إعادة بيعها أو كشفها. باستضافة OpenVPN Server على خادم VPS الخاص بك، تكون المسؤول الوحيد: فأنت تختار مستوى التسجيل والمستخدمين المصرّح لهم وبروتوكولات التشفير (TLS 1.3، AES-256-GCM). إنه أيضاً الحل المثالي لربط الفرق الموزّعة أو تأمين الوصول إلى خدماتك الداخلية أو تجاوز قيود الشبكة في بيئة مؤسسية، كل ذلك بتكلفة مضبوطة.

ما يمكنك فعله بـ OpenVPN Server

  • تأمين اتصالات موظفيك العاملين عن بُعد عبر نفق مشفّر نحو شبكتك الداخلية
  • عرض خدماتك الداخلية (قواعد البيانات، الواجهة الخلفية، أدوات المراقبة) عبر VPN فقط، دون فتحها على الإنترنت
  • ربط عدة مواقع أو مكاتب في شبكة خاصة افتراضية من موقع إلى موقع (site-to-site)
  • حماية اتصالاتك على شبكات Wi-Fi العامة أو غير الموثوقة
  • إدارة حقوق الوصول لكل مستخدم بدقّة بفضل نظام شهادات OpenVPN
  • تدقيق وتسجيل الاتصالات الواردة إلى بنيتك التحتية من نقطة مركزية تحت سيطرتك

المتطلبات المسبقة: الخادم والشبكة

قبل البدء، تحقق من هذه النقاط على خادم VPS الخاص بك.

الموارد الدنيا: 1 vCPU و512 ميغابايت من RAM تكفي للاستخدام الشخصي أو حتى 10 مستخدمين متزامنين. فوق 50 اتصالاً نشطاً، خطّط لـ 2 vCPU وغيغابايت من RAM لامتصاص التشفير دون تدهور النطاق الترددي.

نظام التشغيل: Ubuntu 22.04 LTS أو Debian 12 (كلاهما مدعومان من مستودع OpenVPN الرسمي). AlmaLinux 9 وRocky Linux 9 يعملان أيضاً مع حزم EPEL.

منفذ الشبكة: UDP 1194 (الافتراضي) أو TCP 443 لتجاوز جدران الحماية المقيّدة. على خادم VPS من ServOrbit، افتح هذا المنفذ في قواعد الأمان قبل بدء التثبيت. منفذ واحد يكفي.

وصول root: ضروري لإنشاء واجهات الشبكة الافتراضية (tun0) وتعديل قواعد iptables وتفعيل توجيه IP.

توجيه IP: فعّله قبل المتابعة:

echo 'net.ipv4.ip_forward=1' >> /etc/sysctl.conf
sysctl -p

تثبيت OpenVPN وEasy-RSA (المسار المجتمعي)

  1. تحديث النظام وتثبيت الحزم

    apt update && apt upgrade -y
    apt install -y openvpn easy-rsa

    هذا النهج لا يحدّ من عدد العملاء ولا يتطلب أي ترخيص تجاري. يدير Easy-RSA هيئة التصديق (CA) المحلية الخاصة بك.

  2. تهيئة هيئة التصديق مع Easy-RSA

    make-cadir /etc/openvpn/easy-rsa
    cd /etc/openvpn/easy-rsa
    ./easyrsa init-pki
    ./easyrsa build-ca nopass

    build-ca nopass ينشئ CA بدون عبارة مرور — مناسب للإنتاج غير التفاعلي. للاستخدام الأكثر حساسية، أزل nopass وخزّن عبارة المرور خارج الخادم.

  3. إنشاء شهادة الخادم ومعاملات Diffie-Hellman

    ./easyrsa gen-req server nopass
    ./easyrsa sign-req server server
    openssl dhparam -out /etc/openvpn/dh.pem 2048
    openvpn --genkey secret /etc/openvpn/ta.key

    مفتاح ta.key (TLS Auth) يحمي من هجمات DoS على منفذ UDP قبل بدء مفاوضة TLS.

  4. إنشاء شهادة عميل

    ./easyrsa gen-req client1 nopass
    ./easyrsa sign-req client client1

    كرّر هذه العملية لكل مستخدم. الثنائي client1.crt + client1.key + ca.crt + ta.key يُكوّن ملف ‎.ovpn الذي يُوزَّع.

  5. نسخ الملفات الضرورية إلى /etc/openvpn

    cp pki/ca.crt pki/issued/server.crt pki/private/server.key /etc/openvpn/

    احتفظ بملفات pki/private/ بصلاحيات 600: يجب ألا تكون قابلة للقراءة إلا بواسطة root.

إعداد server.conf

أنشئ /etc/openvpn/server.conf بالمحتوى التالي.

port 1194
proto udp
dev tun

ca   /etc/openvpn/ca.crt
cert /etc/openvpn/server.crt
key  /etc/openvpn/server.key
dh   /etc/openvpn/dh.pem

tls-auth /etc/openvpn/ta.key 0
key-direction 0

server 10.8.0.0 255.255.255.0
ifconfig-pool-persist /var/log/openvpn/ipp.txt

push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 9.9.9.9"
push "dhcp-option DNS 149.112.112.112"

keepalive 10 120
cipher AES-256-GCM
tls-version-min 1.2

user nobody
group nogroup
persist-key
persist-tun

status  /var/log/openvpn/openvpn-status.log
log-append /var/log/openvpn/openvpn.log
verb 3

فعّل الخدمة وابدأها:

mkdir -p /var/log/openvpn
systemctl enable --now openvpn@server
systemctl status openvpn@server

النفق الكامل أو النفق المقسّم: اختيار الوضع المناسب

النفق الكامل (redirect-gateway def1): يمر كل حركة مرور العميل عبر VPN. مفيد لحماية المستخدمين على الشبكات غير الموثوقة أو لتوحيد مخارج الإنترنت. العيب: يصبح نطاق VPS الترددي هو عنق الزجاجة لجميع التدفقات.

النفق المقسّم: يمر فقط حركة المرور المتجهة إلى شبكتك الخاصة (مثلاً 10.8.0.0/24) عبر VPN. يخرج الباقي مباشرة من جهاز العميل. لتفعيله، استبدل سطر redirect-gateway بمسارات محددة في ‎server.conf:

push "route 192.168.1.0 255.255.255.0"

هذا يقلل الحمل على الخادم ويحسن الأداء العام، لكن الاتصالات خارج VPN لن تكون محمية.

إنشاء وتوزيع ملف عميل ‎.ovpn

ملف ‎.ovpn المستقل يضمّ كل الشهادات. يُنشأ هكذا:

cat > /tmp/client1.ovpn << EOF
client
dev tun
proto udp
remote <IP-خادمك> 1194
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
cipher AES-256-GCM
verb 3
key-direction 1
<ca>
$(cat /etc/openvpn/easy-rsa/pki/ca.crt)
</ca>
<cert>
$(cat /etc/openvpn/easy-rsa/pki/issued/client1.crt)
</cert>
<key>
$(cat /etc/openvpn/easy-rsa/pki/private/client1.key)
</key>
<tls-auth>
$(cat /etc/openvpn/ta.key)
</tls-auth>
EOF

انقل هذا الملف إلى العميل عبر قناة آمنة (SCP أو رابط للاستخدام الواحد). يكفي بعد ذلك استيراده في OpenVPN Connect (Windows، macOS، Android، iOS) أو NetworkManager (Linux) لإنشاء الاتصال.

الأمان: fail2ban وufw وتعطيل IPv6

جدار الحماية ufw — افتح فقط ما هو ضروري:

ufw allow ssh
ufw allow 1194/udp
ufw enable

إن كنت تستخدم TCP 443 بدلاً من UDP 1194، عدّل القاعدة وفقاً لذلك.

fail2ban لمنفذ OpenVPN:

أنشئ /etc/fail2ban/jail.d/openvpn.conf:

[openvpn]
enabled  = true
port     = 1194
protocol = udp
filter   = openvpn
logpath  = /var/log/openvpn/openvpn.log
maxretry = 5
bantime  = 3600

ثم أنشئ الفلتر /etc/fail2ban/filter.d/openvpn.conf:

[Definition]
failregex = .*TLS Error: TLS key negotiation failed.*<HOST>.*
            .*VERIFY ERROR:.*<HOST>.*

فعّل:

systemctl restart fail2ban
fail2ban-client status openvpn

تعطيل IPv6 إن لم يكن ضرورياً: واجهة IPv6 غير محمية يمكنها تجاوز النفق. إن لم تحتج بنيتك التحتية إلى IPv6:

echo 'net.ipv6.conf.all.disable_ipv6=1' >> /etc/sysctl.conf
echo 'net.ipv6.conf.default.disable_ipv6=1' >> /etc/sysctl.conf
sysctl -p

الأداء: MTU واختيار التشفير

MTU والتجزئة: يضيف تشفير OpenVPN رؤوسَ بيانات. افتراضياً، MTU النفق (tun-mtu) هو 1500، لكن التغليف UDP قد يسبب تجزئة على بعض الشبكات. لتجنب ذلك، أضف إلى ‎server.conf:

tun-mtu 1400
mssfix 1360

إن لاحظت بطء نقل أو انقطاعات على اتصالات بـ MTU منخفض (شبكات الجوال، بعض VPN المؤسسية)، قلّل tun-mtu إلى 1300.

اختيار التشفير: يُوصى بـ AES-256-GCM لأنوية Linux الحديثة التي تستفيد من تعليمات AES-NI المادية (تحقق بـ grep -m1 'aes' /proc/cpuinfo). للخوادم المحدودة جداً بالمعالج، AES-128-GCM يخفّض تكلفة التشفير بمعامل 2 دون تقليص أمني معتبر.

UDP أم TCP: UDP 1194 هو الوضع الافتراضي والأكثر أداءً. TCP 443 مفيد لتجاوز جدران الحماية المؤسسية المقيّدة، لكنه يُدخل مشكلة "TCP over TCP" (إعادات الإرسال المكررة) التي تُدهور الأداء عند فقدان الحزم.

استكشاف الأخطاء: الأخطاء الشائعة

TLS Error: TLS key negotiation failed

يظهر هذا الخطأ حين لا يتمكن العميل من الوصول إلى الخادم على المنفذ المعيّن. تحقق من أن المنفذ مفتوح (ss -ulnp | grep 1194)، وأن قاعدة جدار الحماية نشطة، وأن مفتاح ta.key متطابق على الخادم (key-direction 0) وعلى العميل (key-direction 1).

المسارات غير مُطبَّقة بعد الاتصال

إن لم يمر حركة المرور عبر النفق رغم إنشاء الاتصال، تحقق من أن توجيه IP نشط (cat /proc/sys/net/ipv4/ip_forward يجب أن يُعيد 1) وأن قاعدة NAT موجودة:

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

استبدل eth0 بالواجهة الرئيسية لـ VPS (ip route get 8.8.8.8 للتعرف عليها).

انقطاع الاتصالات بشكل منتظم

إن انقطع النفق كل دقيقتين، تحقق من keepalive في ‎server.conf (keepalive 10 120: ping كل 10 ثوان، مهلة 120 ثانية). على جانب العميل، أضف ping-restart 60 إلى ملف ‎.ovpn لإجبار إعادة اتصال نظيفة قبل مهلة الخادم.

VERIFY ERROR: depth=0, error=certificate is not yet valid

ساعة الخادم أو العميل غير متزامنة. زامن NTP: timedatectl set-ntp true.

OpenVPN مقابل WireGuard: أيّهما تختار؟

مرّر الجدول أفقيًا

المعيارOpenVPNWireGuard
البروتوكولTLS/SSL (OpenSSL)ChaCha20-Poly1305 (تشفير حديث)
الأداءجيد، أبطأ قليلاًمرتفع جداً، وقت استجابة محسّن وفق المعيار المقيس
الإعدادملفات ‎.conf مفصّلة، منحنى تعلّمأبسط، أزواج مفاتيح عامة/خاصة
التوافقكل أنظمة التشغيل، جدران الحماية المقيّدة (TCP 443)ممتاز على Linux، أقل شمولاً
إلغاء الشهادةCRL مدمجة، إدارة دقيقة لكل مستخدمحذف المفتاح العام فقط
حالة الاستخدام المثاليةالفرق، site-to-site، البيئات المؤسسيةالوصول الشخصي، التنقل، الأداء

VPS من ServOrbit كخادم OpenVPN خاص

خادم VPS من ServOrbit مع وصول root وIPv4 مخصصة وخيار نظام التشغيل هو المنصة المثالية لخادم OpenVPN: تحتفظ بالتحكم الكامل في الشهادات والسجلات وقواعد الوصول. قالب OpenVPN Server متاح في Marketplace للبدء السريع، أو اتبع هذا الدليل للتثبيت اليدوي الكامل عبر المسار المجتمعي. للبدء: /vps-cloud.

الوثائق الرسمية

للتهيئة المتقدّمة والخيارات الخاصة بالأداة وتغييرات الإصدار، راجع الوثائق الرسمية لـ OpenVPN Community. يغطّي هذا الدليل النشر على خادم VPS من ServOrbit؛ وتبقى وثائق الناشر المرجع للضبط الدقيق.

انشر OpenVPN Server في دقائق على خادم VPS Cloud من ServOrbit

اطلب خادم VPS Cloud الخاص بك، وثبّت OpenVPN Server بنقرة واحدة عبر Marketplace، واستعد التحكّم الكامل في أمان اتصالاتك ابتداءً من اليوم.

بحاجة إلى مساعدة؟

تصفّح مركز المساعدة والأسئلة الشائعة، أو تواصل مع فريقنا — معاودة اتصال أو WhatsApp أو بريد إلكتروني. الدعم بـالعربية والفرنسية والإنجليزية.

راسلنا على WhatsAppيُفتح في علامة تبويب جديدة