كيفية تثبيت خادم أوبن في بي إن على أوبونتو

 تثبيت خادم أوبن في بي إن على أوبونتو

OpenVPN هو برنامج VPN مجاني مفتوح المصدر (شبكة افتراضية خاصة) يتيح لك الاتصال بشكل آمن بشبكة بعيدة عبر الإنترنت. في هذه المقالة، سنرشدك خلال عملية تثبيت OpenVPN على خادم Ubuntu 18.04/20.04/22.04.

الطريقة 1:

تثبيت OpenVPN باستخدام سكربت.

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

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

ثم قم بتشغيله:

$ ./openvpn-install.sh

تحتاج إلى تشغيل النص كجذر وتمكين وحدة TUN.

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

عندما يتم تثبيت OpenVPN، يمكنك تشغيل النص مرة أخرى، وستحصل على الخيار التالي:

root@ubuntu:~# ./openvpn-install.sh
Welcome to OpenVPN-install!
The git repository is available at: https://github.com/angristan/openvpn-install
It looks like OpenVPN is already installed.
What do you want to do?
   1) Add a new user
   2) Revoke existing user
   3) Remove OpenVPN
   4) Exit
Select an option [1-4]:

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


الطريقة 2:

الخطوة 1: تحديث وتحديث Ubuntu

قبل تثبيت أي برنامج جديد، يوصى دائمًا بتحديث وتحديث نظام Ubuntu الخاص بك. يمكنك القيام بذلك من خلال تشغيل الأوامر التالية:

$ sudo apt update 
$ sudo apt upgrade

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

يمكنك تثبيت OpenVPN على Ubuntu عن طريق تشغيل الأمر التالي:

$ sudo apt install openvpn easy-rsa

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

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

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

قم بتحرير ملف vars لإنشاء متغيرات هيئة الشهادات (CA):

$ nano ./vars

تحرير المتغيرات حسب الحاجة، على سبيل المثال:

set_var EASYRSA_REQ_COUNTRY    "US"
set_var EASYRSA_REQ_PROVINCE   "California"
set_var EASYRSA_REQ_CITY       "San Francisco"
set_var EASYRSA_REQ_ORG        "Copyleft Certificate Co"
set_var EASYRSA_REQ_EMAIL      "[email protected]"
set_var EASYRSA_REQ_OU         "My Organizational Unit"
$ ./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. للقيام بذلك، قم بإنشاء ملف تكوين جديد مع الأمر التالي:

$ sudo cp pki/dh.pem pki/ca.crt pki/issued/server.crt pki/private/server.key /etc/openvpn/
$ sudo cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf /etc/openvpn/server.conf

حرر المحتوى التالي في ملف التكوين /etc/openvpn/server.conf:

ca ca.crt
cert server.crt
key server.key  # This file should be kept secret
dh dh.pem
;tls-auth ta.key 0
tls-crypt ta.key
push "redirect-gateway def1 bypass-dhcp"

حفظ وإغلاق الملف.

تمكين إعادة توجيه IP

$ sudo nano /etc/sysctl.conf
# Uncomment the following line:
net.ipv4.ip_forward=1

ثم طبق التغييرات:

$ sudo sysctl -p

الخطوة 5: بدء وتمكين OpenVPN

يمكنك بدء خدمة OpenVPN وتمكينها بالأوامر التالية:

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

يحدد الجزء @server اسم ملف التكوين الذي قمت بإنشائه سابقًا.

الخطوة 6: ضبط جدار الحماية

تحتاج إلى السماح بحركة مرور OpenVPN عبر جدار الحماية. يمكنك القيام بذلك عن طريق إنشاء قاعدة جديدة بالأمر التالي:

$ sudo ufw allow OpenVPN # تجاهل إذا كنت لا تستخدم جدار الحماية

إضافة توجيه iptables التوجيه

$ ifconfig
.
.
.
venet0: flags=211<UP,BROADCAST,POINTOPOINT,RUNNING,NOARP>  mtu 1500
        inet 127.0.0.1  netmask 255.255.255.255  broadcast 0.0.0.0  destination 127.0.0.1
        unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  txqueuelen 0  (UNSPEC)
        RX packets 4825  bytes 467045 (467.0 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 3331  bytes 322185 (322.1 KB)
        TX errors 0  dropped 1167 overruns 0  carrier 0  collisions 0
venet0:0: flags=211<UP,BROADCAST,POINTOPOINT,RUNNING,NOARP>  mtu 1500
        inet 7.249.98.8  netmask 255.255.255.0  broadcast 7.249.98.255  destination 7.249.98.8
        unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  txqueuelen 0  (UNSPEC)
.
.

شبكتنا الرئيسية هي venet0 قد يكون لديك eth0 أو أي شيء آخر

$ sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o venet0 -j MASQUERADE

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

الآن بعد أن بدأ تشغيل خادم OpenVPN، يمكنك الاتصال به من كمبيوتر العميل. للقيام بذلك، تحتاج إلى تثبيت برنامج عميل OpenVPN على جهاز الكمبيوتر الخاص بك وتنزيل ملف تكوين العميل من الخادم. يمكنك القيام بذلك عن طريق تشغيل الأمر التالي على الخادم:

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

قم بإنشاء ملف تكوين العميل في دليل /root/openvpn-ca لاستخدامه كتكوين أساسي:

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

افتح هذا الملف باستخدام النانو وقم بتحرير هذه المتغيرات:

remote 192.168.1.5 1194 # 192.168.1.5 هو عنوان 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
# First argument: Client identifier
KEY_DIR=/etc/openvpn/client
OUTPUT_DIR=/root # تغييره إلى دليل الخروج
BASE_CONFIG=/root/openvpn-ca/client.conf # قم بتغييره إلى 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

بعد كتابة النص، حفظ وإغلاق ملف config_gen.sh.

لا تنسى جعل الملف قابلاً للتنفيذ من خلال التشغيل:

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

سينشئ هذا الأمر ملفًا جديدًا يسمى client1.ovpn في /root/ دليل.

قم بنسخ هذا الملف إلى جهاز الكمبيوتر الخاص بالعميل واستخدمه للاتصال بخادم OpenVPN.

خلاصة

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

LEAVE A COMMENT