جدول المحتويات:

بوابة Raspberry Pi VPN: 6 خطوات
بوابة Raspberry Pi VPN: 6 خطوات

فيديو: بوابة Raspberry Pi VPN: 6 خطوات

فيديو: بوابة Raspberry Pi VPN: 6 خطوات
فيديو: CasaOS - Radarr and Jackett with Transmission setup on Raspberry Pi 2024, يوليو
Anonim
بوابة Raspberry Pi VPN
بوابة Raspberry Pi VPN

تحديث 2018-01-07:

  • تم تحديث الأشياء المفقودة والتغييرات التي تم إجراؤها للإصدار الحالي من Raspian.
  • أنشأ أيضًا دليلًا خاصًا لـ NordVPN.

هناك عدد قليل من الاستخدامات المختلفة لشبكة VPN. إما أنك تريد حماية خصوصيتك وبياناتك الخاصة من أعين المتطفلين أو تحتاج إلى مصدر من بلد آخر. يمكن أن يكون الاستعانة بمصادر من بلد آخر مفيدًا جدًا للوصول إلى الخدمات غير المتوفرة في بلدك. هناك عدد من خدمات VPN المتوفرة اليوم ومعظمها يقدم برامج سهلة الاستخدام لجهاز الكمبيوتر والتطبيقات لجهازك اللوحي أو هاتفك. ولكن إذا كانت لديك أجهزة أخرى لا يدعمها البرنامج الذي تريد تجاوز VPN؟ ثم قم ببناء بوابة تمنحك الوصول إلى الإنترنت عبر VPN.

إذا نظرت إلى إعداد الشبكة الأساسي لديك ، فلديك "بوابة افتراضية" تُستخدم لأي عنوان IP غير موجود في شبكتك الفرعية الحالية (مبسطة جدًا). لذلك إذا قمت بإعداد بوابة يمكنها توجيه حركة المرور على الإنترنت عبر اتصال VPN محدد ، يمكن لأي جهاز ممكّن للشبكة الاستفادة من نفق VPN.

حالة الاستخدام الرئيسية الخاصة بي في شقتي في سان فرانسيسكو هي نفق VPN إلى موطني السويد حتى أتمكن من بث قنوات التشغيل السويدية على مشغلات الوسائط والتلفزيون الذكي. هذه حالة استخدام شائعة جدًا لمعظم الأشخاص الذين يحتاجون إلى نفق VPN. نظرًا لأن مشغلات الوسائط وأجهزة التلفزيون الذكية الخاصة بي لا يدعمها برنامج VPN ، فقد قمت ببناء واحد من Raspberry Pi.

يمكنك اختيار واحد بسعر أقل من 40 دولارًا على Amazon. ومع ذلك ، أوصي بشراء علبة ومحول طاقة لائق أيضًا. تحتاج إلى هذا التوجيه:

  • Raspberry Pi 2 أو 3
  • حالة ترضيك
  • محول طاقة لائق
  • كابل شبكة

الخطوة 1: اختيار خدمة VPN الخاصة بك

اختيار خدمة VPN الخاصة بك
اختيار خدمة VPN الخاصة بك

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

اختبار مجاني

أريد فترة اختبار مجانية أو كمية صغيرة من بيانات الاختبار للتعرف على البرنامج أو التطبيق. أريد أيضًا اختبار الأداء والخبرة الشاملة قبل أن أدفع ثمنها. من الجيد أيضًا التحقق من أن فكرتي ستنجح قبل أن أبدأ في الدفع.

خصوصية

إذا كان التنفيذ يتعلق بمخاوف الخصوصية ، فمن المهم حقًا ما تنص عليه سياسة الخصوصية. من المهم أيضًا تحديد البلد الذي تعمل منه الشركة والقوانين التي تحمي خصوصيتك. يجب على المستخدمين القلقين بشأن الخصوصية حقًا من النظر إلى خدمة تنص على عدم تخزين أي سجلات مرور وتسمح بمدفوعات مجهولة عبر Bitcoin على سبيل المثال.

حركة المرور المسموح بها

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

غطاء البيانات

لا تستخدم أبدًا خدمة تحافظ على حد أقصى للبيانات على المستخدمين الذين يدفعون. سينفد هذا في أسوأ وقت ممكن تمامًا مثل البيانات الموجودة على هاتفك قبل الجزء المضحك في مقطع فيديو!

