كيفية تثبيت خادم وبِن في بي إن على دبيان 11/12

تثبيت خادم وبِن في بي إن على دبيان 11 / 12

أوبن في بي إن (OpenVPN) هو حل في بي إن (VPN) قوي ومفتوح المصدر يتيح اتصالات آمنة إلى الشبكات البعيدة عبر الإنترنت. في هذا الدليل، سنشرح لك عملية إعداد أوبن في بي إن على خادم دبيان.

الطريقة 1:

التثبيت باستخدام نص برمجي

ابدأ بالحصول على نص التثبيت وجعله قابلاً للتنفيذ:

$ curl -O https://raw.githubusercontent.com/angristan/openvpn-install/master/openvpn-install.sh
$ chmod +x openvpn-install.sh

ثم قم بتشغيل النص البرمجي (تأكد من أن لديك صلاحيات الجذر وأن وحدة TUN مفعّلة):

$ ./openvpn-install.sh

عند أول تشغيل، سيُطلب منك الإجابة على بعض الأسئلة لتهيئة خادم VPN الخاص بك. بمجرد تثبيت OpenVPN، يمكنك إعادة تشغيل النص البرمجي للقيام بما يلي:

$ ./openvpn-install.sh
مرحبًا بك في تثبيت OpenVPN!
مستودع git متاح على: https://github.com/angristan/openvpn-install
يبدو أن OpenVPN مثبّت بالفعل.  
ماذا تريد أن تفعل؟
  1) إضافة مستخدم جديد
  2) إلغاء مستخدم موجود
  3) إزالة OpenVPN
  4) الخروج
حدد خيارًا [1-4]:

وهذا يتيح لك إضافة مستخدمين جدد أو إلغاء مستخدمين موجودين.

الطريقة 2:

الخطوة 1: تحديث وترقية دبيان

قبل تثبيت أي برنامج، من الضروري تحديث وترقية نظام دبيان الخاص بك. نفّذ الأوامر التالية:

$ sudo apt update
$ sudo apt upgrade

الخطوة 2: تثبيت OpenVPN

قم بتثبيت OpenVPN على خادم دبيان الخاص بك باستخدام الأمر التالي:

$ sudo apt install openvpn easy-rsa 

الخطوة 3: إنشاء الشهادات والمفاتيح

يعتمد OpenVPN على الشهادات والمفاتيح للمصادقة بين العميل والخادم. لإنشاء هذه الملفات، استخدم نص easy-rsa المضمّن:

$ make-cadir ~/openvpn-ca && cd ~/openvpn-ca

قم بتعديل ملف vars لتكوين متغيرات سلطة الشهادة:

set_var EASYRSA_REQ_COUNTRY    "SA"
set_var EASYRSA_REQ_PROVINCE   "الرياض"
set_var EASYRSA_REQ_CITY       "الرياض"
set_var EASYRSA_REQ_ORG        "مؤسستي"  
set_var EASYRSA_REQ_EMAIL      "[email protected]"
set_var EASYRSA_REQ_OU         "وحدتي التنظيمية" 

قم بإنشاء الشهادات والمفاتيح المطلوبة:

$ ./easyrsa init-pki
$ ./easyrsa build-ca  
$ ./easyrsa gen-req server nopass
$ ./easyrsa sign-req server server
$ ./easyrsa gen-dh
$ openvpn --genkey --secret pki/ta.key

سيتم تخزين هذه الشهادات والمفاتيح في الدليل /root/openvpn-ca/pki.

الخطوة 4: تهيئة OpenVPN

بعد إنشاء الشهادات والمفاتيح، تابع تهيئة OpenVPN. أنشئ ملف تكوين جديد باستخدام الأمر التالي:

$ zcat /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz | sudo tee /etc/openvpn/server.conf > /dev/null

انسخ الملفات الضرورية إلى دليل OpenVPN:

