ديف أوبس

تكوين وتحسين خادم OpenVPN على Ubuntu

إعداد خادم OpenVPN على نظام Ubuntu هو خطوة مهمة لتحقيق الأمان والخصوصية في بنية شبكتك. سأقدم لك دليلاً شاملاً حول كيفية تنصيب وتكوين خادم OpenVPN على نظام Ubuntu. يُفضل أن تقوم بهذه الخطوات باهتمام وفهم لضمان تحقيق أفضل أداء وأمان.

أولاً وقبل البدء، تأكد من تحديث نظام Ubuntu إلى أحدث الإصدارات لضمان استفادتك من التحديثات الأمان والتحسينات الأخرى. يمكنك تحديث النظام باستخدام الأمر:

bash
sudo apt update sudo apt upgrade

بعد ذلك، قم بتثبيت OpenVPN و EasyRSA (أداة لإدارة الشهادات) عبر الأمر:

bash
sudo apt install openvpn easy-rsa

بمجرد تثبيتهما، قم بنسخ ملفات الـ EasyRSA إلى مجلد العمل:

bash
cp -r /usr/share/easy-rsa/ /etc/openvpn cd /etc/openvpn/easy-rsa

قم بتحديث المتغيرات في ملف vars:

bash
nano vars

قم بتحديد القيم المناسبة لـ KEY_COUNTRY، KEY_PROVINCE، KEY_CITY، KEY_ORG، و KEY_EMAIL. بمجرد الانتهاء، احفظ التغييرات وأغلق المحرر.

ثم، قم بتحميل المتغيرات المحددة في ملف vars:

bash
source vars

ثم، قم بتنفيذ الأمر التالي لتهيئة بيئة EasyRSA:

bash
./clean-all ./build-ca

استجب على الأسئلة المطروحة، مع التأكد من ترك بعض المجالات فارغة إذا لم تكن متأكدًا من القيم.

بعد ذلك، قم بتوليد مفتاح التوقيع الخاص بالخادم والشهادة باستخدام الأمر:

bash
./build-key-server server

بعد الانتهاء من هذه الخطوة، قم بتوليد مفتاح Diffie-Hellman بواسطة:

bash
./build-dh

قم بإعداد ملف الخادم (server.conf) باستخدام المحرر النصي المفضل لديك. يمكنك استخدام nano أو vim:

bash
nano /etc/openvpn/server.conf

أضف المحتوى التالي:

bash
port 1194 proto udp dev tun ca /etc/openvpn/easy-rsa/pki/ca.crt cert /etc/openvpn/easy-rsa/pki/issued/server.crt key /etc/openvpn/easy-rsa/pki/private/server.key dh /etc/openvpn/easy-rsa/pki/dh.pem server 10.8.0.0 255.255.255.0 ifconfig-pool-persist ipp.txt push "redirect-gateway def1 bypass-dhcp" push "dhcp-option DNS 8.8.8.8" push "dhcp-option DNS 8.8.4.4" keepalive 10 120 cipher AES-256-CBC user nobody group nogroup persist-key persist-tun status openvpn-status.log verb 3

بعد حفظ التغييرات، قم بتشغيل خادم OpenVPN:

bash
systemctl start openvpn@server systemctl enable openvpn@server

تأكد من إعادة تشغيل النظام في حالة إعدادات الخادم تتطلب ذلك:

bash
reboot

وبهذا، يكون خادم OpenVPN الخاص بك جاهزًا للاستخدام. يمكنك الآن إعداد العملاء وتوزيع المفاتيح والشهادات الخاصة بهم. يمكنك العثور على المفاتيح والشهادات في مسار /etc/openvpn/easy-rsa/pki/issued/ و /etc/openvpn/easy-rsa/pki/private/ على التوالي.

يمكنك أيضاً تكوين جدار الحماية للسماح بحركة المرور عبر البورت المحدد (في هذا المثال، البورت 1194) باستخدام أمر iptables أو ufw.

هذا الدليل يوفر أساسًا قويًا لتكوين خادم OpenVPN على نظام Ubuntu. يُفضل دائمًا فهم التكوينات وضبطها وفقًا لاحتياجات النظام والأمان.

المزيد من المعلومات

بالطبع، سنواصل القدم إلى المزيد من المعلومات حول تكوين وتحسين خادم OpenVPN على نظام Ubuntu.

1. إضافة تكوينات إضافية لتعزيز الأمان:

يمكنك تحسين مستوى الأمان عن طريق إضافة بعض التكوينات إلى ملف الخادم. قم بتحرير ملف الخادم:

bash
nano /etc/openvpn/server.conf

وأضف الخيارات التالية:

bash
# تكوين الأمان cipher AES-256-GCM auth SHA256 tls-version-min 1.2 tls-cipher TLS-DHE-RSA-WITH-AES-256-GCM-SHA384:TLS-DHE-RSA-WITH-AES-128-GCM-SHA256 # حماية من هجمات التصيد remote-cert-tls client

2. تمكين إعادة توجيه الإنترنت:

لتمكين عملاء VPN من الوصول إلى الإنترنت عبر الخادم، قم بفتح توجيه الإنترنت. قم بتفعيل هذا عبر إلغاء تعليق السطر في ملف الخادم:

bash
push "redirect-gateway def1 bypass-dhcp" push "dhcp-option DNS 8.8.8.8" push "dhcp-option DNS 8.8.4.4"

3. تكوين تسجيلات النظام:

لتتبع أحداث الخادم، قم بتكوين تسجيلات النظام. أضف الخطوط التالية إلى ملف الخادم:

