이 포스트는 널널한 개발자님 강의를 참조하며 작성하였습니다.
VPN과 재택근무에 대해서 이야기 해보겠다. 저번 포스트에 이어서 위 그림의 왼편을 부산지사 오른편을 서울본사 PN이라 가정하자. 그런데 여기서 문제가 부산지사에 근무하는 철수가 코로나 시대로 인해서 재택근무를 한다고 가정하자. 철수의 집 IP는 9.9.9.9라고 가정하자. 그러면 철수 PC로 DB서버 접속이 가능할까? 당연히 서울본사SG가 차단할것이여서 접속이 안 될것이다. 그럼 어떻게 접속이 가능할까? 바로 VPN의 참가하는 방법으로 GtoE를 하는 것이다. 즉, 철수네 PC에 VPN Client 프로그램을 설치하는 것이다. 이 프로그램을 설치하면 자기 주소는 9.9.9.9인데 부산 SG 주소를 VPN Client 프로그램으로 접속하는 것이다. 그럼 이 SG가 VPN Client한테 자기가 속한 대역의 IP중 하나를 넘겨준다. 그게 3.3.3.40이라 가정하자. 그럼 철수네 PC는 IP주소가 2개가 되는 것이다. 그러면 철수가 집에서 접속을 하는데 원본 IP header의 src는 3.3.3.40 dst는 5.5.5.100이라고 철수 게이트웨이와 부산 SG가 터널링을 했다 가정하면 철수 PC에서 패킷이 넘겨올때 패킷 전체를 암호화시키고 새로운 IP header를 붙인다 그리고 이 새로 생긴 Outer IP header의 src는 9.9.9.9이고 dst는 3.3.3.1이 될 것이다. 그리고 이 패킷이 부산SG에 도착하면 Outer IP header를 제거하고 해당 암호화된 원본 패킷을 복호화한다. 그리고 이 패킷의 Dst를 보고 다시 암호화시킨 후 새로운 Outer IP header를 붙이는데 src는 3.3.3.1 dst는 5.5.5.1이 될 것이다. 그러면 이게 서울SG에 도착해서 Outer IP header를 제거하고 암호화된 패킷을 복호화한다. 그리고 DB서버에 전달한다. 이것이 전형적인 GtoE 방식이다.