
私は、DMZ 内に 2 台の Linux ボックスを備えた Cisco ASA[0] を所有しており、Keepalived と HAproxy を、同じく DMZ 内にある別の 2 台の Windows サーバーの負荷分散フェイルオーバー ペアとして動作させています。Keepalived は正常に動作していると確信しています。DMZ 内の別のホストから仮想アドレス (10.0.1.8) に ping を送信できます。マスター (10.0.1.6) で Keepalived を停止すると、バックアップ (10.0.1.7) が仮想アドレスを引き継ぐ前に、ping が数回失敗します。マスターで Keepalived を再起動すると、同様の失敗が数回発生します。この別のホストは、プライマリまたはセカンダリのいずれかがアクティブな場合、HAProxy を介して 2 台の Windows サーバーでホストされている Web ページを表示できます。
仮想 IP アドレスには、外部アドレス (たとえば、1.2.3.8) への静的 NAT マッピングがあります。ファイアウォールの外側から同様のテストを試行すると、1.2.3.8 への ping はプライマリがアクティブな場合にのみ機能します。プライマリで Keepalived サービスを停止すると、ファイアウォールの外側からの ping は失敗しますが、DMZ の内側からの ping は成功します。
プライマリで Keepalived を停止して再起動すると、仮想 IP アドレスの MAC アドレス エントリが変わるのがわかります。つまり、ASA はプライマリとセカンダリがアクティブであることを認識しているようです。ただし、セカンダリがアクティブな場合は、着信トラフィックの NAT を拒否しているようです。おそらく ASA はアドレスのスプーフィングを防止しようとしているのでしょうが、この場合は ASA がスプーフィングを許可してくれるといいのですが。これを実現する方法 (または、どこから始めればよいのか) がわかりません。何か提案はありますか?
[0] - 実際にはフェイルオーバー構成のペアですが、関係ないと思います。