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