Bisakah Anda Meneruskan Port yang Sama # ke 2 Alamat IP Internal yang Berbeda?

14

Jika saya port forward port 80 UDP pada PC saya, dapatkah saya mengakses port 80 dari laptop saya yang lain?

Octocat
sumber
1
Tidak; Ketika Anda meneruskan sebuah port, Anda mengirim semua lalu lintas ke satu alamat. Jika Anda memerlukan 2 perangkat untuk menerima data pada port yang sama maka Anda perlu meneruskannya ke satu perangkat yang menghubungkan 2 perangkat tambahan tersebut ke jaringan (misalnya, misalnya router lain).
Ramhound
1
Port 8080 dapat digunakan dengan aman sebagai alternatif untuk 80 pada sistem sekunder. Jadi teruskan 80 ke PC dan 8080 ke notebook jika itu yang diperlukan untuk persyaratan Anda.
Overmind
Anda menulis "Jika saya port forward port 80 UDP pada PC saya, dapatkah saya mengakses port 80 dari laptop saya yang lain?" <--- Yah jelas kalau tidak apa gunanya port fowarding.
barlop
DI Ramhound Benar-benar ya, oke, Jadi, mengapa Anda tidak menjelaskan bagaimana Anda akan melakukannya?
barlop
1
Saya sarankan Anda menerima jawaban VL-80. Jawabannya sangat bagus. Ini menjawab apa yang Anda benar-benar tidak ada asked-- dapat berbicara bagaimana menjawab apa yang Anda dimaksudkan untuk bertanya.
David Betz

Jawaban:

14

Anda mengajukan dua pertanyaan berbeda di sini.

Bisakah Anda Meneruskan Port yang Sama # ke 2 Alamat IP Internal yang Berbeda?

Pikirkan itu. Jika sebuah paket tiba ke alamat eksternal dan UDP port 80 (dengan asumsi Anda hanya memiliki satu alamat IP eksternal), bagaimana akan tahu router Anda yang dari dua alamat IP internal harus diteruskan ke?

Jika Anda ingin meng-host dua layanan yang berbeda, Anda akan memerlukan port terpisah untuk masing-masing.

Jika saya port forward port 80 UDP pada PC saya, dapatkah saya mengakses port 80 dari laptop saya yang lain?

Iya. Port forwarding umumnya hanya memengaruhi paket yang memiliki port 80 di sisi Anda . Ketika seseorang mencoba terhubung dengan Anda, router Anda akan melihat:

  • paket masuk dari port X komputer acak lain ke port 80 Anda
  • balasan keluar dari port 80 Anda ke port X lain

Tetapi koneksi keluar (ketika Anda mengunjungi halaman web di tempat lain) akan membuatnya terbalik dari perspektif router Anda.

  • paket keluar dari port acak X Anda ke port komputer lain (server web) 80
  • balasan masuk dari port lain 80 ke port X Anda

Jadi port-forwarding tidak akan memengaruhi mereka sama sekali.

(Omong-omong, HTTP umumnya berjalan pada TCP . Hanya eksperimen QUIC Chrome yang menggunakan UDP.)

pengguna1686
sumber
Kembali " yang mana dari dua alamat IP internal yang harus diteruskan ", mengapa tidak mengirim ke server 192.168.1.100 dan server 192.168.1.101?
Pacerier
1
@Pacerier: Apa yang akan dilakukan klien ketika menerima dua balasan yang sama sekali berbeda? Itu tidak akan secara otomatis membuat dua koneksi di mana suatu program hanya meminta satu. Paling-paling, ia akan menerima satu paket balasan dan membuang yang lain, yang tidak berguna karena Anda tidak dapat menentukan server mana yang Anda inginkan ... kecuali keduanya .100 dan .101 menyediakan layanan yang persis sama (load balancing). Paling buruk, balasan kedua bahkan akan mencegah upaya koneksi pertama dari penyelesaian (misalnya jika server kedua terus menerima paket yang dimaksudkan untuk yang pertama, itu akan terus membalas dengan TCP RSTs)
user1686
1
@Pacerier: Jadi, dalam kasus penyeimbangan beban tertentu (dengan server yang hampir sama), itu bisa dilakukan - lihat jawaban VL-80 di bawah ini untuk detail lebih lanjut. Sebenarnya ada program load-balancing yang menduplikasi paket awal dan menggunakan server mana yang paling cepat untuk membalas. Tetapi jika Anda ingin meng-host dua situs web yang berbeda dengan cara itu, itu tidak akan berhasil karena browser tidak mengirim nama host situs web sampai lama setelah koneksi TCP dibuat.
user1686
4

