Baru-baru ini saya "membeli" VPS yang ingin saya gunakan sebagai Proxy untuk dapat menggunakan beberapa situs dan hal-hal yang tidak dapat saya jangkau dari Jerman.
Karena saya masih terlalu malas untuk mengatur Squid dan OpenVPN (yang saat ini saya pikir diperlukan) saya menggunakan ssh-tunneling.
Sekarang setelah beberapa minggu saya bertanya pada diri sendiri apakah ssh-tunneling tidak baik-baik saja, atau - dan itu adalah pertanyaan saya - apakah ada peringatan / kontra / kekurangan yang perlu saya pikirkan?
ssh
proxy
ssh-tunneling
Nils Riedemann
sumber
sumber
Jawaban:
Masalah kinerja muncul ketika Anda melakukan tunneling TCP melalui TCP karena Anda memiliki dua lapisan yang melakukan koreksi adaptif (mulai lambat, penghindaran kemacetan, transmisi cepat lihat RFC2001 ).
Tidak bieng menyadari satu sama lain mereka akan mengalami kesulitan besar jika Anda memiliki kehilangan pada koneksi luar.
Halaman ini menjelaskan fenomena secara rinci.
edit:
Daripada bertahan dengan masalah TCP over TCP lihatlah sshuttle yang mencegahnya.
Lihat bagian bernama " Teori Operasi " untuk detail lebih lanjut tentang situasi ini.
sumber
tun/tap
tunneling yang menghasilkan tcp-over-tcp. SOCKSv5 tidak mengalami masalah yang sama tetapi tidak bekerja secara transparan dengan semua aplikasi (sementara tun / tap hanyalah antarmuka jaringan lain sehingga dapat ditangani secara transparan).Satu hal yang dapat saya pikirkan adalah kinerja. Tapi itu benar-benar tergantung pada hal-hal seperti apa yang Anda tunneling.
sumber
Biasanya saya telah menemukan bahwa latensi meningkat tetapi throughput baik-baik saja (90%) normal dengan tunneling SSH. Pastikan untuk mengatur
ServerAliveInterval
agar tidak terputus, dan bungkus dalam skrip untuk terus memulai ulang terowongan pada kegagalan.Kelemahan utama adalah terowongan port per-TCP, kecuali jika Anda menggunakan SOCKS. SOCKS baik-baik saja tetapi latensi tampaknya semakin meningkat dengan itu, dan tentu saja, tidak setiap klien mendukung SOCKS.
Anda mungkin perlu berjalan
GatewayPorts
di klien atau server SSH untuk memungkinkan orang lain terhubung melalui terowongan Anda. Di server ini memerlukan akses root ke sshd_config.Peringatan kinerja utama (seperti yang dicatat orang lain) adalah bahwa koneksi yang tidak dapat diandalkan kemungkinan tidak berjalan baik dengan pendekatan ini, karena algoritma TCP tidak bereaksi dengan baik di bawah enkapsulasi.
Yang mengatakan, SSH tampaknya "melakukan hal yang benar" sebagian besar waktu.
sumber