본문 바로가기

Network/_Networking

포트포워딩(Port Forwarding)

개념 :

포트 포워딩이란 특정 포트(Port)를 개방해주어 통신이 가능하게 해주는것입니다.
애초에 모든 포트를 개방했다면 포트 포워딩이 필요하지 않겠죠.
하지만 이럴 경우 보안상의 많은 위협에 노출이 될 수 있습니다.

따라서 대부분 방화벽을 사용합니다. 허용된 포트만 개방하여 통신하는 것이죠.
어떤 에플리케이션을 사용할 시에 그 에플리케이션에서 사용하는 포트를 개방해야 합니다.
(에플리케이션 설치시에 자동으로 사용할 포트를 열기도 합니다)



설정 :

1. 공유기를 사용하지 않을 경우 :

이 경우에는 윈도우 방화벽에서만 설정해주면 OK 입니다.
'Windows 방화벽 -> 예외 -> 프로그램 추가' 에서 해당 프로그램을 클릭하시면 그 프로그램이 사용하는 포트를 개방하게 됩니다.
(간혹 이렇게 해서 안되는 경우도 있습니다 그럴 경우엔 TCP view로 그 포로그램이 사용하는포트를 분석해서 포트 추가에서 직접 포트를 열어주면 됩니다.
TCP view 참조 : http://dakuo.tistory.com/22)


2. 공유기를 사용하는 경우 :

이경우에는 공유기에서도 포트포워딩을 설정해주어야 합니다.
그 이유는
예를 들어, A, B 컴퓨터가 P 공유기를 사용하고 있고 C 컴퓨터와 포트 1000으로 통신을 한다고 생각을 해봅시다.

C 컴퓨터(외부)에서 보면 A, B 컴퓨터는 보이지 않습니다. 오직 P 컴퓨터(공유기)만 보이게 됩니다. 하나의 IP(공인 IP)를 공유기가 A, B 컴퓨터(내부네트워크)에게 공유기 자신이 설정해놓은 IP(사설 IP)를 나눠주기 때문입니다.(이 IP는 인터넷 제공업체(메가패스, 파워콤 등)는
모르죠) 게다가 공유기 자체의 방화벽 때문이어도 A 컴퓨터에 도달하지 못하게 됩니다.
즉 C 컴퓨터가 보낸 통신이 P 공유기에서 끝나게 되는 것이죠

따라서 C 컴퓨터에서 1000포트로 A 컴퓨터와 통신을 하기 위해선 P 공유기가 이 포트에 대한 통신을 A 컴퓨터로 보내줘야 합니다.(A -> C로 가는건 문제가 없습니다)

시작->실행->cmd->ipconfig 입력 
Default Gateway 주소를 인터넷 주소창에 칩니다. (공유기 주소)
여기서 포트포워딩을 설정해줍니다.(해당 포트에 대한 통신을 필요한 컴퓨터로 보내줍니다)

(다른 공유기도 마찬가지로 설정페이지에 들어가신 후에 NAT/라우터 관리 -> 포트포워딩 을 클릭하신 후
포로토콜(protocol), 포트, 연결할 IP주소를 설정해주시면 됩니다)

자 이젠 C 컴퓨터에서 1000 포트에 대해 통신하면 P 공유기가 받아서 A 컴퓨터로 보내줍니다
하지만 A 컴퓨터의 Windows 방화벽에 의해 막힙니다. 여기까지 개방해주면 비로소 통신이 가능하게 됩니다.