네트워크 엔지니어 & 개발자 로엘이

이전 포스팅에서 L4/L7 스위치에서 가장 많이 쓰이는 NAT 방식인 DNAT에 대해서 알아보았습니다.

간단히 되짚어 보면 DNAT는 클라이언트에서 L4/L7 스위치의 VIP로 유입된 패킷의 목적지 정보를 변경하여 전송되는 방식이고 클라이언트와 서버가 동일 VLAN에 위치한 경우에는 사용할 수 없는 제약사항을 갖습니다.

이번 포스팅에선 DNAT의 제약사항을 극복하기 위한 FNAT에 대해 알아보겠습니다.

로드밸런싱을 수행하는 L4/L7 스위치에 대한 전반적인 내용을 순차적으로 소개하고 있다.

소개될 포스트팅은 다양한 L4/L7 스위치 중 PumpkinNetworks의 장비를 기준으로 기술하기에

F5 Networks, Cirtix, A10 Networks, Alteon(Radware), Brocade, Piolink

장비와 다소 개념이 다르거나 용어가 다를 수 있다.

Full Network Address Translation(FNAT)

L4/L7 스위치의 NAT 방식 중에서 FNAT 모드는 Source, Destination NAT로서 클라이언트가 전송한 패킷의 출발지와 목적지 IP 주소를 모두 NAT 시키는 방식으로 클라이언트가 전송한 패킷의 목적지 IP 주소를 L4/L7 스위치의 VIP(가상 IP) 주소에서 서버의 IP로 변환하고 출발지 IP 주소를 Client IP 주소에서 L4/L7 스위치의 Proxy IP 주소로 변환하여 서버로 전송하고, 서버가 전송하는 응답 패킷의 출발지 주소를 서버의 IP주소에서 L4/L7 스위치의 VIP 주소로 변환하고 목적지 주소를 L4/L7 스위치의 Proxy IP 주소에서 Client IP 주소로 변환하여 클라이언트에 전송하는 역할을 수행한다.

위 그림은 NAT 모드로 설정된 L4/L7 스위치의 클라이언트와 서버 간 송수신되는 패킷의 출발지/목적지 주소가 변환되는 과정을 보여주는 그림이다. 이를 순서대로 살펴보면 다음과 같다.

 

1.L4/L7 스위치는클라이언트의 요청 패킷을 수신한다. 해당 패킷을 확인해 보면 DIP(Destination IP) 주소가부하 분산 서비스를 요청하는 VIP(Virtual IP Address) 주소인 것을 확인할 수 있다.

2. L4/L7 스위치는 클라이언트의 요청을 서버에 전달하기 위해 SMAC(Source Media Access Control)를 자신의 MAC으로 변경하고 NAT를 수행하여 Client IP주소를 Proxy IP 주소로 변환하고, DIP 주소와 DMAC(Destination Media Access Control) 주소를 서버의 IP와 MAC으로 변환한다.

3. 서버는 클라이언트의 요청을 처리한 이후 SIP(Source IP) 주소와 SMAC을 DIP주소와 DMAC으로 변환하여 전송한다.

4. L4/L7 스위치는 서버의 응답을 클라이언트에게 전달하기 위해 DMAC을 라우터의 MAC으로 변경하고 Reverse NAT를 수행하여 Proxy IP주소를 Client IP 주소로 변환하고, 서버의 IP주소와 MAC 주소를 L4/L7 스위치의 VIP주소와 VMAC 주소로 변경하여 전송한다.

 

클라이언트는L4/L7 스위치의VIP로 서비스를 요청하고 L4/L7 스위치가 NAT를 수행하기 때문에 외부에서는 서버의 IP 주소를 알 수 없다.

FNAT의 주의사항.

Proxy IP의 Port range

Proxy IP를 사용하기 때문에 DNAT의 문제였던 동일한 VLAN에서 부하 분산을 수행할 수 있는 장점을 갖는다. 하지만 NAT는 동일한 호스트인지 식별을 위해 Port 번호를 사용한다. Port 번호는 0~65535로 구성되어 있지만, 특수한 목적으로 사용하기 위해 지정된 Port 번호가 있기 때문에 65535개를 모두 사용할 수 없다. 사용 가능한 Port 범위를 확인하고 동시에 NAT를 시켜야 하는 세션이 사용 가능한 Port 수를 초과하는 경우엔 다수의 Proxy IP를 구성해야 한다.

서버의 Client 식별

FNAT는 SIP 주소를 L4/L7 스위치의 Proxy IP 주소로 변경하기 때문에 서버에서 클라이언트의 IP 주소를 알 수 없다.

결론

1. FNAT 모드는 패킷의 출발지와 목적지의 정보를 모두 변경하여 전송되는 방식이다.

2. FNAT 모드는 외부에서 서버의 IP 주소를 알 수 없는 장점이 있다.

3. FNAT 모드는 Proxy IP를 사용하기 때문에 세션량을 확인하여 Proxy IP의 수를 결정해야 하는 주의사항이 있다.

4. FANT 모드는 SIP 주소를 변경하기 때문에 서버에서 클라이언트의 IP 주소를 알 수 없다.

 

 

이번 포스팅에서는 L4/L7 스위치의 NAT 방식 중 DNAT의 한계점을 보안하기 위해 사용하는 FNAT에 대하여 알아보았습니다. 다음 포스팅에서는 Reverse NAT를 수행하지 않아 좋은 퍼포먼스를 발휘할 수 있는 DSR에 대하여 알아보겠습니다.

 

- 끝 -

728x90
반응형
250x250

공유하기

facebook twitter kakaoTalk kakaostory naver band