DB의 경우 Private IP를 이용하여 외부에서의 접근을 차단하는 형태로 구성한다. 그런데 만일 외부의 접속을 허용해야 하는 경우가 발생하면 어떻게 해야 할까? Public IP를 부여한다면 외부에 노출되므로 보안에 취약하게 된다. 이때 사용하는 것이 NAT Gateway와 Bastion Host 기술이다. 이 둘은 사설망의 구조를 유지시켜주면서 외부와 조건적으로 데이터 통신이 가능하게 해 준다.(Bastion Host은 다음에 자세히 알아보자.)
NAT Gateway(Network Address Translation)
네트워크 주소 변환은 IP 패킷의 TCP/UDP 포트 숫자와 소스 및 목적지의 IP 주소 등을 재기록하면서 라우터를 도애 트래픽을 주고받는 기술을 말한다. 대표적으로 사설 IP를 외부 인터넷과 통신하기 위해 쓰인다.
NAT를 이용하는 이유는 사설 네트워크에 속한 여러 개의 호스트가 하나의 공인 IP 주소를 사용하여 인터넷에 접속하기 위함이다. 즉 인바운드는 안되고(사설 IP로는 접속이 당연히 안되니까) 아웃바운드(사설 IP가 공인 IP로 바뀌어서)는 가능하도록 하는 기술이다.
간단한 예시를 들어보자
- 만일 사이트에 접속하고 싶다면 우리는 공유기에게 신호를 보낸다.
- 신호를 받은 공유기는 다음 순서를 따라 사이트에 요청을 보낸다.
- 먼저 요청받은 내부 IP(사설 IP)를 기록한다.
- 이를 공인 IP로 반환한다.(사설 IP로는 응답을 받을 수 없으니까)
- 이제 공유기는 요청을 공인 IP 주소로 사이트에게 요청을 보내고, 응답을 받는다. 이를 공유기는 다시 요청한 사설 IP로 응답을 라우팅 한다.
참고
'CS 공부 > 네트워크' 카테고리의 다른 글
보안 게이트웨이 (0) | 2023.07.09 |
---|---|
게이트웨이 (0) | 2023.07.05 |
DNS 에 대한 이해 (0) | 2023.04.20 |
HTTPS 동작 방식 (0) | 2023.02.11 |
세션과 JWT (1) | 2023.01.11 |