본문 바로가기
Server

IP 주소 연결방식 : VIP, MIP, Policy-based

by ojava 2017. 12. 5.
반응형

아웃바운드 정책 변경으로 인해 한동안 너무 고생했다 ㅠㅠ

고생한 김에 DMZ 내부에 있는 IP와 외부용 IP가 어떻게 구성되는 지 알게되었으니

정리하면서 다시금 공부하고자 한다.

 

 

 

일단 IP 주소 연결방식에 대해 정리하기 전에 계속 언급되는 NAT의 의미부터 알아보자.

 

 

NAT (Network Address Translation)

외부 네트워크에 알려진 것과 다른 IP 주소를 사용하는 내부 네트워크에서 IP 주소를 변환하는 방식.

내부에서 사용되는 Private IP (사설 IP) 는 내부에서는 사용가능하나 외부에서 사용하는데는 제한이 있다. 이러한 내부용 IP를 노출하지 않으며 외부와의 통신을 하기 위해서 별도의 Public IP (공인 IP) 를 사용하게 되는데, 이 때 외부에 노출된 공인 IP로 들어오는 패킷을 사설 IP로 변환해주는 과정이 필요하다.

들어오고 나가는 패킷을 변환하는 과정에서 사용되는 것이 NAT이고 NAT 제어를 통해 패킷이 오고가는 내역을 제어할 수 있다.

 

간단하게 말해서 외부에 노출된 IP와 실제 내부에서 사용되는 IP를 맵핑시켜주는 역할이다.

 

 

 

 

 

이제 IP 주소를 연결시키는 방식 3가지에 대해서 알아보자.

 

VIP, MIP, DIP

 

 

 

 

1. VIP : Virtual IP

 

이 중 제일 많이들 들어봤을 방식이다. 나의 경우도, 세 가지 방식 중에서 유일하게 들어봤던 방식이 VIP였다.

외부에 노출되는 대표 IP에 운영되고 있는 내부 서버 IP를 여러개 맵핑시키는 방식으로, 가장 대표적으로 L4 스위치를 이용해서 여러 대의 서버를 이용한 서비스를 운영하는 경우 앞에서 사용자의 요청을 받아들이는 VIP가 있을 것이다.

 

예를 들어 WAS 서버를 3~4대 운영하고 있는 경우, 사용자가 특정 도메인을 통해서 서비스를 이용하게 된다.

이 도메인과 연결된 IP가 VIP로 내부 WAS 서버와 연결하는 역할을 해준다. L4 스위치 설정의 경우는 다음에 공부해서 포스팅 할 수 있는 기회가 생기길...

 

 

 

가상 IP (Virtual IP) 주소는 하나의 외부 IP 주소와 하나의 외부 포트를 내부의 여러 IP 주소 및 포트에 매핑할 수 있다.

 

1 (외부 IP 및 포트) : N (내부 IP 주소 및 포트

 

예를 들면 아래와 같다.

1.1.1.5:80 을 목적지로 하는 HTTP 패킷은 10.1.5.10의 웹서버에 매핑될 수 있고,

1.1.1.5:21 을 목적지로 가지는 FTP 패킷은 10.1.5.20의 FTP 서버에 매핑될 수 있다.

1.1.1.5:25 를 목적지로 가지는 SMTP 패킷은 10.1.5.30의 SMTP 서버에 매핑될 수 있다.

 

외부에서 접근하고 확인할 수 있는 목적지 IP 주소 (1.1.1.5) 는 동일하고 포트만 다르다.

여기서 목적지 대상이 되는 포트번호는 보안장치가 트래픽을 전달할 호스트를 결정한다.

 

 

 

2. MIP : Mapped IP

 

MIP는 하나의 외부 IP 주소를 내부 IP 주소로 간접적으로 1:1 연결하는 방식이다.

외부 IP인 Public IP와 내부 IP인 Private IP를 1:1로 맵핑하므로 Mapped IP로 불린다.

 

1 (외부 IP 및 포트) : 1 (내부 IP 주소 및 포트

 

대개는 내부서버와 같이 숨겨진 자원을 공개된 IP로 연결하는데 사용된다.

보안장치는 MIP로 들어오는 트래픽을 연결된 주소가 있는 호스트로 전달하는 역할을 해준다. 

 

 

 

3. Policy-based NAT-dst (DIP : Dynamic IP)

 

문장 그대로 해석하면 정책기반으로 NAT Destination IP Address를 변경해주는 방식이다.

하나의 목적지 IP 범위를 특정한 IP로 대체해주거나 (N:1) 또는 목적지 IP 범위를 또 다른 대역으로 대체하는 (N:M) 형태이다. 

 

위에서 설명했던 VIP, MIP와 좀 다른 방식의 IP 주소 연결방식인데

외부의 요청을 내부의 특정 서버로 연결할 수 있도록 하는 방식이 VIP, MIP였다면

[ 외부 Untrust Zone -> 내부 Trust Zone ]

 

Policy-based NAT의 경우는, 내부에서 외부로 내보내는 IP 주소를 설정한다.

[ 내부 Trust Zone -> 외부 Untrust Zone ]

 

 

Policy-based NAT에서는 대체하고자 하는 IP 대역의 범위 (Dynamic IP Address Pool) 가 정해져있어서 DIP 방식이라고도 한다.  

DIP는 나가거나 들어오는 IP 패킷의 원본 IP 주소 (요청을 보내는 Source IP) 에서 NAT를 수행할 때 장치가 동적으로 주소를 사용할 수 있는 IP 주소의 범위를 의미한다.

 

 

Dynamic IP Address Pool에는 세가지 유형의 인터페이스를 연결할 수 있다.

1) 네트워크 및 VPN 트래픽의 물리적 인터페이스

2) 네트워크 및 VPN 트래픽의 하위 인터페이스

3) VPN 터널만을 위한 터널 인터페이스

 

 

사실 DIP 방식은 잘 와닿는 방식은 아니다. 실질적으로 네트워크 담당자가 더 잘 알겠지.. ^_ㅠ

나는 그저 내가 확인해야 하는 것을 알기 위해서 공부하다보니 여기까지 왔을 뿐

 

 

 

해당 포스팅 관련 문서

 

Juniper Concepts & Examples ScreenOS Reference Guide

 

외부망으로 연결되는 아웃바운드 정책과 관련된 내용을 알아두었으니

향후에 업무로 인해서 소통할 때, 도움이 되기를 바래본다 ^0^

반응형