Routing semua traffic melalui proxy kaus kaki menggunakan ssh -D

9

apakah itu cara mudah untuk merutekan semua lalu lintas melalui proxy ssh dengan -D?

Saya dapat mengonfigurasi aplikasi khusus untuk melakukan ini, tetapi saya ingin konfigurasi yang merutekan semua lalu lintas di mesin. Terima kasih atas bantuan Anda!

grm
sumber
Saya lupa mengatakan bahwa saya menggunakan linux dengan sangat ideal, sesuatu yang bisa saya gunakan dengan iptables.
GRM

Jawaban:

10

Di Linux:

  1. iptables -t nat -A OUTPUT! -d 127.0.0.0/8 -j REDIRECT --untuk 1081
  2. Jalankan program yang mendengarkan 1081, mengambil alamat tujuan aktual, yang tidak dialihkan, bernegosiasi dengan server SOCKS dan relay.

Saya telah menulis program semacam itu untuk penggunaan pribadi dalam Perl (kualitas prototipe) dan menulis versi yang lebih baik dalam C. Itu belum diterbitkan.

Pembaruan: sekarang diterbitkan: http://github.com/vi/socksredirect/ Gunakan prototype.pl. Kirimi saya pemberitahuan jika Anda tertarik untuk mengembangkan versi yang lebih baik.

Pembaruan 2 Membuat versi yang sedikit lebih baik: http://github.com/vi/tcpsocks dan patch untuk Socat 2: http://github.com/vi/socksredirect/blob/master/socat-2.0.0- b3-REDIRECT.patch

PS Sebagian besar lalu lintas saya (dan terkadang beberapa tetangga) sekarang melewati tcpsocks-> ssh.

Vi.
sumber
Proyek yang sangat menarik Vi. Terima kasih! Saya akan melihatnya.
GRM
Anda mungkin harus menggunakan lebih banyak aturan iptables untuk memilih lalu lintas mana yang ingin Anda sembunyikan. Saya menggunakan "iptables -t nat -A OUTPUT -j QQQ", lalu sekelompok "iptables -t nat -A QQQ <checks> -j RETURN" dan akhirnya "iptables -t nat -A QQQ -p tcp -j REDIRECT - ke 1234 ".
Vi.
Terima kasih! Saya sudah bertanya-tanya apakah ini bisa dilakukan, itu ada di daftar ide proyek loong saya untuk mencoba kapan-kapan.
Tobu
@Tobu, saya telah menerapkan ini lebih banyak: sekarang ada tambalan Socat ( github.com/vi/socksredirect/blob/master/... ) untuk ini dan juga program tcpsocks ringan ( github.com/vi/tcpsocks )
Vi .
1
@ Tanmay, Dengan perangkat tun Anda akan melihat hanya paket TCP dan akan sulit untuk mendekode mereka menjadi aliran byte (Anda akan membutuhkan sesuatu seperti slirp). dengan REDIRECT atau TPROXY gunakan saja biasa recvyang memberi Anda data yang di-decode tanpa tajuk TCP.
Vi.
8

Avery Pennarun ini sshuttle bekerja sama dengan Vi 's jawaban , tetapi membutuhkan pengaturan kurang dan bekerja pada BSD dan OS X serta Linux.

singkat
sumber
2

Mungkin Anda harus mempertimbangkan pengaturan VPN sebagai gantinya.

Espennilsen
sumber
Bukankah itu memerlukan lebih banyak akses di sisi gateway?
GRM
Saya mendapat pengaturan server VPN (poptop) di rumah di Ubuntu. Dan di tempat kerja saya hanya menggunakan klien VPN bawaan di windows untuk menghubungkannya. Tidak mengganggu administrator jaringan saya atau apa pun.
Espennilsen
1

Saya tidak berpikir ada cara untuk melakukan ini, tetapi mungkin Anda dapat mencoba program-program seperti FreeCap (windows), SocksCap (windows) atau proxychains (linux). Program-program ini dapat membantu Anda sedikit.

Ikan kukus
sumber
0

Tergantung OS yang Anda gunakan. Jika Anda menggunakan MacOS, ada pengaturan Proxy global yang harus digunakan oleh setiap Aplikasi, meskipun ada beberapa yang tidak menghargainya (yaitu Firefox).

Pembuat tontonan
sumber
Khususnya dengan MacOS, mempercayai pengaturan proksi global perlu diverifikasi.
chiggsy
-1

Anda juga dapat menggunakan sesuatu seperti Proxifier ( http://www.proxifier.com/ ) untuk Mac atau Windows.

Meskipun ini tidak benar-benar menjawab pertanyaan Anda.

daun mint
sumber
jawabannya tidak pada titik
Alex H