윈도우에서 포트 포워딩


262

내 PC에는 두 개의 네트워크 보드가 있습니다.

주 포트에는 로컬 IP-> 192.168.1.111이 있고 보조 포트에는 로컬 IP-> 192.168.0.200이 있습니다.

기본 연결은 인터넷에 연결되어 있고 두 번째 연결은 IP 192.168.0.33의 장치에 연결되어 있으며 포트 80에 http 서버가 있습니다.

기본 연결 (포트 4422)에 아파치 서버가 있고 어디에서나 액세스 할 수 있습니다. 지금 원하는 것은 4422에서 연결을 감지하면이 연결을 192.168.2.33:80으로 리디렉션하고 싶습니다.

창문으로 어떻게 할 수 있습니까?


답변:


507

나는 그것을 해결했다, 그것은 실행될 수있다 :

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

전달을 제거하려면

netsh interface portproxy delete v4tov4 listenport=4422 listenaddress=192.168.1.111

공식 문서


21
IPv6이 설치되어 있는지 확인하십시오. 이 MS KB 기사 에 따르면 netsh는 포트 프록시 기능을 구성하기 위해 IPv6 라이브러리가 필요합니다.
Renan Mozone

10
또한, 사용 정리 작업을 수행 할 수 있습니다 netsh interface portproxy reset또는 netsh interface portproxy delete
patrikbeno

7
나는이 기술을 사용해 보았지만 효과가 있었지만 매우 느 렸습니다. 대신에. 특정 NIC에 바인딩 된 동일한 유형의 포트 전달을 수행하지만 성능 문제가없는 PassPort ( sourceforge.net/projects/pjs-passport ) 유틸리티를 찾았습니다 netsh. Win2008SvrR2에서 잘 설치되고 실행됩니다.
James L.

14
위의 명령은 Windows7 또는 Windows Server 2003에서 작동하지 않았습니다. protocol = tcp 매개 변수도 지정해야했습니다 . 전체 명령 :netsh interface portproxy add v4tov4 listenport=4422 listenaddress=192.168.1.111 connectport=80 connectaddress=192.168.0.33 protocol=tcp
alwi

3
이것은 TCP에서만 작동 하므로 UDP 트래픽을 전달하려는 경우 운이 없습니다.
user276648

14

nginx 는 Windows를 포함한 많은 플랫폼에서 HTTP를 전달하는 데 유용합니다. 보다 고급 구성으로 설정 및 확장이 쉽습니다. 기본 구성은 다음과 같습니다.

events {}

http {
     server {

        listen 192.168.1.111:4422;

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

14
이는 HTTP 전달에는 좋은 솔루션이지만 HTTP 전달에만 해당됩니다 (예 : 웹 소켓의 경우 추가 구성이 필요함). HTTPS 전달 또는 기타 임의 프로토콜 (예 : RDP)의 경우 대부분 쓸모가 없습니다.
Uli Köhler

2
즉, HTTP 전달을위한 매우 좋은 솔루션이므로 여기에있어서 기쁩니다.
Casey

왜 그런 겁니까? https를 포함하여 원하는 모든 것을 스트리밍 할 수 있습니다
user1156544

@uli 설정이 당신에 대해 tolking 않는 ... 그것은 공유에 유용 할 것이다
user3787216

1
@ UliKöhler Nginx는 TCP 연결을 분리하는 도구입니다. HTTP, HTTPS, AMQP, WebSockets 등에 사용할 수 있습니다. 일반적인 TCP 연결을 리디렉션하고 관리하기 위해 모든 도구에서 내부적으로 사용됩니다. 따라서 이것이 올바른 해결책입니다. netfxharmonics.com/2016/03/nginx
David Betz

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.