systemd-networkd を使用して、外部 IP からのすべてのトラフィックを KVM ゲストに直接ルーティングします。

systemd-networkd を使用して、外部 IP からのすべてのトラフィックを KVM ゲストに直接ルーティングします。

Debian Busterを実行する専用サーバーがあります。私は単一のネットワークインターフェイスを介して接続しており、サーバープロバイダに追加のIPを注文しました。

追加のIPを直接使用するKVMゲストを設定したいと思います。私はこの問題を検索し、ブリッジを使用するいくつかの方法を見つけました。ただし、ホストとゲストが同じシステムで実行されているという情報が漏洩するのを防ぐために、セカンダリIPアドレス(ゲスト)へのトラフィックがホストを通過しないようにしたいと思います。

私の考えではファイアウォールルールを使用することですが、私はiptablesの専門家ではなく、セキュリティ上の理由から誤って設定したくありません。

トラフィックをゲストに直接ルーティングし、ホストシステムに到達しないようにするための最良の戦略は何ですか?

スタックのイーサネットレベルでトラフィックをルーティングできますか?

ホストは、ネットワーク構成に Firewalld および systemd-networkd 単位ファイルを使用します。ホストIPと追加IPの両方が同じサブネットにあります。ゲストはDebian KVMマシンになります。

編集:トラフィックルーティングに関してホストファイアウォール(カーネルネットワークスタック)を通過し、ファイアウォールを通過したという手がかりを残さずにゲストにのみルーティングすることをお勧めします。これは、2番目のIPを介してホストのサービスが利用できないことを意味します。

答え1

ホストのソフトウェアブリッジは、ブリッジにホストIPを設定するだけで、この機能を提供できます。 (内部ブリッジポートに対応するゲストインターフェイスに追加のIPが設定されており、ホストには表示されません。)ブリッジはイーサネットレベル(L2)デバイスであり、IPレベル(L3)では別々のホップとして表示されません。ルーティング。

関連情報