
カーネルを含むLinuxシステムがあります。3.2.0-23 - 一般また、RPDBには、「220」というルーティングテーブルを指す優先順位220のルールがあります。
T42:~# ip rule show
0: from all lookup local
220: from all lookup 220
220: from all lookup 220
32766: from all lookup main
32767: from all lookup default
T42:~# ip route show table 220
T42:~#
このルールがどこから来るのかわかりますか?空のルーティングテーブルのポイントは何ですか?最後に、同じ優先順位を持つ複数のルールがどのように存在できますか?
答え1
これはルーティングテーブルです。強い白鳥:
Linuxでは、StrongSwanはデフォルトでルーティングテーブル220にパスをインストールするため、カーネルはポリシーベースのルーティングをサポートする必要があります。
源泉:https://wiki.strongswan.org/projects/strongswan/wiki/IntroductionTostrongSwan
答え2
このルールがどこから来るのかわかりますか?
「このルールのソースをどこで見つけることができるか」という意味ではありません。この問題を調査する方法はいくつかあります。最も確実な方法は、grep
システム上のすべての起動スクリプトを見て、ip rule
どのように使用されているのかを確認してから読み始めることです。または、シングルユーザーモードでシステムを起動して使用することもstrace
できます。またはbash
、init(カーネルコマンドライン:)を使用してシステムを起動し、それをinit=/bin/bash
使用/sbin/init
して実際の操作を実行できますstrace
。これは開始アクティビティを追跡するための非常に高度な方法であり、実行するスクリプトを知ることは簡単ではないかもしれません。
システムに存在するスクリプトではなく、管理者やハッカーが手動でルールを入力した場合、特定のルールがどこから来たのかわかりません。
空のルーティングテーブルのポイントは何ですか?
何もありません。誰かがテーブルを埋め始めるまでです。これは、最初に独自のテーブルのルールを入力してから、独自のルーティングテーブルの内容を動的に変更するデーモンです。
同じ優先順位を持つ複数のルールを持つことはどのように可能ですか?
PREFERENCE --- このルールの優先順位です。各ルールには明確に設定された一意の優先順位の値が必要です。優先順位は符号なし32ビット数であるため、4294967296の可能な規則があります。
警告する!
歴史的な理由から、IPルールの追加に優先順位の値は必要なく、優先順位の値が一意でないことを許可します。ユーザーが優先順位値を指定しないと、カーネルは優先順位値を割り当てます。ユーザーがすでに存在する優先順位値を使用してルールの作成を要求すると、カーネルは要求を拒否せずに、そのルールの前のルールの前に新しいルールを追加します。優先順位は同じです。これは現在のデザインのバグであり、それ以上ではありません。この内容を読むと問題が解決するので、この機能に頼らないでください。ルールを作成するときは、常に明確な優先順位を使用してください。