
Keepalived를 실행하는 DMZ의 Linux 상자 한 쌍과 역시 DMZ의 다른 Windows 서버 쌍에 대한 로드 밸런싱 장애 조치 쌍 역할을 하는 HAproxy가 있는 Cisco ASA[0]가 있습니다. 나는 Keepalived가 제대로 작동하고 있다고 확신합니다. DMZ의 다른 호스트에서 가상 주소(10.0.1.8)를 성공적으로 ping할 수 있습니다. 마스터(10.0.1.6)에서 Keepalived를 중지하면 백업(10.0.1.7)이 가상 주소를 인계받기 전에 몇 번의 핑이 실패합니다. 마스터에서 Keepalived를 다시 시작하면 비슷한 오류가 발생합니다. 이 다른 호스트는 기본 또는 보조 서버가 활성화된 경우 HAProxy를 통해 두 Windows 서버에서 호스팅되는 웹 페이지를 볼 수 있습니다.
가상 IP 주소에는 외부 주소(예: 1.2.3.8)에 대한 고정 NAT 매핑이 있습니다. 방화벽 외부에서 유사한 테스트를 시도하면 1.2.3.8에 대한 핑은 기본이 활성화된 경우에만 작동합니다. 기본에서 Keepalived 서비스를 중지하면 방화벽 외부의 핑은 실패하고 DMZ 내부의 핑은 성공합니다.
기본에서 Keepalived를 중지했다가 다시 시작하면 가상 IP 주소에 대한 MAC 주소 항목이 변경되는 것을 볼 수 있으므로 ASA는 기본 및 보조가 활성화되는 시기를 아는 것 같습니다. 그러나 보조 OS가 활성화되면 인바운드 트래픽 NAT를 거부하는 것으로 보입니다. 내 추측으로는 ASA가 주소 스푸핑을 방지하려고 시도하고 있는 것 같지만 이 경우에는 ASA가 이를 허용해줬으면 좋겠습니다. 이 작업을 수행하는 방법(또는 실제로는 어디서부터 시작해야 하는지)을 알 수 없습니다. 어떤 제안이 있으십니까?
[0] - 실제로 장애 조치 구성에서는 한 쌍이지만 관련성이 없다고 생각합니다.