سؤال كيفية تكوين جهاز توجيه عميل OpenVPN


أحاول إعداد جهاز OpenVPN Router حتى أتمكن من توصيل الجهاز اللوحي (اللاسلكي) و Blu-Ray (السلكي) بخدمة VPN مدفوعة في بلد آخر على Ubuntu 12.10. لقد نجحت في ذلك باستخدام DD-WRT (بطيء جدًا) ومثيل افتراضي من PFSense (محدود جدًا).

أنا جديد في Linux ، ولكنني أكمل 90٪ من هذا المشروع. الأجهزة عبارة عن منفذي إيثرنت سلكي ، أحدهما متصل بجهاز توجيه منزلي تقليدي وبطاقة لاسلكية.

حتى الآن لدي ..

  1. قم بإعداد اللاسلكي الخاص بي ليكون بمثابة نقطة وصول رئيسية حقيقية باستخدام hostapd
  2. إنشاء جسر (على ما أظن) بين الشبكة المحلية اللاسلكية والشبكة المحلية
  3. قم بإعداد خادم DHCP الذي يقوم بتعيين عناوين للجسر بنجاح - فكل من اللاسلكي والسلكي يحصل عليها.
  4. قم بإعداد OpenVPN بحيث يقوم بإنشاء اتصال نفق بنجاح عند التمهيد.

يقوم السلوك الحالي بتوجيه كافة الزيارات من جهاز Ubuntu إلى خادم VPN. لا تملك الأجهزة الأخرى أي اتصال ، وهذه هي المشكلة.

سؤالي / الهدف:

كيف أقوم بتكوين التوجيه بحيث تقوم OpenVPN فقط بتوجيه حركة المرور من الجسر الخاص بي (الأجهزة تحت 192.168.10.x) من خلال نفق VPN وعدم المرور من كمبيوتر Ubuntu الفعلي؟

تقوم OpenVPN بإعداد بعض المسارات تلقائيًا ، ولكن يبدو أنها تتجاهل الجسر الذي أعددته.

لقد قرأت الكثير من الوثائق حول iptables و route لكنه لا يعقلني كثيرًا. على الرغم من العديد من البرامج التعليمية ، ما زلت لا أفهم كيفية قراءة النتائج من route أمر. أنا أيضا أشك في أن هذا يمكن أن يتحقق مع route-noexec و route-up في ملف تكوين OpenVPN ، ولكن لم يكن هناك شيء ناجح.

معرفتي بأماكن ملفات الإعدادات والإعدادات محدودة. أخذت المهام المذكورة أعلاه لي ما لا يقل عن 30 ساعة من ترقيع ، لذلك يرجى يسير على لي :)

شكر!

تصحيح

لقد قمت بنشر حل أدناه يوجه حركة مرور الجسر ، ولكنه لا يمنع حركة المرور على جهاز كمبيوتر Ubuntu من المرور عبر VPN.


12
2017-12-19 12:25


الأصل




الأجوبة:


لست متأكدًا من أن هذا مثالي ، لكنه يعمل على الأقل. في عالم مثالي ، لن تقوم حركة المرور على كمبيوتر Ubuntu بالتوجيه عبر VPN - فقط تلك الأجهزة المتصلة بجهاز Ubuntu. على أي حال ، وهنا الحل ..

في ال openvpn.conf ملف

script-security 2
up "/path/to/external/script.sh"

في ال /path/to/external/script.sh ملف

iptables -A FORWARD -o tun0 -i br0 -s 192.168.10.0/24 -m conntrack --ctstate NEW -j ACCEPT
iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -F POSTROUTING
iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE

في ما سبق، tun0 هو النفق الذي تم إنشاؤه بواسطة OpenVPN ، br0 هو الجسر بين بلدي المحلية اللاسلكية المحلية والشبكة المحلية ، و 192.168.10.0/24 هو تجمع الشبكة الفرعية / DHCP لبلدي المحلية.

ليس لدي أي فكرة عما يفعله هذا البرنامج النصي ولكن قمت بتلخيصه من مواقع قليلة على "مشاركة اتصال إنترنت".

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


1
2018-01-04 12:13





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

من أجل السماح للأجهزة المتصلة بجهاز الكمبيوتر الخاص بك بالوصول إلى الإنترنت ، يجب عليك مشاركة الإنترنت من ذلك الكمبيوتر إلى الآخرين.


0
2017-12-27 00:23



أسهل ، نعم. لكنني فعلت ذلك بالفعل وكان بطيئًا جدًا. - jbrookover