새소식

인기 검색어

개발일기

WAN에서 한 private network에 접근하는 방법

  • -

WAN에서 내 컴퓨터로 요청을 보낼 때는 내 컴퓨터가 사용하는 공유기의 Public IP로 접근하게 된다.

 

 

여기서 궁금증이 들었다. 만약 공유기 내에 있는 여러 머신들이 같은 포트의 애플리케이션을 열어놓게 된다면, 공유기에서는 내 컴퓨터가 외부에서 요청한 서버인 것을 어떻게 알아차릴 수 있을까?

 

답은 포트 포워딩(Port Forwarding)이다. 공유기는 사실 모든 머신들의 포트를 외부로 열어주지 않는다. 포트 포워딩이라는 설정이 되어야만 private network에 존재하는 특정 호스트의 특정 애플리케이션을 열어준다.

 

출처 : https://en.wikipedia.org/wiki/Port_forwarding

 

즉, 외부에서 어디로 접속하면 어떤 머신의 어떤 포트로 연결할지 매핑해 주는 역할이라고 볼 수 있다. private ip의 경우 외부에서 접근할 수 없기 때문에 외부에서 접근하려면 이러한 장치가 필요한 것이다.

 

머신A, 머신B에 각각 8080포트로 WAS를 열었다고 가정하자. 이때 공유기에서 80포트는 머신A의 8080포트를, 443포트는 머신 B의 8080포트를 포워딩하도록 설정해 놓는다면, 외부에서 80번으로 요청했을 때 A의 WAS에 접속하고 443으로 요청했을 때 B의 WAS에 접속하는 것이다.

 

 

이와 관련된 키워드로는 가상 네트워크 모드가 있다. 가장 보편적인 3가지 NAT, Bridge, Host-Only가 있는데 이 개념들도 알아두면 docker 등 나중에 네트워크 설정할 때 쓸모가 있다.

 

Bridge : 가상머신이 Host와 같은 네트워크에 존재하게 하고 싶은 경우에 사용하게 된다. 가상 NIC가 호스트의 Physical NIC에 연결되기 때문에 외부와 바로 연결될 수 있다.

 

출처 : https://co-no.tistory.com/3

 

NAT(Network Address Translation) : 가상머신 프로그램이 빌트인 DHCP 서버를 띄우고, 이 서버를 통해 외부 네트워크와 통신이 가능하다.

 

출처 : https://co-no.tistory.com/3

 

Host-Only : host와만 통신할 수 있는 형태의 네트워크 모드를 만든다.

 

출처 : https://co-no.tistory.com/3

 

출처

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.