포트포워딩이라는 용어는 집에 공유기를 사용하신다면 한번 쯤 들어보셨으리라 생각합니다. 저는 ipTIME N6004 모델을 사용하고 있는데 집에 컴퓨터가 2대 있기 때문에 포트포워딩 기능을 적절히 활용하고 있습니다.


이 포트포워딩 기능은 NAT 환경에서 꼭 필요합니다. NAT란 Network Address Translation의 약자인데, 간단히 설명하자면 사설 IP와 공인 IP를 서로 변환해주는 기능이라 보시면 됩니다. 예를 들어 현재 제가 이 글을 쓰고 있는 PC의 IP는 192.168.0.2입니다. ipTIME 공유기가 DHCP 기능으로 내부 네트워크에 할당해준 사설 IP입니다. 그런데 실제로 제 PC는 공인 IP를 모릅니다. 공인 IP는 공유기가 가지고 있습니다. 제가 인터넷을 할 때는 공유기를 통해 밖으로 나가고, 공유기에서 이 PC의 IP인 192.168.0.2를 공인 IP인 119.196.x.x로 변환해줍니다.

반대로 외부에서 제 PC를 바라볼 때는 어떨까요? 마찬가지로 외부에서는 제 PC를 절대로 바라볼 수 없습니다. 오로지 공유기만 바라볼 수 있습니다. 왜냐하면 공유기가 공인 IP를 가지고 있기 때문입니다. 실제 제 PC는 사설 IP만 가지고 있기 때문에 외부에서 절대로 접속할 수 없습니다.

만약 외부에서 제 PC로 접속하고 싶다면 어떻게 해야 할까요? ipTIME 공유기에서는 3가지 방법을 제공합니다. 바로 포트포워딩, DMZ, Twin IP 입니다.

포트포워딩은 특정 포트를 지정해서 들어오는 패킷을 내부 PC로 전달해주는 기능입니다. DMZ는 모든 포트를 특정 PC로 개방해주는 기능이고, Twin IP는 내부 PC에 공인 IP를 할당하는 방식인데 보안상 취약하기 때문에 사용해보지 않아서 자세히는 잘 모르겠습니다.

어쨌든 이 포트포워딩 기능을 이용해서 가령 "3389 포트로 들어오는 패킷은 1번 PC로 전달해라" 라는 규칙을 만들면 외부에서 3389 포트로 접속시 1번 PC로 접속할 수 있습니다.

포트포워딩에 대한 설명은 이정도면 충분하다 생각하고, 이제 VMware 이야기를 해보겠습니다. VMware Workstation을 설치하여 가상 PC를 생성하면 기본적으로 네트워크는 NAT 설정이 됩니다.


따라서 VMware의 NAT 환경 역시 공유기와 동일한 상태가 됩니다. 아무런 설정을 하지 않으면 제 PC에서 VMware의 가상 PC로는 접속할 수 있지만, 외부에서 제 PC 안에 있는 가상 PC로는 접속할 수 없습니다.

만약 외부에서 제 PC에 있는 VMware 가상 PC에 접속하고 싶다면 어떻게 해야 할까요? 마찬가지로 포트포워딩 기능을 설정하시면 됩니다. VMware의 NAT에도 공유기처럼 똑같이 포트포워딩 기능이 있습니다.


위 그림과 같이 설정했다면 제 PC로 3389 포트 접속시 192.168.1.10 IP를 가진 가상 PC로 연결될 것입니다. 물론 제 PC에서 3389 포트는 윈도우 방화벽 예외 설정에 들어있어야 하겠죠.

그런데 이 VMware의 포트포워딩 기능은 사실 공유기를 사용하시는 환경이라면 굳이 필요가 없습니다. 오히려 복잡하기만 합니다. 왜냐하면 IP 변환이 두번 일어나기 때문이고, 포트포워딩 설정도 이중으로 해야 하기 때문입니다. 집에 공유기를 사용하시는 분들은 VMware 가상 PC의 네트워크 환경을 Bridged로 설정하시는게 더 낫다고 생각합니다. Bridged로 설정하면 공유기가 부여하는 IP가 직접 가상 PC에 할당되기 때문입니다. 즉 내 PC와 가상 PC가 동일한 위치의 네트웍에 속하게 되고, 포트포워딩도 공유기에서만 한번 설정해주면 되기 때문입니다.

사실 집에서 가상 PC를 띄워놓고 외부에서 가상 PC로 접속할 일은 거의 없으리라 생각합니다만, 이런 기능이 있다는 정도만 참고하시면 되겠습니다.