بلدان الخروج

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

نوع البرنامج والدعم

هذا هو أحد الأسباب الرئيسية التي تجعلني أفضل الخدمات باختبار مجاني. هناك الكثير من مقدمي البرامج الذين لديهم برامج سيئة هي عربات التي تجرها الدواب أو غير آمنة أو لا تعمل. لتنفيذ Raspberry Pi ، أحتاج إلى مزود يدعم OpenVPN.

اختياري

لهذا البناء ذهبت مع Tunnel Bear. يتم تقديم اختبار مجاني يصل إلى 500 جيجابايت حتى أتمكن من اختبار أنه يمكنني البث بالفعل قبل أن أدفع أي شيء. يوجد مقرهم في كندا ، بجانب السويد ، لديهم بعض من أقوى قوانين الخصوصية في العالم. لا يوجد حد أقصى للبيانات على الخدمة المدفوعة ويسمح لي أيضًا بتوصيل العديد من الأجهزة في وقت واحد. لذلك يتم أيضًا فرز حماية هاتفي وجهاز الكمبيوتر اللوحي والكمبيوتر أثناء السفر على شبكة wifi غير آمنة. يتم دعم عقدة الخروج في السويد ، ويتم توفيرها بالفعل عبر Bahnhof المعروف بالخصوصية القوية في السويد. بالنسبة للخطط المدفوعة ، يقدمون دعم OpenVPN. إنهم ليسوا للاختبار المجاني ولكن كان كافياً تشغيل ذلك من جهاز الكمبيوتر المحمول الخاص بي للتأكد من أن خدمات البث تعمل.

الخطوة 2: قم بتثبيت Raspberry Pi

لتطبيقات مثل هذه ، أستخدم نظام التشغيل Raspbian Lite. بما أنني لست بحاجة إلى واجهة المستخدم الرسومية على الإطلاق. يمكنك الحصول على أحدث إصدار هنا.

أستخدم Win32DiskImager لتحميل ملف.img على بطاقة SD لـ Raspberry Pi.

بمجرد تمهيد Raspberry Pi ، أنظر في قائمة DHCP لأجهزة التوجيه الخاصة بي للحصول على عنوان IP ثم الاتصال عبر SSH باستخدام Putty. اسم المستخدم وكلمة المرور القياسيان هما pi / raspberry

بمجرد الاتصال ، أقوم بتشغيل أداة raspi-config لتغيير الإعدادات الأساسية.

sudo raspi-config

أهم الأشياء التي يجب الاهتمام بها في هذا التكوين هي:

  • قم بتوسيع نظام الملفات
  • تغيير كلمة المرور

يمكنك أيضًا تغيير اسم المضيف الخاص بـ Raspberry Pi إذا أردت. لدي DHCP عقود إيجار طويلة جدًا ويمكنني أيضًا حجز عنوان محدد. إذا لم تكن لديك هذه القدرة ، فيجب عليك تكوين Raspberry Pi لاستخدام عنوان IP ثابت. نظرًا لأن الأجهزة الأخرى ستستخدم هذا نظرًا لوجود بوابة افتراضية ، فمن المهم أن تستمر في استخدام نفس عنوان IP. هذا منشور كتبته حول تعيين عنوان IP ثابت في Raspbian Jessie.

ثم نحتاج إلى ترقية كل شيء إلى أحدث إصدار:

sudo apt-get updatesudo apt-get Upgrade sudo apt-get dist-Upgrade

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

قم بتثبيت OpenVPN
قم بتثبيت OpenVPN

نحتاج الآن إلى تثبيت OpenVPN على Raspberry Pi.

sudo apt-get install openvpn

ثم نحتاج إلى التأكد من بدء الخدمة بشكل صحيح.

sudo systemctl تمكين openvpn

عند الانتهاء من التثبيت ، نحتاج إلى نسخ ملفات وشهادات تكوين OpenVPN إلى المربع. سيتم توفير هذا لك من قبل مزود VPN الخاص بك. في حالتي ، باستخدام TunnelBear ، وجدت منشور مدونة حول دعم Linux. في تلك الصفحة يوجد رابط لملف مضغوط يحتوي على كل ما نحتاجه.

