본문 바로가기

사는 이야기/펌킨도서관

NAC, IP 관리 솔루션이 있는 환경에서 L4/L7 스위치의 L3DSR 구성

L4/L7 스위치를 구성할 때 최선의 방법은 서버나 보안 솔루션 등 인접 장비의 설정에 손을 최대한 대지 않고 본연의 역할을 다할 수 있도록 하는 것입니다. 잘 운영되고 있는 프로덕션 환경에서 설정 변경만큼 부담스러운 것도 없기 때문이죠. 


관련해 이번 포스팅에서는 L4/L7 스위치를 설치하려고 들어가 보니 백본과 서버 사이에 NAC 장비나 IP 관리 솔루션이 자리 잡고 있을 때 발생할 수 있는 이슈와 해결책에 대해 소개합니다. 예제 구성은 FTP 서버 로드밸런싱을 위해 L4/L7 스위치를 L3DSR 구성으로 배치하는 것입니다. 이런 구성에서 서버와 백본 사이에 NAC이나 IP 관리 솔루션이 있으면 서비스가 안되는 경우가 생길 수 있습니다. L4/L7 스위치를 통해 변조한 IP와 클라이언트가 받아보는 IP 간의 불일치로 인해 생기는 현상입니다. 다음 표와 같은 트래픽 흐름을 보시죠. 


단계 

 출발지 IP

 목적지 IP

 1단계 (클라이언트 → L4/L7 스위치)

 30.10.10.50

 40.10.10.102

 2단계 (L4/L7 스위치 → FTP 서버)

 30.10.10.50

 10.10.10.12

 3단계 (FTP 서버 → 클라이언트)

 40.10.10.102

 30.10.10.50


3단계에서 IP 주소가 10.10.10.12에서 40.10.10.102로 바뀝니다. 이는 L3DSR 구성에 의해 소스 IP가 tc 명령 및 iptables에 의해 변환되는 것입니다. 일반적인 구성에서는 문제가 없지만 중간에 NAC이 있을 경우 문제가 될 수 있습니다. 가령 위 표의 3단계와 같이 서버에서 40.10.10.102로 출발지 IP를 변경하지만 서버의 MAC이 BB일 경우 NAC 장비의 정책 테이블에 의해 연결이 차단될 수 있습니다. 반면에 MAC이 AA일 경우 통신이 가능할 수 있습니다. 


다행이 L3DSR에서 패시브, 액티브 모두 가능합니다. 다음 그림을 보시죠. 



참고로 서버와 L4/L7 스위치 설정 없이도 서비스할 수 있는 방법이 없을까? 백본에서 정책 기반 라우팅, 즉,  PBR(Policy Based Routing)로 할 수 있습니다. 서버 엔지니어가 없다거나, 설정 변경을 원치 않는 경우 적당한 방법입니다. 참고로 정책 기반 라우팅은 목적지 주소 외에 소스 IP 주소나 TCP/UDP 포트 등 다른 필드를 참조해 패킷을 포워딩하는 기술입니다. 업체마다 부르는 용어가 조금 다를 수 있지만 내용은 대동소이합니다. 이를 적용했을 때 트래픽 흐름을 살펴 보시죠. 앞서 소개한 표는 3단계 처리 과정이었는데, 단계가 늘었습니다. 


단계 

 출발지 IP 

 목적지 IP 

목적지 포트

 1단계 

(클라이언트 → L4/L7 VIP)

 30.10.10.50

 40.10.10.102

 80

 2단계

(L4/L7에서 DNAT으로 VIP  → 서버 IP로 변환)

 30.10.10.50

 10.10.10.12

 80

 3단계 (서버  → 클라이언트)

 10.10.10.12

 30.10.10.50

 -

 4단계 (PBR)

BB 또는 L3 장비에서  PBR 정책 적용


소스 IP(출발지 IP) 10.10.10.1인 들어오는(ingress)  패킷에 대해서 Next hop gateway 주소를 L4/L7 스위치가  가지고 있는  관리용 IP나 통신 IP로  하여 패킷을  포워딩라는 의미입니다. 즉 , 소스 라우팅  처리 (PBR 적용)를 하는 것입니다. 


(Source network)       (netmask)             (next hop)

10.10.10.1              255.255.255.255         40.10.10.1

 5단계 (L4/L7  → 클라이언트)

 40.10.10.102

 30.10.10.50

 -


본 구성안에 대한 자세한 내용은 PBR 참고 자료를 참조 바랍니다.