$ cp /root/openvpn-ca/pki/{ca.crt,dh.pem,ta.key} /etc/openvpn  
$ cp /root/openvpn-ca/pki/issued/server.crt /etc/openvpn
$ cp /root/openvpn-ca/pki/private/server.key /etc/openvpn

عدّل /etc/openvpn/server.conf ليتطابق مع ما يلي:

ca ca.crt
cert server.crt
key server.key  #احتفظ بهذا الملف آمنًا
dh dh.pem  
;tls-auth ta.key 0
tls-crypt ta.key

احفظ الملف وأغلقه.

الخطوة 5: تمكين تمرير IP

عدّل تهيئة sysctl:

$ sudo nano /etc/sysctl.conf

ألغِ تعليق السطر التالي:

net.ipv4.ip_forward=1 

طبّق التغييرات:

$ sudo sysctl -p

الخطوة 6: تشغيل OpenVPN وتفعيله

شغّل خدمة OpenVPN وفعّلها:

$ sudo systemctl start openvpn@server
$ sudo systemctl enable openvpn@server

يحدد @server ملف التكوين الذي أنشأته سابقًا.

الخطوة 7: تهيئة جدار الحماية

اسمح بمرور حركة OpenVPN عبر جدار الحماية من خلال إنشاء قاعدة جديدة:

$ sudo ufw allow OpenVPN

الخطوة 8: الاتصال بخادم OpenVPN

مع تشغيل خادم OpenVPN، يمكنك الاتصال به من جهاز كمبيوتر عميل. قم بتثبيت برنامج عميل OpenVPN وقم بتنزيل ملف تهيئة العميل من الخادم:

$ ./easyrsa gen-req client1 nopass
$ ./easyrsa sign-req client client1
$ cp pki/private/client1.key /etc/openvpn/client/
$ cp pki/issued/client1.crt /etc/openvpn/client/  
$ cp pki/{ca.crt,ta.key} /etc/openvpn/client/

أنشئ ملف تكوين عميل في الدليل /root/openvpn-ca:

$ cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf /root/openvpn-ca/

عدّل الملف باستخدام nano وقم بتهيئة المتغيرات:

remote my-server-1 1194 # my-server-1 هو عنوان IP العام للخادم
user nobody 
group nogroup
;ca ca.crt
;cert client.crt
;key client.key
;tls-auth ta.key 1
key-direction 1

أنشئ نص برمجي لدمج تهيئة الأساس مع ملفات الشهادة والمفتاح والتشفير الضرورية:

$ nano config_gen.sh

ضَمِّن المحتوى التالي:

#!/bin/bash
# الوسيط الأول: معرف العميل 
KEY_DIR=/etc/openvpn/client
OUTPUT_DIR=/root
BASE_CONFIG=/root/openvpn-ca/client.conf
cat ${BASE_CONFIG} \
    <(echo -e '<ca>') \
    ${KEY_DIR}/ca.crt \
    <(echo -e '</ca>\n<cert>') \
    ${KEY_DIR}/${1}.crt \
    <(echo -e '</cert>\n<key>') \
    ${KEY_DIR}/${1}.key \ 
    <(echo -e '</key>\n<tls-crypt>') \
    ${KEY_DIR}/ta.key \
    <(echo -e '</tls-crypt>') \
    > ${OUTPUT_DIR}/${1}.ovpn

جعل النص البرمجي قابلاً للتنفيذ:

$ chmod 700 /root/openvpn-ca/config_gen.sh
$ ./config_gen.sh client1

ستنشئ هذه الأوامر ملف client1.ovpn في الدليل /root/. انسخ هذا الملف إلى جهاز الكمبيوتر الخاص بك واستخدمه للاتصال بخادم OpenVPN.

الخلاصة

في هذا الدليل، أوضحنا كيفية تثبيت وتهيئة OpenVPN على خادم دبيان. مع OpenVPN، يمكنك الوصول بأمان إلى الشبكات البعيدة ومواردها من أي مكان في العالم.

LEAVE A COMMENT