일반

Windows에서 포트 포워딩(Port Forwarding) 설정하기 - Netsh

Posted 2018. 01. 26 Updated 2018. 02. 03 Views 64879 Replies 0
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

포트 포워딩(Port Forwarding)이란 특정 Port로 들어오는 패킷을 다른 Port로 바꿔서 재전송해 주는 기능으로, 일종의 터널링(Tunneling)에 해당합니다.

이를 활용하면 패킷에 기재된 포트번호에 따라 서로 다른 Host로 연결시켜줄 수 있고, 외부에서 직접 접근이 불가능한 내부 네트워크에 있는 Host와의 연결을 중계(Relaying)하는 용도로도 활용할 수 있습니다.

흔히 포트 포워딩은 인터넷 공유기에서 주로 설정하곤 하지만, Windows에서도 명령 한줄로 간단하게 포트 포워딩 설정을 할 수 있습니다.

다만, 현재는 TCP만 지원하며, UDP 패킷을 포워딩하기 위해서는 별도의 포트 포워딩 서버를 설치해서 사용해야 합니다.

참고로, 포트 포워딩은 그 개념상 OSI 7 Layer중 Transport Layer까지만 건드리기 때문에 그 상위 계층에 포함된 정보를 가지고 뭔가를 하고 싶다면 다른 솔루션을 사용해야 합니다.

예를 들어, HTTP 패킷에 기재된 Host명에 따라 서로 다른 IP/Port로 전달을 하고 싶다면, Nginx와 같은 웹 서버를 설치해서 Proxy Server를 구축해야 합니다.

 

※ 이후 설명하는 명령을 명령 프롬포트(CMD)를 관리자 권한으로 실행하고 입력해야 동작합니다.

 

포트 포워딩 설정하기

다음 명령은 127.0.0.1:8022로 들어오는 패킷을 192.168.100.1:22로 포워딩하도록 설정합니다.

netsh interface portproxy add v4tov4 listenport=8022 listenaddress=127.0.0.1 connectport=22 connectaddress=192.168.100.1

 

포트 포워딩 해제하기

다음 명령은 127.0.0.1:8022로 들어오는 패킷에 대한 포트 포워딩 설정을 해제합니다.

netsh interface portproxy delete v4tov4 listenport=8022 listenaddress=127.0.0.1

 

포트 포워딩 목록 확인하기

다음 명령으로 등록된 IPv4 to IPv4 포트 포워딩 목록을 확인할 수 있습니다.

netsh interface portproxy show v4tov4