GNU/Linux >> Linux の 問題 >  >> Linux

Linux – Linuxカーネル3.2.0-23のルーティングテーブル「220」-汎用?

カーネル3.2.0-23-genericを備えたLinuxマシンを持っています また、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:~# 

このルールがどこから来たのかを知ることは可能ですか?空のルーティングテーブルのポイントは何ですか?最後になりましたが、同じ優先度を持つ複数のルールがどのように存在するのでしょうか?

承認された回答:

このルールがどこから来たのかを知ることは可能ですか?

「このルールのソースをどこで検索できるか」という意味ではありません。
問題を調査する方法はいくつかあります。最も明白なのはgrepです。 システム上のすべての起動スクリプトで、ip ruleを使用しているものを確認します まったく、そしてそれらを読み始めます。または、システムをシングルユーザーモードで起動し、straceを使用して、コマンドラインからサービスを1つずつ起動することもできます。 。または、bashでシステムを起動することもできます as init(カーネルコマンドライン:init=/bin/bash )、次に、実際の/sbin/initを実行できます。 straceを使用 。これらは起動アクティビティを追跡するためのかなり高度な方法であり、実行するスクリプトを知ることは簡単ではないかもしれません…

特定のルールが管理者であるかハッカーが手動で入力したものであり、システムに存在するスクリプトではない場合、特定のルールがどこから来たのかを知る方法はありません。

空のルーティングテーブルのポイントは何ですか?

何もありません–誰かがそのテーブルにデータを入力し始めるまで。これはデーモンである可能性があり、最初に独自のテーブルのルールを入力し、次に独自のルーティングテーブルの内容を動的に変更します。

同じ優先度のルールが複数あるのはどうしてですか?

IPROUTE2ユーティリティスイートのハウツー

priority PREFERENCE —このルールの優先度。各ルールには、明示的に設定された一意の優先度の値が必要です。優先度は符号なし32ビット数であるため、4294967296の可能なルールがあります。

警告!

歴史的な理由から、ip rule addは優先度の値を必要とせず、優先度の値を非一意にすることができます。ユーザーが優先度の値を指定しなかった場合、カーネルによって割り当てられました。ユーザーがすでに存在する優先度の値でルールの作成を要求した場合、カーネルは要求を拒否せず、のすべての古いルールの前に新しいルールを追加しました。同じ優先順位。これは現在の設計の間違いであり、それ以上のものではありません。これを読むまでに修正されるはずなので、この機能に依存しないでください。ルールを作成するときは、常に明示的な優先順位を使用する必要があります。


Linux
  1. Linuxカーネルテストのライフサイクル

  2. Linuxで静的IPアドレスを設定してルーティングテーブルを変更する方法

  3. Linux –ダンプページテーブルレイアウト(カーネル構成)?

  1. Linux –カーネル:名前空間のサポート?

  2. Linux –カーネルIP転送?

  3. Linux – Linuxの汚染されたカーネル?

  1. Linux – Iptablesを介したルーティング?

  2. Linux –異なるLinux / UNIXカーネルは交換可能ですか?

  3. Linux でルーティング テーブルを表示する方法