informasi kontak saya
Surat[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Port Mapping, juga dikenal sebagai Port Forwarding, adalah teknologi yang mengalihkan aliran data dari satu port jaringan ke port jaringan lainnya. Ini biasanya digunakan untuk layanan yang berjalan di belakang firewall atau router, yang memungkinkan perangkat eksternal mengakses layanan tertentu dalam jaringan internal. Pemetaan port dapat dilakukan dalam jaringan lokal atau lintas jaringan, menggunakan protokol seperti SSH.
Penerusan Pelabuhan Lokal:
8080
dipetakan ke server jauh80
port sehingga dapat diteruskan secara lokallocalhost:8080
Akses layanan web server jarak jauh.Penerusan Port Jarak Jauh:
2222
Pemetaan port ke komputer lokal22
port sehingga layanan SSH komputer lokal dapat diakses melalui server jarak jauh.Penerusan Port Dinamis:
Akses jarak jauh ke layanan internal: Melalui pemetaan port, layanan tertentu dalam jaringan perusahaan atau rumah dapat diakses dari jaringan eksternal, seperti server web, server database, dll.
Menembus firewall: Melalui pemetaan port, Anda dapat melewati batasan firewall dan mengakses layanan yang diblokir oleh firewall.
Meningkatkan keamanan: Pemetaan port melalui terowongan SSH dapat mengenkripsi transmisi data dan meningkatkan keamanan.
Penyeimbangan beban dan proxy: Penyeimbang beban dan server proksi sering kali menggunakan teknologi pemetaan port untuk mendistribusikan dan meneruskan lalu lintas guna meningkatkan keandalan dan kinerja layanan.
Misalkan ada layanan web yang berjalan di server jarak jauh, dan port yang mendengarkannya adalah80
. Untuk mengakses layanan ini dari komputer lokal Anda, buat pemetaan port lokal menggunakan perintah SSH berikut:
ssh -L 8080:localhost:80 user@remote-server
Perintah ini akan mengubah komputer lokal8080
Pemetaan port ke server jauh80
pelabuhan.Sekarang, akses di browser lokal Andahttp://localhost:8080
, yang setara dengan mengakses layanan Web dari server jarak jauh.
Ada beberapa alasan utama untuk melakukan pemetaan port (atau penerusan port) selama pengembangan:
Akses layanan yang dilindungi: Beberapa layanan pada mesin pengembangan mungkin hanya mendengarkan di localhost (127.0.0.1
) dan tidak dapat diakses langsung dari luar. Melalui pemetaan pelabuhan, layanan-layanan ini dapat diekspos dan diakses dari luar.
keamanan : Penerusan port melalui terowongan SSH memungkinkan akses aman ke layanan internal tanpa mengekspos layanan secara langsung. Terowongan SSH mengenkripsi transmisi data untuk keamanan tambahan.
Mudah untuk di-debug : Selama proses pengembangan, pengembang mungkin perlu mengakses beberapa layanan yang berjalan di mesin pengembangan. Dengan pemetaan port, layanan ini dapat diakses langsung dari lokal tanpa harus login ke mesin pengembangan setiap saat.
Lewati firewall atau batasan jaringan : Di beberapa lingkungan jaringan, mungkin terdapat firewall atau pembatasan jaringan yang mencegah akses langsung ke layanan pada mesin pengembangan. Melalui terowongan SSH, pembatasan ini dapat dilewati dan akses ke layanan dapat dicapai.
Akses banyak pengguna: Jika beberapa pengembang perlu mengakses layanan yang sama, pemetaan port memungkinkan setiap pengembang mengakses layanan di lingkungan lokal mereka sendiri tanpa masuk langsung ke mesin pengembangan.
Misalnya:
Misalkan Anda memiliki server Notebook Jupyter yang berjalan di mesin pengembangan Anda. Server ini mendengarkan pada port 7860 tetapi hanya mengizinkan akses lokal. Melalui perintah SSH berikut, Anda dapat memetakan port 7860 mesin pengembangan ke port 7860 lokal Anda:
ssh -p 37367 [email protected] -CNg -L 7860:127.0.0.1:7860 -o StrictHostKeyChecking=no
Dengan cara ini, Anda dapat mengaksesnya di browser lokal Anda http://127.0.0.1:7860
untuk melihat dan menggunakan server Jupyter Notebook di mesin pengembangan Anda.
Mesin pengembangan memiliki miliknya sendiripelabuhan terbukaDanIP Publik, dapat digunakan untuk koneksi ssh lokal kita
Namun dalam mesin pengembangan, yaitu serverJalankan programKapan, programnya ada di serverpada port tertentuSedang berlangsung
Jadi jika kita ingin melihat efek berjalannya program di server lokal, kita perlu membuatnyaPemetaan Pelabuhan, saat browser membuka port lokal, teruskan ke port server untuk dilihat.
ssh -p 37367 [email protected] -CNg -L {本地机器_PORT}:127.0.0.1:{开发机_PORT} -o StrictHostKeyChecking=no
Misalnya:
ssh -p 37367 [email protected] -CNg -L 7860:127.0.0.1:7860 -o StrictHostKeyChecking=no
Perintah ini digunakan untuk membuat terowongan SSH. Berikut penjelasan detail masing-masing bagiannya:
ssh
: Perintah yang digunakan untuk memulai koneksi SSH.-p 37367
: Tentukan nomor port host jarak jauh yang akan dihubungkan (port 37367 dalam contoh ini).[email protected]
: Nama pengguna (root) dan nama host (ssh.intern-ai.org.cn).-CNg
: Kombinasi opsi: -C
: Aktifkan kompresi.-N
: Beritahu SSH untuk tidak menjalankan perintah jarak jauh, hanya penerusan porta.-g
: Izinkan host jarak jauh untuk terhubung ke port yang diteruskan.-L 7860:127.0.0.1:7860
: Melakukan penerusan port lokal dan memetakan port 7860 dari mesin lokal ke port 7860 dari 127.0.0.1 dari host jarak jauh.-o StrictHostKeyChecking=no
: Nonaktifkan pemeriksaan kunci host, yang mencegah perintah interaktif saat menghubungkan untuk pertama kalinya.Singkatnya, perintah ini akan membuat terowongan SSH antara mesin lokal dan host jarak jauh, meneruskan port lokal 7860 ke port host jarak jauh 7860, dan tidak akan menjalankan perintah jarak jauh atau memeriksa kunci host.
Seperti yang ditunjukkan di bawah ini:
Setelah pemetaan port, program yang berjalan pada port server 7860 ditampilkan.