Saya ingin menggunakan Raspberry Pi di pondok akhir pekan saya. Raspberry Pi ada di sana untuk mencatat suhu dan mengirimkannya ke server jauh yang memiliki ip tetap, menyimpan data, dan menampilkannya di situs web sederhana.
Namun situasi mungkin muncul bahwa saya ingin mengubah sesuatu pada Raspberry Pi. Misalnya pembaruan sistem atau perubahan pada program yang mengirimkan data ke server atau apa pun.
Dengan pengaturan yang disarankan, saya tidak akan dapat terhubung ke Raspberry Pi dari luar LAN-nya.
CATATAN: Saya tidak ingin mengubah jaringan, dan router yang ada tidak memiliki kemampuan untuk penerusan port, dynDNS atau VPN.
Saya baru-baru ini membaca tentang lubang meninju UDP. Ide dasarnya adalah, bahwa klien mengirim Paket UDP ke alamat server yang dikenal (yaitu dengan IP publik atau dinDNS diaktifkan). Klien B yang ingin terhubung ke klien A meminta server untuk IP publik dan nomor Port klien A.
Kemudian dapat terhubung ke klien A secara langsung pada IP publik dan porta yang dinamis. Karena klien A pertama terhubung ke server pada port yang sekarang digunakan, NAT akan meneruskan paket ke klien A.
Saya harap saya merangkum ide dengan benar, lebih atau kurang ...
Ini kedengarannya bagus, tetapi masalahnya adalah, ini tidak dijamin untuk bekerja dengan koneksi TCP, karena router dapat "memahami" jabat tangan koneksi TCP dan jika tidak dibangun dengan benar, itu tidak akan meneruskan paket.
Jadi, bagaimana saya bisa membuka Sesi SSH dari klien B ke klien A, tanpa klien A duduk di belakang router dengan dynDNS, memperbaiki IP publik atau kemampuan untuk penerusan porta? Penggunaan server pusat dengan publik, memperbaiki IP atau nama domain mungkin sulit.
sumber
-w
tetapi dia mengatakan udp lebih dari tcp (mungkin dengan itu dia termasuk segala upaya untuk meneruskan udp dengan ssh), melibatkan masalah seperti latensi tinggi, dan pengiriman ulang barang yang tidak Anda inginkan lagi. Saya kira ini masih merupakan hal yang menarik untuk dicoba. Saya melihat vpn ini melalui ssh dan -w yang disebutkan di sini juga wiki.archlinux.org/index.php/VPN_over_SSHJawaban:
pwnat
Sumber: http://samy.pl/pwnat.pdf
https://github.com/samyk/pwnat
sumber
Berikut adalah beberapa solusi:
Anda dapat mengatur Raspberry Pi Anda untuk terhubung kembali ke server OpenVPN dan Anda akan memiliki akses ke sana sepanjang waktu.
Anda dapat melihat PageKite. Periksa https://pagekite.net/wiki/Howto/SshOverPageKite/
sumber
Ini adalah solusi yang agak kotor tapi mudah, tetapi bagaimana dengan menggunakan netcat? Pada Raspberry Pi Anda dapat membuat skrip yang mengulang perintah:
Di host lokal Anda, lakukan:
Dan:
Anda bisa mengetikkan perintah di instance pertama dan melihat respons di yang kedua.
sumber