Bisakah Anda Meneruskan Port yang Sama # ke 2 Alamat IP Internal yang Berbeda?

Ya, Anda benar-benar dapat melakukannya dengan UDP dan sedikit banyak dengan TCP .

Karena UDP adalah protokol stateless tanpa koneksi, Anda dapat mendengarkan port tertentu dan begitu paket tiba, Anda dapat menyalinnya dan mengirim ke dua tujuan internal yang berbeda. Karena tidak ada jabat tangan atau pelacakan negara, semua tujuan akan dapat menerima paket-paket itu dengan sukses. Samplicator adalah salah satu program yang dapat melakukannya untuk Anda. Perhatikan, bahwa ini bukan Port Forwarding murni sesuai definisinya.

Ini dimungkinkan untuk TCP , tetapi dengan beberapa batasan - Anda dapat mendengarkan port tertentu dan begitu paket tiba, Anda dapat meneruskannya ke host internal tertentu di pool. TCP menggunakan koneksi sehingga setelah Anda meneruskan paket awal ke host internal tertentu, sekarang perlu untuk meneruskan sisa paket dalam sesi ini ke host internal yang sama.

Dengan menggunakan teknologi ini, Anda dapat memiliki beberapa server backend yang menangani permintaan ke satu tujuan eksternal.

Jika saya port forward port 80 UDP pada PC saya, dapatkah saya mengakses port 80 dari laptop saya yang lain?

Pertanyaan ini agak tidak jelas. Jika Anda meneruskan lalu lintas dari alamat eksternal ke salah satu host internal, maka fakta ini saja tidak menghalangi Anda untuk mengakses port yang sama dari jaringan internal.

Katakanlah Anda meneruskan port 80 dari Ake B. Pada saat yang sama Cakan dapat langsung mengakses port 80 Btanpa masalah.

     A (external IP)
     |
 ---------
 |       |
 B       C
VL-80
sumber
2
Pertanyaannya adalah tentang router. Tidak ada router tingkat konsumen yang memiliki fitur penyeimbang copy / TCP UDP yang Anda jelaskan, dan tidak ada yang disebut "penerusan porta".
Jason C
4
1) Pertanyaannya tidak merinci apakah harus peralatan tingkat konsumen. 2) Terlepas dari apa yang Anda tulis, teknik yang saya jelaskan berhasil.
VL-80
2
Tidak ada router tingkat profesional yang akan memiliki fitur-fitur ini, kecuali jika paket menyertakan lebih dari sekedar router. Ini bukan port forwarding dan router tidak melakukan fungsi-fungsi ini. Pertanyaannya bertanya tentang "port forwarding" dan diberi tag router . Pikirkan tentang orang-orang yang memiliki pertanyaan yang sama, temukan, dan baca jawaban Anda, dan pertimbangkan apakah Anda membantu atau membingungkan. Bagaimanapun terminologi Anda salah.
Jason C
Anda menulis "Ini mungkin untuk TCP, ....... setelah Anda meneruskan paket awal ke host internal tertentu, sekarang perlu untuk meneruskan sisa paket dalam sesi ini ke host internal yang sama." <--- Jadi bagaimana mungkin dengan TCP? Anda menyebutkan samplicator untuk UDP, ok .. sehingga menyalinnya untuk UDP .. Tapi apa yang Anda sarankan untuk TCP?
barlop
4
Jawaban ini bagus. Saya akan mengatakan sesuatu yang serupa. Dengan UDP, ini adalah tentang multicast dan IGMP. TCP, ya, roundrobin, failover, dll ... Ya, router dapat melakukan ini - router saat ini bukanlah perangkat buta dari tahun 90-an. Pertanyaannya cukup samar untuk memungkinkan banyak bacaan, tetapi ini adalah bagaimana saya membaca qeustion juga.
David Betz
1