bash
status /var/log/openvpn/openvpn-status.log log /var/log/openvpn/openvpn.log

4. إعداد جدار الحماية (Firewall):

تأكد من فتح البورت الذي تستخدمه OpenVPN (في هذا المثال، البورت 1194). يمكنك استخدام UFW (Uncomplicated Firewall) لذلك:

bash
ufw allow 1194/udp ufw enable

5. إعداد إعادة التوجيه (Port Forwarding) على جهاز التوجيه:

إذا كنت تستخدم جهاز توجيه، تأكد من إعداد إعادة التوجيه للسماح بحركة المرور عبر البورت المحدد (1194 في هذا المثال) إلى خادم OpenVPN.

6. إعداد عملاء OpenVPN:

يمكنك نسخ ملفات المفاتيح والشهادات إلى أجهزة العملاء. استخدم وسيلة آمنة لنقل هذه الملفات، مثل SCP.

bash
scp /etc/openvpn/easy-rsa/pki/issued/client.crt user@client_ip:/path/to/client/config/ scp /etc/openvpn/easy-rsa/pki/private/client.key user@client_ip:/path/to/client/config/ scp /etc/openvpn/easy-rsa/pki/ca.crt user@client_ip:/path/to/client/config/

7. تحديث عملاء OpenVPN:

تأكد من تحديث عملاء OpenVPN لاستخدام إعدادات الأمان والتكوين الجديدة.

8. تكوين إعدادات الشبكة على الخادم:

إذا كان خادم OpenVPN هو أيضًا خادم DHCP، تأكد من تكوين إعدادات الشبكة ليتم توجيه حركة المرور عبر خادم OpenVPN.

9. تحسين الأداء:

لتحسين أداء خادم OpenVPN، يمكنك استخدام بروتوكول UDP بدلاً من TCP للاتصالات. كما يمكنك تحديث الموارد المتاحة للخادم وضبط إعدادات OpenVPN ونظام التشغيل وفقًا لاحتياجات الشبكة الخاصة بك.

باستكمال هذه الخطوات، يمكنك إقامة خادم OpenVPN قوي وآمن على نظام Ubuntu. تأكد من فحص وثائق OpenVPN والقيام بالتعديلات اللازمة وفقًا لمتطلباتك الخاصة.

الكلمات المفتاحية

فيما يلي الكلمات الرئيسية في المقال وشرح مختصر لكل منها:

  1. OpenVPN:

    • تعتبر OpenVPN أحد أنظمة الشبكات الخاصة الافتراضية (VPN) المفتوحة المصدر. يستخدم لإنشاء اتصالات آمنة عبر الإنترنت وتوفير حماية للبيانات.
  2. Ubuntu:

    • نظام تشغيل مفتوح المصدر يعتمد على نواة Linux. يستخدم بشكل واسع في الخوادم وأجهزة الكمبيوتر الشخصية.
  3. EasyRSA:

    • أداة لإدارة الشهادات الأمان والمفاتيح في بنية البناء لشبكة VPN. تسهل إعداد التشفير والتوقيع الرقمي.
  4. Diffie-Hellman:

    • بروتوكول لتبادل المفاتيح يستخدم في تأمين اتصالات الشبكات. يساعد في تحقيق التشفير وتأمين المفاتيح.
  5. UFW (Uncomplicated Firewall):

    • أداة إدارة جدار الحماية في نظام Ubuntu. توفر واجهة سهلة لتكوين قواعد الحماية للحد من الوصول غير المصرح به.
  6. SCP (Secure Copy Protocol):

    • بروتوكول نقل آمن يستخدم لنقل الملفات بين أجهزة الكمبيوتر عبر شبكة آمنة. يستخدم لنقل ملفات المفاتيح والشهادات بشكل آمن.
  7. TLS (Transport Layer Security):

    • بروتوكول أمان يستخدم لتأمين اتصالات الشبكة. يوفر تشفيرًا وتحققًا من الهوية لحماية البيانات.
  8. AES (Advanced Encryption Standard):

    • معيار تشفير متقدم يستخدم لتأمين البيانات. يعتبر من بين أقوى خوارزميات التشفير.
  9. DHCP (Dynamic Host Configuration Protocol):

    • بروتوكول يسمح لأجهزة الكمبيوتر بالحصول على تكوين IP تلقائيًا عند الاتصال بالشبكة.
  10. VPN (Virtual Private Network):

    • شبكة افتراضية توفر اتصالًا آمنًا عبر شبكة عامة، مما يسمح بنقل البيانات بشكل آمن وتشفيرها.
  11. Iptables:

    • أداة في نظام Linux تسمح بتكوين جدار الحماية (Firewall) للتحكم في حركة المرور عبر الشبكة.
  12. Redirect Gateway:

    • تكوين في OpenVPN يتيح للعملاء استخدام خادم VPN كبوابة لتوجيه حركة المرور إلى الإنترنت.
  13. DHCP Option:

    • تكوين في DHCP يسمح بتحديد إعدادات معينة مثل عنوان DNS أثناء توزيع تكوين الشبكة تلقائيًا.
  14. TLS-Cipher:

    • تكوين في OpenVPN يحدد تشفير المفاوضة بين العميل والخادم باستخدام بروتوكول TLS.
  15. Status Log:

    • ملف يسجل حالة الخادم والاتصالات في OpenVPN.

هذه الكلمات الرئيسية تغطي مفاهيم أساسية في إعداد خادم OpenVPN على نظام Ubuntu وتحسين أمان وأدائه.

زر الذهاب إلى الأعلى