لماذا تستخدم VPN للوصول إلى منزلك
هناك العديد من الأسباب التي تجعلك ترغب في الوصول إلى شبكتك المنزلية عن بُعد ، وأفضل طريقة للقيام بذلك هي باستخدام خادم VPN. تتيح لك بعض أجهزة التوجيه في الواقع إعداد خادم VPN مباشرة داخل جهاز التوجيه ، ولكن في كثير من الحالات ، ستحتاج إلى إعداد خادم بنفسك.
يعد Raspberry Pi طريقة رائعة لتحقيق ذلك. لا يتطلب تشغيلهم الكثير من الطاقة ، ولديهم طاقة كافية لتشغيل خادم VPN. يمكنك إعداد واحد بجوار جهاز التوجيه الخاص بك ونسيانه بشكل أساسي.
عندما يكون لديك وصول إلى شبكتك المنزلية عن بُعد ، يمكنك الوصول إلى ملفاتك من أي مكان. يمكنك تشغيل أجهزة الكمبيوتر المنزلية الخاصة بك عن بعد. يمكنك حتى استخدام اتصال VPN الخاص بمنزلك من الطريق. يتيح إعداد مثل هذا لهاتفك أو جهازك اللوحي أو الكمبيوتر المحمول التصرف كما لو كان في المنزل من أي مكان.
قم بإعداد Pi
قبل أن تتمكن من بدء إعداد VPN ، ستحتاج إلى إعداد Raspberry Pi الخاص بك. من الأفضل إعداد Pi بحافظة وبطاقة ذاكرة ذات حجم مناسب ، يجب أن تكون سعة 16 جيجابايت أكثر من كافية. إذا كان ذلك ممكنًا ، فقم بتوصيل Pi بجهاز التوجيه الخاص بك باستخدام كابل Ethernet. سيؤدي ذلك إلى تقليل أي تأخيرات في الشبكة.
قم بتثبيت Raspbian
أفضل نظام تشغيل لاستخدامه على Pi هو Raspbian. إنه الخيار الافتراضي الذي وضعته مؤسسة Raspberry Pi ، وهو يعتمد على Debian ، أحد أكثر إصدارات Linux المتوفرة أمانًا واستقرارًا.
اذهب إلى صفحة تنزيل Rasbian ، واحصل على أحدث إصدار. يمكنك استخدام الإصدار Lite هنا ، لأنك لا تحتاج في الواقع إلى سطح مكتب رسومي.
أثناء التنزيل ، احصل على أحدث إصدار من مطبوع لنظام التشغيل الخاص بك. بعد اكتمال التنزيل ، قم باستخراج صورة Raspbian. ثم افتح Etcher. حدد صورة Raspbian من حيث قمت باستخراجها. حدد بطاقة SD الخاصة بك (أدخلها أولاً). أخيرًا ، اكتب الصورة على البطاقة.
كيفية إضافة الموسيقى إلى مشاركة فيديو instagram
اترك بطاقة SD في جهاز الكمبيوتر الخاص بك عند الانتهاء. افتح مدير الملفات واستعرض البطاقة. يجب أن ترى قسمين مختلفين. ابحث عن قسم التمهيد. إنه الملف الذي يحتوي على ملف kernel.img بداخله. قم بإنشاء ملف نصي فارغ على قسم التمهيد ، وقم بتسميته ssh بدون امتداد الملف.
يمكنك أخيرًا توصيل Pi الخاص بك. تأكد من توصيله أخيرًا. لن تحتاج إلى شاشة أو لوحة مفاتيح أو ماوس. ستتمكن من الوصول إلى Raspberry Pi عن بُعد عبر شبكتك.
امنح Pi بضع دقائق لضبط نفسه. بعد ذلك ، افتح متصفح الويب وانتقل إلى شاشة إدارة جهاز التوجيه الخاص بك. ابحث عن Raspberry Pi ولاحظ عنوان IP الخاص به.
سواء كنت تستخدم نظام التشغيل Windows أو Linux أو Mac ، افتح OpenSSH. اتصل بـ Raspberry Pi باستخدام SSH.
$ ssh [email protected]
من الواضح ، استخدام عنوان IP الفعلي لـ Pi. اسم المستخدم هودائما بي، وكلمة المرور هيتوت العليق.
قم بإعداد OpenVPN
OpenVPN ليس من السهل إعداده كخادم. والخبر السار هو أنك تحتاج إلى القيام بذلك مرة واحدة فقط. لذا ، قبل البحث ، تأكد من أن Raspbian محدث تمامًا.
$ sudo apt update $ sudo apt upgrade
بعد انتهاء التحديث ، يمكنك تثبيت OpenVPN والأداة المساعدة للشهادة التي تحتاجها.
$ sudo apt install openvpn easy-rsa
المرجع المصدق
من أجل مصادقة أجهزتك عند محاولة الاتصال بالخادم ، تحتاج إلى إعداد مرجع مصدق لإنشاء مفاتيح تسجيل. ستضمن هذه المفاتيح أن أجهزتك فقط هي التي ستتمكن من الاتصال بشبكتك المنزلية.
أولاً ، قم بإنشاء دليل لشهاداتك. انتقل إلى هذا الدليل.
$ sudo make-cadir /etc/openvpn/certs $ cd /etc/openvpn/certs
ابحث عن ملفات تكوين OpenSSL. بعد ذلك ، اربط الأحدث بـopensl.cnf.
$ ls | grep -i openssl $ sudo ln -s openssl-1.0.0.cnf openssl.cnf
في نفس مجلد الشهادات يوجد ملف يسمى vars. افتح هذا الملف باستخدام محرر النصوص الخاص بك. Nano هو الإعداد الافتراضي ، ولكن لا تتردد في تثبيت Vim ، إذا كنت تشعر براحة أكبر معه.
أعثر علىKEY_SIZEالمتغير أولا. تم تعيينه على2048بشكل افتراضي. قم بتغييره إلى4096.
export KEY_SIZE=4096
تقوم الكتلة الرئيسية التي تحتاج إلى التعامل معها بإنشاء معلومات حول المرجع المصدق الخاص بك. من المفيد أن تكون هذه المعلومات دقيقة ، ولكن أي شيء يمكنك تذكره على ما يرام.
export KEY_COUNTRY='US' export KEY_PROVINCE='CA' export KEY_CITY='SanFrancisco' export KEY_ORG='Fort-Funston' export KEY_EMAIL=' [email protected] ' export KEY_OU='MyOrganizationalUnit' export KEY_NAME='HomeVPN'
عندما يكون لديك كل شيء ، احفظه واخرج.
تحتوي حزمة Easy-RSA التي قمت بتثبيتها من قبل على الكثير من البرامج النصية التي تساعد في إعداد كل ما تحتاجه. أنت فقط بحاجة إلى تشغيلهم. ابدأ بإضافة ملف vars كمصدر. سيؤدي ذلك إلى تحميل جميع المتغيرات التي قمت بتعيينها للتو.
$ sudo source ./vars
بعد ذلك ، قم بتنظيف المفاتيح. ليس لديك أي شيء ، لذلك لا تقلق بشأن الرسالة التي تخبرك بأنه سيتم حذف مفاتيحك.
$ sudo ./clean-install
أخيرًا ، قم ببناء المرجع المصدق الخاص بك. لقد قمت بالفعل بتعيين الإعدادات الافتراضية ، لذا يمكنك فقط قبول الإعدادات الافتراضية التي يقدمها. تذكر تعيين كلمة مرور قوية والإجابة بنعم على السؤالين الأخيرين ، باتباع كلمة المرور.
$ sudo ./build-ca
اصنع بعض المفاتيح
لقد مررت بكل هذه المشكلة لإعداد مرجع مصدق حتى تتمكن من توقيع المفاتيح. حان الوقت الآن لعمل بعض. ابدأ ببناء مفتاح الخادم الخاص بك.
$ sudo ./build-key-server server
بعد ذلك ، قم ببناء Diffie-Hellman PEM. إنه ما يستخدمه OpenVPN لتأمين اتصالات العميل بالخادم.
$ sudo openssl dhparam 4096 > /etc/openvpn/dh4096.pem
المفتاح الأخير الذي تحتاجه من الآن يسمى مفتاح HMAC. يستخدم OpenVPN هذا المفتاح لتوقيع كل حزمة فردية من المعلومات المتبادلة بين العميل والخادم. يساعد على منع أنواع معينة من الهجمات على الاتصال.
$ sudo openvpn --genkey --secret /etc/openvpn/certs/keys/ta.key
تكوين الخادم
لديك المفاتيح. الجزء التالي في إعداد OpenVPN هو تكوين الخادم نفسه. لحسن الحظ ، ليس هناك الكثير مما تحتاج إلى القيام به هنا. يوفر Debian تكوينًا أساسيًا يمكنك استخدامه للبدء. لذا ، ابدأ بالحصول على ملف التكوين هذا.
$ sudo gunzip -c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz > /etc/openvpn/server.conf
استخدم محرر النصوص مرة أخرى للانفتاح/etc/openvpn/server.conf. أول الأشياء التي تحتاج إلى العثور عليها هي ملفاتالذي - التيوسيرت، ومفتاحالملفات. تحتاج إلى تعيينهم لمطابقة المواقع الفعلية للملفات التي قمت بإنشائها ، والتي توجد جميعها/ etc / openvpn / certs / keys.
ca /etc/openvpn/certs/keys/ca.crt cert /etc/openvpn/certs/keys/server.crt key /etc/openvpn/certs/keys/server.key # This file should be kept secret
أعثر علىبمعنى آخرالإعداد وتغييرها لتتناسب مع Diffie-Hellman.pemالذي قمت بإنشائه.
dh dh4096.pem
حدد مسار مفتاح HMAC أيضًا.
tls-auth /etc/openvpn/certs/keys/ta.key 0
أعثر علىالشفرةوتأكد من أنه يطابق المثال أدناه.
cipher AES-256-CBC
يتوفر الخياران التاليان ، ولكن تم التعليق عليهما بامتداد؛. قم بإزالة الفواصل المنقوطة أمام كل خيار لتمكينها.
push 'redirect-gateway def1 bypass-dhcp' push 'dhcp-option DNS 208.67.222.222' push 'dhcp-option DNS 208.67.220.220'
بحث عنالمستعملومجموعةوالخيارات. قم بإلغاء التعليق عليها ، وقم بتغيير ملفالمستعمللفتح VPN.
user openvpn group nogroup
أخيرًا ، هذان السطران الأخيران ليسا في التكوين الافتراضي. ستحتاج إلى إضافتها في نهاية الملف.
قم بتعيين ملخص المصادقة لتحديد تشفير أقوى لمصادقة المستخدم.
# Authentication Digest auth SHA512
بعد ذلك ، حصر الشفرات التي يمكن لـ OpenVPN استخدامها على أقوى منها فقط. هذا يساعد في الحد من الهجمات المحتملة على الأصفار الضعيفة.
# Limit Ciphers tls-cipher TLS-DHE-RSA-WITH-AES-256-GCM-SHA384:TLS-DHE-RSA-WITH-AES-128-GCM-SHA256:TLS-DHE-RSA-WITH-AES-256-CBC-SHA:TLS-DHE-RSA-WITH-CAMELLIA-256-CBC-SHA:TLS-DHE-RSA-WITH-AES-128-CBC-SHA:TLS-DHE-RSA-WITH-CAMELLIA-128-CBC-SHA
هذا كل شيء من أجل التكوين. احفظ الملف واخرج.
ابدأ الخادم
قبل أن تتمكن من بدء تشغيل الخادم ، تحتاج إلى القيام بذلكopenvpnالمستخدم الذي حددته.
$ sudo adduser --system --shell /usr/sbin/nologin --no-create-home openvpn
إنه مستخدم خاص فقط لتشغيل OpenVPN ، ولن يفعل أي شيء آخر.
الآن ، ابدأ تشغيل الخادم.
$ sudo systemctl start openvpn $ sudo systemctl start [email protected]
تأكد من أنهما يعملان
$ sudo systemctl status openvpn*.service
إذا كان كل شيء يبدو جيدًا ، فقم بتمكينه عند بدء التشغيل.
$ sudo systemctl enable openvpn $ sudo systemctl enable [email protected]
إعداد العميل
تم إعداد الخادم وتشغيله الآن. بعد ذلك ، تحتاج إلى إعداد تكوين العميل الخاص بك. هذه هي التهيئة التي ستستخدمها لتوصيل أجهزتك بخادمك. العودة إلىتأكيدالمجلد والاستعداد لبناء مفتاح (مفاتيح) العميل. يمكنك اختيار إنشاء مفاتيح منفصلة لكل عميل أو مفتاح واحد لجميع العملاء. للاستخدام المنزلي ، يجب أن يكون مفتاح واحد على ما يرام.
$ cd /etc/openvpn/certs $ sudo source ./vars $ sudo ./build-key client
تتطابق العملية تقريبًا مع عملية الخادم ، لذا اتبع نفس الإجراء.
تكوين العميل
تكوين العملاء مشابه جدًا لتكوين الخادم. مرة أخرى ، لديك نموذج معد مسبقًا لتبني عليه التهيئة. ما عليك سوى تعديله لمطابقة الخادم.
التغيير إلىزبونالدليل. بعد ذلك ، قم بفك حزمة التكوين النموذجي.
$ cd /etc/openvpn/client $ sudo cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf /etc/openvpn/client/client.ovpn
افتح ملفclient.ovpnملف مع محرر النصوص الخاص بك. ثم ابحث عن ملفالتحكم عن بعداختيار. بافتراض أنك لا تستخدم بالفعل VPN ، ابحث في Google عن عنوان IP الخاص بي. خذ العنوان الذي يعرضه ، واضبط ملفالتحكم عن بعدعنوان IP لها. اترك رقم المنفذ.
remote 107.150.28.83 1194 #That IP ironically is a VPN
غيّر الشهادات لتعكس تلك التي أنشأتها ، تمامًا كما فعلت مع الخادم.
ca ca.crt cert client.crt key client.key
ابحث عن خيارات المستخدم ، وأزل التعليق عليها. من الجيد تشغيل العملاء كـلا أحد.
user nobody group nogroup
قم بإلغاء التعليق علىtls-authخيار HMAC.
tls-auth ta.key 1
بعد ذلك ، ابحث عن ملفالشفرةالخيار وتأكد من أنه يطابق الخادم.
cipher AES-256-CBC
بعد ذلك ، ما عليك سوى إضافة ملخص المصادقة وقيود التشفير في الجزء السفلي من الملف.
# Authentication Digest auth SHA512 # Cipher Restrictions tls-cipher TLS-DHE-RSA-WITH-AES-256-GCM-SHA384:TLS-DHE-RSA-WITH-AES-128-GCM-SHA256:TLS-DHE-RSA-WITH-AES-256-CBC-SHA:TLS-DHE-RSA-WITH-CAMELLIA-256-CBC-SHA:TLS-DHE-RSA-WITH-AES-128-CBC-SHA:TLS-DHE-RSA-WITH-CAMELLIA-128-CBC-SHA
عندما يبدو كل شيء على ما يرام ، احفظ الملف واخرج. يستخدمقطرانلحزم التكوين والشهادات ، حتى تتمكن من إرسالها إلى العميل.
$ sudo tar cJf /etc/openvpn/clients/client.tar.xz -C /etc/openvpn/certs/keys ca.crt client.crt client.key ta.key -C /etc/openvpn/clients/client.ovpn
انقل هذه الحزمة إلى العميل كيفما تختار. يعد كل من SFTP و FTP ومحرك أقراص USB خيارات رائعة.
ميناء الشحن
لكي يعمل أي من هذا ، تحتاج إلى تكوين جهاز التوجيه الخاص بك لإعادة توجيه حركة مرور VPN الواردة إلى Pi. إذا كنت تستخدم بالفعل شبكة ظاهرية خاصة (VPN) ، فأنت بحاجة إلى التأكد من أنك لا تتصل على نفس المنفذ. إذا كنت كذلك ، فقم بتغيير المنفذ على تكوينات العميل والخادم.
اتصل بواجهة الويب لجهاز التوجيه الخاص بك عن طريق كتابة عنوان IP الخاص به على متصفحك.
يختلف كل جهاز توجيه عن الآخر. حتى مع ذلك ، يجب أن يكون لديهم جميعًا شكل من أشكال هذه الوظيفة. ابحث عنه على جهاز التوجيه الخاص بك.
الإعداد هو نفسه في الأساس على كل جهاز توجيه. أدخل منافذ البداية والنهاية. يجب أن تكون متطابقة مع بعضها البعض وتلك التي قمت بتعيينها في التكوينات الخاصة بك. ثم ، بالنسبة لعنوان IP ، قم بتعيين ذلك على عنوان IP الخاص بـ Raspberry Pi. احفظ التغييرات.
اتصل بالعميل
يختلف كل عميل عن الآخر ، لذا لا يوجد حل شامل. إذا كنت تستخدم نظام التشغيل Windows ، فستحتاج إلى عميل Windows OpenVPN .
على نظام Android ، يمكنك فتح tarball ونقل المفاتيح إلى هاتفك. ثم قم بتثبيت تطبيق OpenVPN. افتح التطبيق وقم بتوصيل المعلومات من ملف التكوين الخاص بك. ثم حدد المفاتيح الخاصة بك.
على نظام Linux ، تحتاج إلى تثبيت OpenVPN مثلما فعلت مع الخادم.
$ sudo apt install openvpn
ثم قم بالتغيير إلى/ etc / openvpn، وافكِك كرة القطران التي أرسلتها.
$ cd /etc/openvpn $ sudo tar xJf /path/to/client.tar.xz
أعد تسمية ملف العميل.
$ sudo mv client.ovpn client.conf
لا تبدأ العميل بعد. سوف تفشل. تحتاج إلى تمكين إعادة توجيه المنفذ على جهاز التوجيه الخاص بك أولاً.
خواطر ختامية
يجب أن يكون لديك الآن إعداد عمل. سيتصل عميلك مباشرة من خلال جهاز التوجيه الخاص بك بـ Pi. من هناك ، يمكنك المشاركة والاتصال عبر شبكتك الافتراضية ، طالما أن جميع الأجهزة متصلة بشبكة VPN. لا يوجد حد ، لذلك يمكنك دائمًا توصيل جميع أجهزة الكمبيوتر الخاصة بك بشبكة Pi VPN.