Anda tidak dapat meneruskan port yang sama ke beberapa IP secara bersamaan, saya bahkan belum melihat router / managed switch yang bahkan akan membiarkan Anda melakukannya tanpa mengirim kembali pesan kesalahan konfigurasi. Anda dapat mengaturnya untuk beberapa IP tetapi hanya satu dari aturan penerusan yang dapat diaktifkan pada suatu waktu. Jadi Anda dapat menonaktifkan satu mengaktifkan yang lain dan sebaliknya, tetapi itu adalah pemborosan. Anda hanya perlu khawatir tentang penerusan port jika Anda ingin mengakses port / layanan tertentu pada komputer LAN melalui alamat IP eksternal itu. Katakanlah jika Anda ingin menjalankan 2 server web pada 2 PC LAN Anda dan dapat mengakses keduanya sepanjang waktu, cara termudah untuk melakukannya adalah mengubah port layanan, ada yang mendengarkan port 80, dan yang lainnya pada 8080 atau port yang Anda inginkan. 99% layanan akan memungkinkan Anda menjadi tuan rumah / mendengarkan port apa pun yang Anda inginkan. Jika Anda tidak menentukan port, port tersebut akan kembali ke default layanan. Ada cara lain yang lebih maju dalam melakukan sesuatu tetapi ini adalah cara paling sederhana, dan metode canggih tidak dianggap atau disebut "Port Forwarding" siapa pun yang mengatakan kebutuhan berbeda untuk kembali ke sekolah jaringan.

JohnRB
sumber
1
"Saya bahkan belum melihat router / switch yang dikelola yang bahkan akan membiarkan Anda melakukan itu ..." - Router Technicolor TC7200.U kelas konsumen akan memungkinkan Anda menambahkan konfigurasi penerusan untuk port yang sama ke berbagai alamat IP. Saya tidak yakin apakah itu benar-benar maju.
Jonathan Cross
-2

Pikirkan itu. Jika sebuah paket tiba ke alamat eksternal Anda dan port UDP 80 (dengan asumsi Anda hanya memiliki satu alamat IP eksternal), bagaimana router Anda tahu dari dua alamat IP internal yang harus diteruskan?

Jika Anda ingin meng-host dua layanan yang berbeda, Anda akan memerlukan port terpisah untuk masing-masing.

Bagaimana router Anda tahu untuk meneruskan alamat? Karena NAT.

Jika Anda membeli domain, Anda dapat menetapkan nama Domain itu sebagai nama komputer dan nama NETBIOS Anda.

Misalnya 2 komputer yang berbeda yang meng-hosting situs web pada internal yang berbeda tetapi pada port eksternal yang sama harus dinamai setelah domain atau Anda harus mengatur server DNS internal Anda dengan kedua domain IP internal ditambahkan ke catatan itu yang terhubung ke router dan setiap kali seseorang mencoba untuk terhubung ke nama domain (bukan alamat IP publik) router NAT akan meneruskan koneksi yang sesuai.

Anda tidak dapat meneruskan port yang persis sama ke beberapa IP di jaringan yang sama, tetapi Anda dapat menggunakan port eksternal yang sama selama port internal berbeda, begitu juga sebaliknya ketika berbicara tentang lalu lintas jaringan keluar

pengguna241367
sumber
Tolong jangan menyalin jawaban lain.
Scott