Windows 7 dengan redirection port internal, apakah mungkin?

9

Saya menerima permintaan dari salah satu pengembang kami bahwa saya mengalami masalah penyelesaian.

Di sini, di kantor mereka menggunakan desktop linux dan saya dapat meneruskan localhost: 80 via iptables nat ke localhost: 8080. Apa yang mereka inginkan adalah hal yang sama di rumah di windows 7.

Saya mendapatkan apa yang saya pikir adalah dua cara untuk melakukan hal ini. Satu untuk mengkonfigurasi ulang server web jboss dan semua url webapps (berantakan). Yang lain adalah menemukan cara untuk mengarahkan ulang / nat port localhost 8080 ke port 80. Meskipun di windows 7 saya tidak yakin bagaimana melakukan ini.

Adakah yang punya ide tentang bagaimana melakukan yang kedua?

bavenport
sumber

Jawaban:

6

AFAIK, Win7 tidak memiliki setara iptables. Menulis server yang melakukan apa yang Anda inginkan (mendengarkan pada port, menyalin segalanya ke / dari yang lain) harus cukup mudah. Anda dapat menemukannya di URL ini: http://www.quantumg.net/portforward.php (belum diuji). Menggunakan proxy terbalik (Google adalah teman Anda) mungkin sesuai dengan tagihan untuk lalu lintas seperti http. Juga periksa pos ini: /programming/3721000/port-forwarding-on-windows-7

Bentuk Kehidupan Alien
sumber
Doh, saya merasa seperti boneka sekarang, lupa dengan istilah reverse proxy. Begitu saya bisa memilih saya akan untuk Anda.
bdavenport
12

Ya, windows memang memiliki iptables yang setara, yaitu melalui tool netsh dan antarmuka portproxy .

Perintah untuk melakukan apa yang Anda inginkan adalah

netsh interface portproxy add v4tov4 listenaddress=YOUR_IP_HERE listenport=8080 connectaddress=YOUR_IP_HERE connectport=80 

Perhatikan, bahwa ini hanya akan melakukan koneksi IPv4, jika Anda juga ingin meneruskan koneksi IPv6 Anda juga perlu melakukannya

netsh interface portproxy add v6tov6 listenaddress=YOUR_IP_HERE listenport=8080 connectaddress=YOUR_IP_HERE connectport=80
Scott Chamberlain
sumber
Apakah ini persisten di seluruh reboot? Juga perintah tidak valid, karena saya mendapatkan kesalahan: "satu atau lebih parameter penting tidak didefinisikan"
sorin
@ Atau tetap ada, saya menggunakan ini dalam sistem di mana saya mengarahkan RDP dari port standar ke port tidak standar dan saya hanya perlu menjalankan perintah ini sekali ketika saya sedang menyiapkan VM baru. Adapun kesalahan, Anda benar saya lupa parameter untuk alamat (Yang saya lihat Anda diperbaiki, terima kasih!)
Scott Chamberlain
Saya malah menggunakan add v4tov4 listenport=80 connectaddress=127.0.0.1 connectport=8080Asumsikan Anda ingin mendengarkan pada port 80 dan mengarahkan ke server non-ditinggikan berjalan pada 8080, Anda perlu beralih mendengarkan dan menghubungkan port. Jika Anda ingin menanggapi permintaan IP jaringan dan host lokal, lepaskan alamat dengar. Dan Anda dapat mengarahkan ulang ke 127.0.0.1 untuk menghindari hardcoding alamat IP Anda.
Carl Walsh
Perintah lain yang bermanfaat dijelaskan dalam dokumen Microsoft: docs.microsoft.com/en-us/windows-server/networking/technologies/… misalnya, untuk membuat daftar portproxy saat ini ( netsh interface portproxy show v4tov4) atau untuk menghapus postproxy ( netsh interface portproxy delete v4tov4 listenaddress=localhost listenport=80)
neXus
0

Saya pikir Windows tidak memiliki iptables yang setara. Perintah

netsh interface portproxy ...

lakukan proxy port tetapi tidak meneruskan paket. Perbedaan utamanya adalah

Kami telah menggunakan teknik ini untuk penerusan porta tetapi setelah penemuan itu kami harus menggunakan aturan tambahan pada firewall jaringan untuk menghindari penggunaan netsh.

Martin
sumber