例:他のネットワークへのゲートウェイを検出するための ICMP プロトコルの設定
この例では、IPv4ホストがサブネット上の運用ルーターのアドレスを検出できるように、ICMP(Internet Control Message Protocol)ルーターアドバタイズメントを設定する方法を示しています。ホストは、サブネット外に IP データグラムを送信する前にルーターを検出する必要があります。
要件
この例では、ローカル ネットワーク上のサーバーまたはクライアント コンピューターが RFC 1256 、ICMP ルーター検出メッセージをサポートしていることを前提としています。
概要
ホストが独自のサブネット外のホストにメッセージを送信するには、その前に、即時ルーターのアドレスを識別できるようにする必要があります。これは通常、起動時に設定ファイルを読み取り、一部のマルチキャスト ネットワークではルーティング プロトコル トラフィックをリッスンすることで行われます。RFC 1256をサポートするローカルネットワーク上のサーバーまたはクライアントコンピュータがデフォルトゲートウェイ(ルーター)を見つける必要がある場合、サーバーまたはクライアントコンピュータはICMPを使用してルーターの要求を送信します。RFC 1256 をサポートするホストは、マルチキャスト アドレス 224.0.0.2 で ICMP ルーター検出メッセージを送信します。RFC 1256をサポートするローカルネットワーク上のルーターは、ルーターのアドバタイズメントで即座に応答します。
オールルーター IP マルチキャスト アドレス 224.0.0.2 は、IPv4 が予約したローカル IP ブロードキャスト アドレスです。224.0.0.0/24(224.0.0.0 から 224.0.0.255)の範囲の IPv4 マルチキャスト アドレスは、ローカル サブネット用に予約されています。
ICMPルーター検出プロトコル(IRDP)は、ルーターのアドバタイズメントとルーター送信請求メッセージを使用して、ホストが即時ネットワークに接続されているルーターのIPアドレスを学習できるようにします。ホストが開始されると、即時ルーターのアドレスを確認するためにルーター要求メッセージを送信します。
RFC 1256 で指定された方法を使用して、すべてのホストがルーターの検出を実行するわけではありません。ホストで DHCP が有効になっている場合、ICMP ルーター検出を使用しない可能性があります。ルーター検出のパフォーマンスは、RFC 1541、 動的ホスト構成プロトコルで定義されているDHCPオプションの1つです。このオプションは、RFC 1256 で指定された ICMP ルーター検出方法を使用して、クライアントがルーターを要求するかどうかを指定します。1 の値は、クライアントがルーター検出を実行することを示します。0 の値は、クライアントが実行しないことを示します。
ルーターをルーター検出サーバーに設定するには、少なくとも以下のステートメントを設定に含める必要があります。その他のルーター検出設定ステートメントはすべてオプションです。
[edit] protocols { router-discovery; }
ルーターを ICMP ルーター検出用のサーバーとして設定するには、以下のステートメントを設定に含めることができます。
[edit] protocols { router-discovery { disable; address address { (advertise | ignore); (broadcast | multicast); (ineligible | priority number); } interface interface-name { lifetime seconds; max-advertisement-interval seconds; min-advertisement-interval seconds; } traceoptions { file filename <files number> <size size> <world-readable | no-world-readable>; flag flag <detail> <disable>; } } }
構成
手順
CLI クイック設定
この例を迅速に設定するには、次のコマンドをコピーしてテキスト ファイルに貼り付け、改行を削除し、ネットワーク設定に一致するために必要な詳細情報を変更してから、コマンドを階層レベルで [edit]
CLI にコピーアンドペーストします。
set interfaces ge-1/2/0 unit 6 description to-R2 set interfaces ge-1/2/0 unit 6 family inet address 10.0.0.6/24 set protocols router-discovery traceoptions file icmp-log set protocols router-discovery traceoptions flag all set protocols router-discovery interface ge-1/2/0.6 max-advertisement-interval 60 set protocols router-discovery interface ge-1/2/0.6 min-advertisement-interval 10 set protocols router-discovery interface ge-1/2/0.6 lifetime 120 set protocols router-discovery address 10.0.0.6 multicast set protocols router-discovery address 10.0.0.6 priority 900
手順
次の例では、設定階層のさまざまなレベルに移動する必要があります。CLI のナビゲーションの詳細については、『Junos OS CLI ユーザー ガイド』の「設定モードでの CLI エディターの使用」を参照してください。
ICMP ルーター検出を設定するには、以下の手順に応えます。
ネットワーク インターフェイスを設定します。
この例では、接続されたネットワークをシミュレートする複数のループバック インターフェイス アドレスを示しています。
[edit interfaces] user@R1# set ge-1/2/0 unit 6 description to-R2 user@R1# set ge-1/2/0 unit 6 family inet address 10.0.0.6/24
ルーター検出を有効にします。
[edit protocols] user@R1# set router-discovery
(オプション)ルーター検出のトレース操作を有効にします。
[edit protocols router-discovery] user@R1# set traceoptions file icmp-log user@R1# set traceoptions flag all
(オプション)アドバタイズメント間のIRDP最大間隔を設定します。
[edit protocols router-discovery] user@R1# set interface ge-1/2/0.6 max-advertisement-interval 60
(オプション)アドバタイズメント間のIRDP最小間隔を設定します。
[edit protocols router-discovery] user@R1# set interface ge-1/2/0.6 min-advertisement-interval 10
(オプション)アドバタイズメントが有効な IRDP 期間を設定します。
[edit protocols router-discovery] user@R1# set interface ge-1/2/0.6 lifetime 120
(オプション)IRDP アドバタイズメントに 10.0.0.6 IP アドレスを含めるルーターをオールホスト マルチキャスト アドレス(224.0.0.1)に設定します。
ルーターが IP マルチキャストをサポートし、インターフェイスが IP マルチキャストをサポートしている場合、 マルチキャスト はデフォルトです。それ以外の場合、アドレスはブロードキャスト ルーター アドバタイズメント パケットに含まれます。
[edit protocols router-discovery] user@R1# set address 10.0.0.6 multicast
(オプション)アドレスのプリファレンスをデフォルト ルーターに設定します。
このプリファレンスは、同じサブネット上の他のルーター アドレスのプリファレンスに対して相対的に設定されます。
[edit protocols router-discovery] user@R1# set address 10.0.0.6 priority 900
結果
設定モードから、and show protocols
コマンドを入力して設定をshow interfaces
確認します。出力に意図した設定が表示されない場合は、この例の設定手順を繰り返して修正します。
user@R1# show interfaces
ge-1/2/0 {
unit 6 {
description to-R2;
family inet {
address 10.0.0.6/24;
}
}
}
user@R1# show protocols
router-discovery {
traceoptions {
file icmp-log;
flag all;
}
interface ge-1/2/0.6 {
max-advertisement-interval 60;
min-advertisement-interval 10;
lifetime 120;
}
address 10.0.0.6 {
multicast;
priority 900;
}
}
デバイスの設定が完了したら、設定モードから commit と入力します。
検証
設定が正しく機能していることを確認します。
トレース ログの確認
目的
予想されるインターフェイスがメッセージを送信していることを確認します。
アクション
動作モードから、コマンドを show log icmp-log
入力します。
user@R1> show log icmp-log Mar 21 14:42:54 trace_on: Tracing to "/var/log/icmp-log" started Mar 21 14:42:54.409027 rdisc_ifa_change: Preference for address 10.0.0.6(ge-1/2/0.6) set to 900 Mar 21 14:43:33.983695 task_timer_uset: timer RouterDiscoveryServer_Group <Touched Processing> set to offset 22 at 14:43:16 Mar 21 14:43:33.984263 rdisc_server_timer: group ge-1/2/0.6 timer set to 22 Mar 21 14:43:55.985225 task_timer_uset: timer RouterDiscoveryServer_Group <Touched Processing> set to offset 37 at 14:44:10 Mar 21 14:43:55.985520 rdisc_server_timer: group ge-1/2/0.6 timer set to 37 Mar 21 14:44:32.986407 task_timer_uset: timer RouterDiscoveryServer_Group <Touched Processing> set to offset 39 at 14:44:44 Mar 21 14:44:32.986961 rdisc_server_timer: group ge-1/2/0.6 timer set to 39 Mar 21 14:45:11.987331 task_timer_uset: timer RouterDiscoveryServer_Group <Touched Processing> set to offset 10 at 14:44:42 Mar 21 14:45:11.987888 rdisc_server_timer: group ge-1/2/0.6 timer set to 10 Mar 21 14:45:21.990974 task_timer_uset: timer RouterDiscoveryServer_Group <Touched Processing> set to offset 23 at 14:45:34 Mar 21 14:45:21.991548 rdisc_server_timer: group ge-1/2/0.6 timer set to 23 Mar 21 14:45:44.992150 task_timer_uset: timer RouterDiscoveryServer_Group <Touched Processing> set to offset 45 at 14:46:06 Mar 21 14:45:44.992710 rdisc_server_timer: group ge-1/2/0.6 timer set to 45
意味
ログ出力は、IP アドレス 10.0.0.6 のプリファレンスが 900 に設定され、メッセージが ge-1/2/0.6 インターフェイスで送信されていることを示しています。