يحتوي الملف على ملفات الشهادات وملف تكوين.opvn لكل بلد يمكنك الاتصال النفقي إليه. أنت بحاجة إلى جميع ملفات الشهادات وملف تكوين.opvn للبلد الذي تختاره ، في حالتي السويد. قم بفك ضغط الملفات المطلوبة واستخدم winscp لتحميل الملفات إلى Raspberry Pi الخاص بك. نفس اسم المستخدم / كلمة المرور المستخدم في SSH سينقلك إلى / home / pi ، فقط قم بإسقاط الملفات هناك.

ثم نعود إلى محطة SSH وننقل الملفات إلى مجلد OpenVPN. الأمر الأول هو التأكد من أننا في المجلد / home / pi.

القرص المضغوط / المنزل / بي

sudo mv * / etc / openvpn /

الآن نحن بحاجة إلى إجراء بعض التعديلات على الملفات. نحتاج أولاً إلى إعادة تسمية ملف التكوين من.ovpn إلى.conf. أي ملف ينتهي بـ.conf في المجلد / etc / openvpn سيبدأ تلقائيًا عند بدء تشغيل برنامج OpenVPN الخفي. نحتاج أولاً إلى الدخول إلى هذا الدليل.

cd / etc / openvpn

ثم نقوم بتغيير اسم ملف التكوين. يمكنك تسمية أي شيء تريده طالما أنه ينتهي بـ.conf. أفضل استخدام أسماء الملفات بدون مسافات فارغة ، وفي هذه الحالة سأستخدم swe.conf.

sudo mv *.ovpn swe.conf

ثم نحتاج إلى ملف مصادقة يحتوي على اسم المستخدم وكلمة المرور المستخدمين لنفق VPN. افتح محرر نصوص واكتب اسم المستخدم وكلمة المرور في أسطر منفصلة. سوف نسمي هذا الملف auth.txt.

sudo nano auth.txt

يجب أن يكون المحتوى مثل هذا المثال:

اسم االمستخدم

كلمه السر

ثم استخدم CTRL + O للكتابة إلى الملف و CTRL + X للخروج من محرر نصوص nano. نحتاج أيضًا إلى حماية ملف auth.txt الذي يحتوي على بيانات اعتمادنا.

sudo chmod 600 /etc/openvpn/auth.txt

ثم نحتاج إلى تحرير ملف التكوين للتأكد من صحة جميع المسارات وإضافة مرجع إلى ملف auth.txt الذي تم إنشاؤه حديثًا.

sudo نانو swe.conf

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

كاليفورنيا CACertificate.crt

مفتاح الشهادة UserCertificate.crt مفتاح PrivateKey.key

نغيرها إلى مسارات مطلقة مثل هذا:

ca /etc/openvpn/CACertificate.crt

cert /etc/openvpn/UserCertificate.crt key /etc/openvpn/PrivateKey.key

ثم في نهاية الملف نضيف مرجعًا إلى ملف auth.txt ، مثل هذا:

المصادقة-المستخدم-تمرير /etc/openvpn/auth.txt

مرة أخرى نستخدم CTRL + O لحفظ الملف ثم CTRL + X للخروج من nano. الآن يمكننا إعادة تشغيل برنامج OpenVPN الخفي ونرى أن النفق يعمل.

إعادة تشغيل sudo service openvpn

إذا قمت بتشغيل الأمر ifconfig ، يجب أن ترى محول tun0 بالإضافة إلى محولات eth0 و lo إذا كان النفق يعمل. يمكنك أيضًا تشغيل الأمر هذا للتحقق من عنوان IP العام الخاص بك:

wget https://ipinfo.io/ip -qO -

إذا كنت تواجه مشكلات في الحصول على النفق ، فحاول أولاً إعادة تشغيل Raspberry Pi ثم تحقق مرة أخرى من التهيئة بحثًا عن الأخطاء.

الخطوة 4: إعداد التوجيه

الآن نحن بحاجة إلى تمكين إعادة توجيه IP. إنه يمكّن حركة مرور الشبكة من التدفق من إحدى واجهات الشبكة وخارج الأخرى. إنشاء جهاز توجيه بشكل أساسي.

sudo / bin / su -c "echo -e '\ n # تمكين توجيه IP / nnet.ipv4.ip_forward = 1'> /etc/sysctl.conf"

