Saya dapat menggunakan komputer di rumah saya A untuk terhubung dengan SSH ke server B di mana akses ke jaringan eksternal diblokir. Dengan kata lain, semua permintaan ke Internet dari B melempar kesalahan: Jaringan tidak dapat dijangkau . Dapatkah saya mengalihkan semua permintaan ini untuk melewati komputer A yang memiliki akses tidak terbatas ke Internet?
Server B adalah server yang menampung salah satu situs web saya. Saya ingin mengunduh file untuk menginstal beberapa perangkat lunak. Tetapi koneksi diblokir. Saya bisa mentransfer file tapi itu rumit karena versi perangkat lunak yang berbeda pada A dan B , sehingga ketergantungan mana yang berbeda dan itu diperlukan file yang berbeda pada A dan B .
Saya mencari di Internet dan sepertinya saya perlu terowongan terbalik. Tapi saya hanya menemukan solusi di mana port diarahkan . Tapi itu bukan yang saya butuhkan karena saya tidak ingin B mengakses A tetapi ke Internet.
Jawaban:
Anda dapat menjalankan proksi di Komputer A yang akan disambungkan oleh komputer B agar dapat mengakses internet melalui Komputer A.
Sesuatu seperti ini
Instal proxy seperti squid di A yang mendengarkan pada port 3128, dan kemudian Anda dapat ssh ke server dengan ini -
ssh -L 3128:127.0.0.1:3128 user@B
Itu akan memungkinkan B untuk mengakses internet melalui A
sumber
Hanya menambahkan beberapa langkah yang lebih jelas ke jawaban @Lawrence dan @ SpiRail.
Lakukan pengaturan sebagai berikut:
Pengaturan pada Host A:
yum install squid
http_access deny all
lalu tambahkanhttp_access allow all
di /etc/squid/squid.conf/etc/squid/squid.conf
sebagai berikut:Pengaturan pada Host B:
source /etc/environment
Sekarang pengaturan kami selesai.
Membuat terowongan SSH dengan penerusan port jarak jauh
Jalankan perintah SSH berikut dari Host A
ssh -R 3129:localhost:3128 user@HostB
Jika Anda ingin membuat terowongan SSH persisten, Anda dapat menggunakan autossh sebagai berikut:
autossh -M 20000 -f -NT -R 3129:localhost:3128 user@HostB
Agar perintah autossh di atas berfungsi, Anda harus mengatur SSH Keys dari HostA ke HostB.
Memeriksa internet:
wget https://google.com
Diagram arus lalu lintas :
sumber
@Lawrence menjawab cukup baik bagi saya untuk menyelesaikan semuanya. Tapi di sini ada langkah-langkah lebih rinci yang saya gunakan.
Saya menggunakan ini untuk menggunakan laptop saya dong dong 4g untuk merutekan internet ke raspberry pi dengan sambungan telepon tidak bergerak ke router wifi.
Jika host Anda adalah mac: instal squidman http://squidman.net/squidman/
(bukan hanya cumi-cumi generik, saya mengalami terlalu banyak masalah dengan membangunnya) Pengaturan default tampak cukup baik bagi saya.
sambungkan ke 4g sambungkan ke wifi - konfigurasikan ip statis di wifi Anda dan hapus alamat gateway (kecuali jika Anda melakukan hal-hal lanjutan) jika tidak, Anda mendapatkan dua rute default dan sangat mengganggu. - pastikan router wifi Anda tidak menggunakan rentang 192.168.xy yang sama (konfigurasikan "x" yang berbeda dalam kasus ini)
Di PI
dengan visudo tambahkan teks:
Sekarang wget akan berfungsi dan sudo apt-get sehingga Anda dapat menginstal paket.
Jika Anda ingin git juga ada di sini: /programming/128035/how-do-i-pull-from-a-git-repository-through-an-http-proxy
sumber
visudo
disini? Di mana Anda menambahkan teks? (Saya tidak bisa menggunakansudo
hosting Web saya)