네트워크

DNAT FLOW를 TCPDUMP로 확인해보자.

GEELL 2025. 3. 19. 16:19
728x90
반응형
SMALL

간단한 구성도를 통해서 DNAT의 FLOW를 확인해 보자.

구성도

DNAT란?

DNAT(Destination NAT)는 도착지 IP를 변경하는 방식으로, 외부에서 내부 IP를 직접 알지 못하도록 하여 보안성을 높이는 방법이다.

NAT의 종류로는 SNAT(Source NAT)와 DNAT이 있으며, DNAT은 주로 L4 스위치나 방화벽에서 사용된다.


DNAT에서 패킷 흐름

DNAT을 적용하면 클라이언트가 특정 VIP(Virtual IP)로 요청을 보내도, 실제로 내부 서버의 IP로 변환되어 전달된다.

이때, 패킷을 어디에서 보느냐에 따라 보이는 흐름이 달라진다.


TCPDUMP를 통한 DNAT 패킷 확인

클라이언트(10.10.10.5)가 서버(10.10.10.6)로 요청을 보낸다고 가정하자.

이 요청이 L4 장비를 통해 DNAT이 적용되면, L4에서 보이는 패킷 흐름은 다음과 같다.

  1. 클라이언트 → L4: 10.10.10.5 > 10.10.10.6
  2. L4 → 서버: 10.10.10.101 > 10.10.10.6
  3. 서버 → L4: 10.10.10.6 > 10.10.10.5
  4. L4 → 클라이언트: 10.10.10.101 > 10.10.10.5

이제 1번과 3번 패킷에서 의문이 들 수 있다.

"클라이언트는 VIP(10.10.10.101)로 요청했을 텐데, 왜 바로 10.10.10.6으로 가는 거지?"

이것은 L4 장비가 패킷을 내부적으로 변환했기 때문이다.

L4 장비는 요청을 받아 DNAT을 수행하지만, 변경된 VIP 정보는 TCPDUMP에서 보이지 않는다.
즉, 클라이언트는 10.10.10.101로 요청했지만, L4에서 변환하여 내부 서버(10.10.10.6)로 전달한 것이다.

이 과정은 응답 패킷에서도 마찬가지다.


결론

DNAT 환경에서는 패킷을 어디서 덤프 하느냐에 따라 보이는 정보가 다르다.
특히 L4 장비에서 SNAT 또는 DNAT을 수행하는 경우, 실제 변경된 IP는 패킷 캡처에서 확인되지 않을 수 있으므로 주의해야 한다.

TCPDUMP로 패킷을 확인할 때, VIP와 실제 서버 IP 간의 변환을 고려하여 분석하는 것이 중요하다.

 

 

 

728x90
반응형
LIST