クリーム色の背景、色付き表示、高コントラスト、大きな文字のほうが読みやすいですか?配色と文字を選ぶと、すべてのページに一度で反映されます。

無料レッスン

OSPF の基本

レッスン全文をここで読めます。無料アカウントを作成すると、実際のラボで実践できます。

仮想マシンラボ読了目安 8分コマンド5個

このレッスンでやること

ネットワークは、パケットを次へ渡すルーターと、パケットを送ったり受け取ったりするホストでできています。ここでは h1 と h2 がホスト、r1、r2、r3 が一列に並んだルーターです。ルーターは、OSPF(ルーターどうしが自分の表を共有するためのプロトコル)をオンにすると、互いに話し合って道を覚えます。2つ目のネットワークのラボを見て回り、通り抜けられないパケットを送って、その理由を調べます。直すところまではやりません。それはラボ自身の課題です。

はじめる前に

メモ

このレッスンの上のバーにある ラボを起動 を押します。このラボは、あなた専用の Ubuntu マシンまるごとで、その中に小さなネットワークが作られています。そのため、コンテナより立ち上がるまで少し時間がかかります。下の 実行 ボタンを押すと、コマンドがマシンのターミナルに順番に入力されます。マシンがまだ起動中と出たときは、数秒待ってからもう一度押してください。動きを見たり自分で入力したりするには、バーの ターミナルを開く(新しいタブ) を押します。

1. マシンを知る

ここにあるものは全部、あなたの Ubuntu マシン1台の中に作られています。ルーターもホストも、それぞれ別のネットワーク名前空間(network namespace:1台のマシンの中で、独立したネットワークを作る仕組み)で、それぞれ自分のアドレスを持っています。netlab status で一覧が出ます。r1、r2、r3 がルーターで、どれも OSPF のプログラム ospfd が動いています。to- で始まる名前はネットワークケーブルで、数字はアドレスです。

コマンド
netlab status

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

2. となりのルーターと話す

ここでは r1 が r2 に ping を送ります。同じケーブルにつながったとなりどうしは、ルーティングがなくても、いつでも話せます。

コマンド
sudo ip netns exec r1 ping -c 2 -W 1 10.0.12.2

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

3. ネットワークを横切ってみる

今度は、遠くのホスト 10.0.3.2 を呼んでみます。ping は小さなパケットを送って、答えを待ちます。何も通り抜けません。h1 のとなりのルーターが理由を伝えます。Destination Net Unreachable(宛先ネットワークに届かない)、つまり「そのネットワークへの道を知りません」です。

コマンド
sudo ip netns exec h1 ping -c 2 -W 1 10.0.3.2

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

4. OSPF がオンか聞く

プログラムは動いていますが、どのネットワークを共有するかは、まだ誰も教えていません。show ip ospf neighbor は、ネイバー(OSPF でつながったとなりのルーター)の一覧を表示します。答えは、OSPF がまだ有効になっていないことを示します。

コマンド
sudo vtysh -N r1 -c "show ip ospf neighbor"

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

5. ルーターの設定を読む

show running-config は、ルーターに今までに伝えられたことを全部表示します。今のところは、FRR(ルーター用のソフトウェア)のバージョン、初期設定、hostname の行だけで、router ospf の部分はありません。OSPF をオンにするとは、ここにそれを足すことです。

コマンド
sudo vtysh -N r1 -c "show running-config"

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

ラボに取り組もう

ヒント

パケットがどこで、なぜ止まるのかが分かりました。動くようにするのは、このラボの課題です。ターミナルで cat README.md と入力して、ホームフォルダーの README.md を開いてください。何をするかが書かれていますが、答えは書かれていません。

先生へ

ヒント

このレッスンは、ラボで進めるレッスンの小さな例です。手順と実行ボタンがレッスンで、ラボは生徒一人ひとりのコピーです。このレッスンは VM のラボで進めます。生徒一人ひとりが自分の Ubuntu マシンを持ち、その中にルーターが3台あります。ラボのチェックは、ネイバーが Full になるのを待って、完成したネットワークを採点します。ご自分のモジュールにコピーして変更するか、レッスンビルダーの ラボ メニューから最初から作ってください。

このラボとソースについて: OSPF のラボ:3台のルーターでダイナミックルーティングをブラウザーで立ち上げる

授業で教えていますか?これらのレッスンを生徒に割り当て、採点と生徒ごとのラボを使えます。