接続を維持する仮想IPの背後にあるFreeRADIUS

接続を維持する仮想IPの背後にあるFreeRADIUS

Keepalived 仮想 IP の後ろにこの freeradius を実装するには少し難しいことがあります。この2段階認証サーバーに冗長性が必要なため、接続の維持が必要です。

RadiusはJuniper VPNで2段階認証プロセスを処理します。したがって、VPNが仮想IPでRadiusサーバーと通信しようとするまで、すべてがうまく機能します。 VPN は、keepalived によって設定された仮想 IP の Radius サーバーにアクセス要求を送信します。 Radius は、サーバーの物理 IP として Access-Challenge に応答します。ここでVPN接続が失われるため、ユーザーは認証できません。

Radiusに仮想IPを使用して応答させるにはどうすればよいですか?一部のパスを変更する必要がありますか?

ベストアンサー1

通常、VIP をこの方法で使用するには NAT を使用するため、パケットの宛先 IP が RADIUS サーバの内部 IP アドレスに書き換えられ、パケットの送信元 IP がルータのアドレスに書き換えられます。

Juniperでこの機能を設定できず、送信元/宛先IP整合性を使用してRADIUSサーバーにパケットを転送する方法を見つけた場合は、FreeRADIUSが応答するときに特定の送信元アドレスを使用するように強制できます。

まず、次のようにVIPをIPエイリアスとして追加する必要があります。https://support.kemptechnologies.com/hc/en-us/articles/203861685-Configuring-DSR

次に、仮想サーバー構成に次のコードを追加する必要があります。

server {
    post-auth {
        update control {
            Packet-Src-IP-Address := <VIP address>
        }
    }
}

これにより、FreeRADIUSから送信されたパケットのsrcアドレスがVIPと一致することが確認されます。

おすすめ記事