본문 바로가기

Network

[Network] VPN / Forward Proxy / Reverse Proxy 차이

 Forward Proxy vs Reverse Proxy

Forward Proxy는 client의 ip가 변경되는 것, Reverse Proxy는 server의 ip가 변경되는 것이라고 생각하면 된다.

 유튜브나 네이버 스포츠 영상을 볼 때 해외에서 접속하면 서비스 대상 국가가 아니라고 나오면서 영상을 못보는 경우가 많은데, (사용할 수 있는 ip가 국가별로 고정되어 있고, 이 고정된 ip 정보를 가진 테이블로 필터링) 이를 우회하기 위해 사용하는 것이 Forward Proxy이다. 즉, 우리나라에서 1.1.1.1 ~ 1.1.1.10까지 총 10개의 ip만 사용할 수 있다고 가정을 해보자. 내가 접속하려는 사이트 www.a.com의 ip는 1.1.1.10인데, 이 서비스는 해외에서는 접속할 수 없어야 하는 규정이 있어서 ip가 1.1.1.1 ~ 1.1.1.10 사이의 요청이 아니면 전부 에러를 발생시킨다. 현재 내가 사용하는 ip는 2.1.1.1이므로 해당 서비스에 접속이 불가능하다. 따라서 1.1.1.1 ip를 사용하는 서버에 내 request를 보내고, 1.1.1.1 ip를 사용하는 서버는 이 request를 전달받아 동일한 request를 1.1.1.10에 보낸다. www.a.com에서는 1.1.1.1에서 요청이 온 것으로 인식하기 때문에 서비스가 정상적으로 제공되고, 1.1.1.1은 받은 response를 그대로 나에게(2.1.1.1) 전달한다.

 Reverse Proxy의 경우 보통 LB를 생각하면 되는데, 내가 요청은 www.a.com에 하지만 실제 www.a.com은 1.1.1.9 ip를 사용하는 가짜 서버이고, request를 받은 1.1.1.9는 해당 request를 그대로 1.1.1.10에 전달한다. LB의 역할 뿐만 아니라 보안적으로도 의미가 있기 때문에 거의 모든 서비스를 제공하는 곳에서 Reverse Proxy 방식으로 서비스를 제공하고 있다고 생각하면 된다.

 

 VPN vs Proxy

구글링을 해보면 VPN과 Proxy에 차이에 묻고 답하는 글이 많은데, 내 생각에는 그냥 VPN은 Forward Proxy와 같다. 다만 VPN의 가장 큰 특징이 데이터가 암호화 된다는 것이므로 Forward Proxy가 VPN을 포함하는 더 큰 범주라고 생각하면 된다. 결국, 본질적으로는 같은데 그냥 Forward Proxy에 데이터 암호화 등 기능이 조금 더 붙어있는게 VPN이라고 생각하면 된다.

 요즘 재택근무를 할 때 VPN을 많이 사용하는데, 대부분 회사에서 사용하는 사내 시스템은 사내망에서만 접근이 가능하도록 되어있다. (위에 국가가 그냥 회사로 바뀐 것 뿐임 - 회사에서 사용할 수 있는 ip가 기록된 테이블이 있고 이를 체크함) 그래서 집에서 해당 시스템에 접속하려면 내 ip를 사내망 ip로 변경하는 작업이 필요한데 그것을 VPN이 해주는 것이다. VPN서버는 사용할 수 있는 사내망 ip를 정해놓고 사용자가 접속할 때 마다 유동적으로 사내망 ip를 부여하여 사용할 수 있게 해준다. (사용자 - 사내망 ip 매핑 테이블을 가지고 있으면서 고정 ip를 제공하는 경우도 있음)