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 참고 자료를 참조 바랍니다.