port forwarding di windows


262

Saya memiliki dua papan jaringan di pc saya:

Yang utama memiliki ip lokal -> 192.168.1.111 Yang kedua memiliki ip lokal -> 192.168.0.200

Yang utama memiliki koneksi internet dan yang kedua terhubung ke perangkat dengan IP 192.168.0.33, ia memiliki server http di port 80.

Saya memiliki server-apache di koneksi utama (port 4422), dan saya dapat mengakses dari mana saja, yang saya inginkan sekarang adalah ketika saya mendeteksi koneksi dari 4422 saya ingin mengarahkan kembali koneksi ini ke 192.168.2.33:80

Bagaimana saya bisa melakukan ini dengan windows?


Informasi lebih lanjut dapat ditemukan di sini. technet.microsoft.com/en-us/library/cc731068(v=ws.10).aspx
Shankar Damodaran

Jawaban:


507

Saya sudah menyelesaikannya, bisa dilakukan mengeksekusi:

netsh interface portproxy add v4tov4 listenport=4422 listenaddress=192.168.1.111 connectport=80 connectaddress=192.168.0.33

Untuk menghapus penerusan:

netsh interface portproxy delete v4tov4 listenport=4422 listenaddress=192.168.1.111

Dokumen resmi


21
Pastikan untuk menginstal IPv6. Sehubungan dengan artikel MS KB ini , netsh memerlukan beberapa pustaka IPv6 untuk mengkonfigurasi fitur proxy port.
Renan Mozone

10
Anda juga dapat melakukan pembersihan menggunakan netsh interface portproxy resetatau netsh interface portproxy delete
patrikbeno

7
Saya mencoba menggunakan teknik ini, dan sementara itu berhasil, itu sangat lambat. Sebagai gantinya. Saya menemukan sebuah utilitas bernama PassPort ( sourceforge.net/projects/pjs-passport ) yang melakukan jenis port forwarding yang sama dengan NIC tertentu, tetapi tidak memiliki masalah kinerja netsh. Menginstal dan berjalan dengan baik di Win2008SvrR2.
James L.

14
Perintah di atas tidak berfungsi untuk saya di Windows7 atau Windows Server 2003. Saya juga harus menentukan protokol = tcp parameter. Perintah lengkap:netsh interface portproxy add v4tov4 listenport=4422 listenaddress=192.168.1.111 connectport=80 connectaddress=192.168.0.33 protocol=tcp
alwi

3
Perhatikan bahwa ini hanya berfungsi pada TCP , jadi tidak berhasil jika Anda ingin meneruskan lalu lintas UDP.
user276648

14

nginx berguna untuk meneruskan HTTP pada banyak platform termasuk Windows. Sangat mudah untuk mengatur dan memperluas dengan konfigurasi yang lebih maju. Konfigurasi dasar dapat terlihat seperti ini:

events {}

http {
     server {

        listen 192.168.1.111:4422;

        location / {
            proxy_pass http://192.168.2.33:80/;
        }
     }
}

14
Ini adalah solusi yang bagus untuk penerusan HTTP, tetapi hanya untuk penerusan HTTP (dengan semua peringatannya, mis. Websockets memerlukan konfigurasi tambahan). Untuk penerusan HTTPS atau protokol sewenang-wenang lainnya (misalnya RDP) sebagian besar tidak berguna.
Uli Köhler

2
Yang mengatakan, ini adalah solusi yang sangat bagus untuk penerusan HTTP, jadi saya senang ada di sini.
Casey

Mengapa demikian? Anda dapat melakukan streaming apa pun yang Anda suka, termasuk https
user1156544

@ aja pengaturan mana yang Anda pilih ... Ini akan berguna untuk dibagikan
user3787216

1
@ UliKöhler Nginx adalah alat untuk memisahkan koneksi TCP. Anda dapat menggunakannya untuk HTTP, HTTPS, AMQP, WebSockets, apa pun. Ini digunakan secara internal oleh alat di seluruh untuk mengarahkan dan mengelola konektivitas TCP umum. Jadi, ini solusi yang tepat. Lihat juga netfxharmonics.com/2016/03/nginx
David Betz

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.