GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana saya bisa menyalurkan semua lalu lintas jaringan saya melalui SSH?

Untuk melakukan apa yang Anda inginkan, saya sarankan sshuttle.

Anda menggunakannya seperti ini:

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

Ini akan menyalurkan semua lalu lintas TCP Anda secara otomatis untuk Anda. Anda dapat menambahkan --dns argumen untuk memiliki terowongan lalu lintas DNS Anda juga. Server jarak jauh hanya perlu menginstal Python.

Jika Anda hanya ingin menyalurkan program tertentu, saya akan merekomendasikan proxychains.

Setelah terinstal, jalankan proxy ssh socks Anda seperti ini:

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

Ini akan memulai mendengarkan proxy "SOCKS" di .

Kemudian edit /etc/proxychains.conf untuk menunjuk ke port yang sama dengan :

socks5 127.0.0.1 <localport>

Terakhir, mulailah program Anda yang ingin di-proxy seperti ini:

proxychains <program name>

Itu seharusnya bekerja. Namun, beberapa program akan kesulitan bekerja dengan Proxy Chains. Perlu diingat juga, bahwa dengan Firefox, Anda harus mengubah item tambahan di bawah about:config untuk memaksanya melakukan pencarian DNS melalui proxy alih-alih melewatinya.

Sebagai catatan tambahan, di browser web. Jika mereka mendukung proxy kaus kaki, Anda tidak perlu melakukan tambahan apa pun agar mereka menggunakan terowongan ssh yang disebutkan di atas, cukup masukkan 127.0.0.1 untuk server proxy SOCKS dan untuk port proxy.

EDIT 3/29/16

Karena posting ini masih melihat beberapa upvotes, saya pikir saya akan memperbaruinya. Proxychains masih ada di sebagian besar repo Linux dan masih berfungsi di Linux. Namun, proyek tersebut secara efektif ditinggalkan dan tidak berfungsi di OSX. Untuk Linux atau OSX, saya sangat menyarankan untuk memutakhirkan ke fork yang masih dipertahankan:proxychains-ng:https://github.com/rofl0r/proxychains-ng

Selain bekerja di Linux dan OSX, mudah dikompilasi, dan juga memiliki dukungan yang jauh lebih baik untuk tunneling DNS.

Saya juga harus menyebutkan opsi lain, yaitu redsocks. Cara kerjanya mirip dengan proxychains(-ng) dan kemungkinan juga ada di repo dist Anda:https://github.com/darkk/redsocks

EDIT 27/11/19 Jika Anda menggunakan rute proxychains, silakan gunakan proxychains-ng. Ada beberapa perbaikan bug serius pada versi lama, seperti:https://github.com/rofl0r/proxychains-ng/issues/292


man ssh memberikan contoh persis seperti ini. Vpn berbasis 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

~~ potong ~~

     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).

Setelah Anda memiliki antarmuka baru itu, Anda hanya perlu menjadikannya sebagai rute default, yang merupakan pertanyaan berbeda.


Cari opsi "Tunnel" di ssh. Tindakan ini akan membuat perangkat terowongan tempat Anda dapat menetapkan alamat IP, lalu Anda mengubah rute default untuk menggunakan terowongan tersebut.


Linux
  1. Ssh – Bagaimana Menghubungkan Ke Pc Melalui Pc Lain Menggunakan Ssh?

  2. Ssh – Terowongan Lalu Lintas Melalui Mesin Lain Melalui Ssh?

  3. Linux – Bagaimana Cara Meneruskan Lalu Lintas Antara Ruang Nama Jaringan Linux?

  1. Bagaimana saya bisa mendaftar semua vhosts di nginx

  2. Bagaimana saya bisa melakukan ping ke wadah lain di jaringan buruh pelabuhan melalui nama host mereka?

  3. Bagaimana saya bisa mendaftar semua IP di jaringan yang terhubung, lebih disukai melalui Terminal?

  1. Bagaimana saya bisa menemukan antarmuka jaringan yang tersedia?

  2. Bagaimana cara mengatur terowongan ssh untuk meneruskan ssh?

  3. bagaimana cara melakukan tunnel Windows Remote Desktop melalui ssh menggunakan kotak linux?