3

Linux (2.6.x) RPDB (Routing Policy DB) を使用して、以下に示すように、目的のソースの専用ルーティング テーブルを設定するソース アドレス ベースのルーティングを実装しています。

  1. 0: すべてのルックアップ ローカルから
  2. 32765: ソース IP アドレス ルックアップ テーブル ID から
  3. 32766: すべてのルックアップ メインから
  4. 32767: すべてのルックアップのデフォルトから

さらに、アプリケーションは raw ソケットを使用して ICMP エコー メッセージを生成します。問題は、'IP_HDRINCL' ソケット オプションが '1' に設定され、アプリケーションが送信元 IP アドレスと共に IP ヘッダー全体を構築すると、対応するルーティング テーブルがヒットせず、代わりにメイン ルーティング テーブルにヒットすることです。

ただし、IP_HDRINCL ソケット オプションを設定しないようにアプリケーションを変更し、raw ソケットに明示的にバインドしてソース アドレスを指定すると、目的のルーティング テーブルに正しくヒットします。

RPDB のソースベースのルーティング機能を利用できるようにするには、ソケットにバインドする必要があるようなものですか?

前もって感謝します!!

4

0 に答える 0