it-swarm.asia

كيف يمكنني نقل كل حركة مرور الشبكة عبر SSH؟

كلما كنت أستخدم الإنترنت من موقع غير آمن (مثل شبكة wifi العامة) أحب استخدام نفق ssh (ssh -D port Host) لضمان عدم استنشاق حركة المرور الخاصة بي. لسوء الحظ ، يبدو أن هناك العديد من التطبيقات التي لا توفر وسيلة لتحديد وكيل (فلاش هو مثال رئيسي واحد).

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

111
Guest

للقيام بما تريد ، أوصي sshuttle .

يمكنك استخدامه مثل هذا:

./sshuttle -r [email protected] 0.0.0.0/0 -vv

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

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

بمجرد تثبيته ، ابدأ وكيل ssh socks مثل هذا:

ssh -fND 127.0.0.1:<local port> [email protected]

سيؤدي هذا إلى بدء تشغيل وكيل "SOCKS" للاستماع إلى <المنفذ المحلي>.

ثم قم بتحرير /etc/proxychains.conf للإشارة إلى نفس المنفذ مثل <المنفذ المحلي>.

أخيرًا ، ابدأ تشغيل البرنامج الذي تريده مثل الوكيل:

proxychains <program name>

يجب أن تعمل فقط. ومع ذلك ، ستواجه بعض البرامج مشكلة في العمل مع Proxy Chains. ضع في اعتبارك أيضًا ، أنه مع Firefox ، يتعين عليك تغيير عناصر إضافية ضمن about: config لإجبارها على إجراء عمليات بحث DNS عبر الوكيل بدلاً من تجاوزها.

كملاحظة إضافية ، على متصفحات الويب. إذا كانت تدعم بروكسيات الجوارب ، فلن تحتاج إلى القيام بأي شيء إضافي لحملهم على استخدام نفق ssh المذكور أعلاه ، أدخل 127.0.0.1 فقط للخادم الوكيل SOCKS و <المنفذ المحلي> للمنفذ الوكيل.

EDIT 3/29/16

نظرًا لأن هذا المنشور لا يزال يشهد بعض الأصوات الزائدة ، اعتقدت أنني سأقوم بتحديثه. Proxychains لا يزال في معظم repos Linux ولا يزال يعمل على Linux. ومع ذلك ، تم التخلي عن المشروع بشكل فعال ولا يعمل على OSX. بالنسبة لنظامي Linux أو OSX ، أوصي بشدة بالترقية إلى مفترق لا يزال يتم صيانته: proxychains-ng: https://github.com/rofl0r/proxychains-ng

بالإضافة إلى العمل في كل من Linux و OSX ، من السهل التجميع ، كما أنه يتمتع بدعم أفضل بكثير لنفق DNS.

أود أن أذكر أيضا خيار آخر ، وهو redsocks. إنه يعمل بشكل مشابه لـ proxychains (-ng) ومن المحتمل أيضًا أن يكون في rep dist: https://github.com/darkk/redsocks

56
shellster

man ssh يعطي مثالاً على هذا بالضبط. فبن القائمة على SSH:

SSH-BASED VIRTUAL PRIVATE NETWORKS
     ssh contains support for Virtual Private Network (VPN) tunnelling using
     the tun(4) network pseudo-device, allowing two networks to be joined
     securely.  The sshd_config(5) configuration option PermitTunnel controls
     whether the server supports this, and at what level (layer 2 or 3 traf-
     fic).

     The following example would connect client network 10.0.50.0/24 with
     remote network 10.0.99.0/24, provided that the SSH server running on the
     gateway to the remote network, at 192.168.1.15, allows it:

       # ssh -f -w 0:1 192.168.1.15 true
       # ifconfig tun0 10.0.50.1 10.0.99.1 netmask 255.255.255.252

~~ قصاصة ~~

     Since a SSH-based setup entails a fair amount of overhead, it may be more
     suited to temporary setups, such as for wireless VPNs.  More permanent
     VPNs are better provided by tools such as ipsecctl(8) and isakmpd(8).

بمجرد أن تصل هذه الواجهة الجديدة ، عليك فقط جعلها المسار الافتراضي ، وهو سؤال مختلف.

48
PriceChild

ابحث عن خيار "Tunnel" في ssh. يؤدي هذا إلى إنشاء جهاز نفق يمكنك تعيين عنوان IP له ، ثم تقوم بتغيير المسار الافتراضي لاستخدام هذا النفق.

6
Peter Eisentraut

لقد قمت بتطوير برنامج يتيح لك إعادة توجيه جميع TCP واختيار UDP اختياريًا عبر وكيل SOCKS5 على مستوى النظام.

http://code.google.com/p/badvpn/wiki/tun2socks

يمكن حتى تثبيته على جهاز توجيه لإعادة توجيه جميع الاتصالات من أجهزة الكمبيوتر على الشبكة المحلية.

4
Ambroz Bizjak