إذا قمت بتشغيل sudo sysctl -p ، فسترى هذا مطبوعًا على الشاشة:

net.ipv4.ip_forward = 1

الآن تم تمكين التوجيه ويمكن لحركة المرور المرور عبر Raspberry Pi ، عبر النفق والخروج على الإنترنت.

الخطوة 5: إعداد جدار الحماية و NAT

نظرًا لأنه سيكون لدينا العديد من العملاء في الداخل للوصول إلى الإنترنت عبر عنوان IP عام واحد ، فنحن بحاجة إلى استخدام NAT. إنها تعني ترجمة عنوان الشبكة وستتابع العميل الذي طلب أي حركة مرور عندما تعود المعلومات عبر النفق. نحتاج أيضًا إلى إعداد بعض الأمان حول Raspberry Pi ونفقه.

sudo iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE

تمكين NAT.

sudo iptables -A FORWARD -i eth0 -o tun0 -j قبول

السماح لأي حركة مرور من eth0 (داخلية) بالمرور عبر tun0 (نفق).

sudo iptables -A FORWARD -i tun0 -o eth0 -m state - ذات الصلة بالدولة ، تأسست -j قبول

السماح لحركة المرور من tun0 (نفق) بالعودة عبر eth0 (داخلي). نظرًا لأننا نحدد الحالة ذات الصلة ، فقد تم قصرها على الاتصال الذي بدأ من الشبكة الداخلية. حظر حركة المرور الخارجية التي تحاول بدء اتصال جديد.

sudo iptables -A INPUT -i lo -j قبول

السماح بحركة الاسترجاع الخاصة بـ Raspberry Pi.

sudo iptables -A INPUT -i eth0 -p icmp -j قبول

السماح لأجهزة الكمبيوتر الموجودة على الشبكة المحلية باختبار اتصال Raspberry Pi.

sudo iptables -A INPUT -i eth0 -p tcp -dport 22 -j ACCEPT

السماح لـ SSH من الشبكة الداخلية.

sudo iptables -A INPUT -m state-state-ESTABLISHED، ذات الصلة -j ACCEPT

السماح لكل حركة المرور التي بدأها Raspberry Pi بالعودة. هذا هو نفس مبدأ الولاية كما في وقت سابق.

sudo iptables -P FORWARD DROP

الأمر sudo iptables -P INPUT DROP sudo iptables -L

إذا لم تتطابق حركة المرور مع أي من القواعد المحددة ، فسيتم إسقاطها.

sudo apt-get install iptables-persistent

يتيح sudo systemctl إمكانية استمرار netfilter

يثبت السطر الأول سلامًا من التعليمات البرمجية التي تجعل قواعد iptable التي أنشأناها للتو ثابتة بين عمليات إعادة التشغيل. الثاني يحفظ القواعد بعد أن قمت بتغييرها. هذه المرة يكفي تشغيل أول واحد. إذا قمت بتغيير القواعد ، فقم بتشغيل القاعدة الثانية للحفظ. تسري قواعد Iptable بمجرد إضافتها إذا أخطأت وفقدت الوصول ، فقط أعد التشغيل وستعود القواعد التي لم يتم حفظها بالفعل.

الخطوة السادسة: الخاتمة

يمكنك الآن استخدام هذا النفق من أي جهاز أو كمبيوتر على نفس الشبكة. ما عليك سوى تغيير البوابة الافتراضية إلى أي عنوان IP يمتلكه Raspberry Pi. في حالتي ، يستخدم كل من مركزي وسائط Kodi (غرفة نوم واحدة وغرفة معيشة واحدة) هذا الاتصال حتى أتمكن من بث قنوات اللعب السويدية الخاصة بي. بالطبع هناك أشياء أخرى يمكنك استخدامها من أجلها أيضًا.

فقط ضع في اعتبارك أنه اعتمادًا على مورد VPN الذي اخترته وسرعة اتصالك بالإنترنت ، قد يكون الأداء بطيئًا.

إذا كان لديك أي أسئلة أو تريد مني توضيح أي شيء ، فأخبرني بذلك في التعليقات! لمزيد من المنشورات التقنية ، يرجى زيارة مدونتي Hackviking!

موصى به: